Skip to main content

Diagrid Catalyst

Diagrid Catalyst is a suite of unified APIs and services for building secure, reliable, observable applications. Developing applications using a cloud-native approach comes with both benefits and challenges; the growth in software tooling, languages and platforms for building distributed applications has led to a high-degree of fragmentation that manifests through:

  • Technology Sprawl & Repetitive Boilerplate Code from using countless libraries, SDKs, and frameworks not only wastes developer cycles as but introduces potential errors, resulting in unreliable code with a higher likelihood of software bugs.

  • Lock-in forces technology choices to become a drawn-out, risky, and resource-intensive endeavor while crafting a multi-cloud application is equally as time-consuming.

  • Increased Attack Surface due to higher code volumes makes applications more susceptible to breaches, potentially compromising the software supply chain and undermining overall application security.

Using Diagrid Catalyst, developers can achieve freedom from fragmentation. The Catalyst APIs codify distributed application best practices while reducing overall code sprawl, leading to:

A Unified Approach to application development allowing developers to streamline application logic, eliminating the need to juggle multiple frameworks or services across any language and cloud.

Elimination of Complexities by abstracting the infrastructure details from the code base, ensuring a reduced learning curve for developers, safeguarding against vendor lock-in and making microservices patterns transferable across clouds.

Built-in Reliability and Security features with zero-trust principles such as default resiliency policies, inherent application identity and access control mechanisms.

Product Overview

Powered by the Distributed Application Runtime (Dapr), developers can utilize a variety of software patterns via the Catalyst APIs:

  • Secure, reliable asynchronous communication between decoupled services
  • Resilient, cross-platform service discovery and invocation
  • Long-running durable workflow orchestration
  • Application state persistence
  • Event-driven systems
  • Saga, or multiple service transactions
  • Integration with existing apps or 3rd-party systems using binding connectors
  • Polyglot microservices apps

Concepts

Your code running on any cloud or on-premises

Catalyst APIs can be accessed by applications running on any combination of compute platform. This flexibility allows teams to deploy multi-cloud workloads and to leverage the cloud service which best meets the demands of a given workload.

Catalyst APIs

The Catalyst APIs conform to the Dapr open-source standard and can be accessed via native HTTP/gRPC clients or Dapr client SDKs. Catalyst currently provides the following APIs:

  • Pub/Sub API: Implements a loosely coupled messaging pattern where "publisher apps" publish messages to a topic, to which "subscriber apps" subscribe.
  • Key/Value API: Provides persistent state store access.
  • Request/Response API: Enables applications to discover, communicate and invoke endpoints across clouds, regions and compute platforms using built-in identity.
  • Workflow API: Enables long-running, stateful and fault-tolerant applications or data flows that orchestrate business processes.
  • Bindings API: Invoke external services from your application or trigger application logic based on events from an external cloud or on-premises service.

Your backing services. Your choice of infrastructure

The Catalyst APIs can be called from applications regardless of language, framework, packaging mechanism or hosting platform, yet there is another important abstraction provided by the flexible Catalyst APIs at the infrastructure level. Consider the infrastructure dependencies required to implement each of the following patterns:

  • Pub/Sub messaging: Message broker
  • Key/Value management: Key/Value data store
  • Workflow orchestration: Workflow data store
  • Input/Output bindings: External service to output or receive events from

The Catalyst APIs allow you to remove these direct dependencies from your application code, creating a consistent interface to backend infrastructure. Through the concept of Connections, you can connect to many different infrastructure providers to power the Catalyst APIs.

In addition to supporting external cloud infrastructure connections, Catalyst also provides easy-to-use, Diagrid-hosted infrastructure services which eliminate the overhead of deploying and managing message brokers and state stores.

Using your code and infrastructure with Catalyst APIs

Catalyst allows you to create "projections" of applications and infrastructure services. These projections act like "digital twins" and mirror your applications and infrastructure services, on which you can apply access policies, authentication, permissions, resiliency and more.

There are two resource projection types in Catalyst:

  • Application Identities or App IDs to represent your external application workload
  • Infrastructure Connections to represent a connection to a backing infrastructure service

Projections

Next steps

To dive deeper into concepts related to connecting your code and infrastructure to Catalyst, visit the following docs: