# Catalyst hosting

Diagrid Catalyst is built on the open-source [Dapr](https://dapr.io/) runtime and centralizes the Dapr deployment in a Kubernetes cluster — operated by Diagrid or by you — where it runs as a managed platform. Your applications connect to the Catalyst data plane, which handles workflow execution, state management, and distributed-application coordination, independently of where those applications run.

## Deployment models

Catalyst has four deployment models, from a fully managed cloud service to a fully air-gapped deployment. They differ in **where the Catalyst data plane runs** and **who operates it**:

| Deployment model | Control plane | Data plane | Operated by | Best for |
|------------------|---------------|------------|-------------|----------|
| [**Catalyst Cloud**](https://docs.diagrid.io/operate/hosting/catalyst-cloud) | Diagrid | Diagrid, multi-tenant | Diagrid | Evaluation and small-to-medium workloads, with zero setup. |
| [**Dedicated Cloud**](https://docs.diagrid.io/operate/hosting/dedicated-cloud) | Diagrid | Diagrid, single-tenant | Diagrid | Production workloads that need single-tenant isolation without operating infrastructure. |
| [**BYOC**](https://docs.diagrid.io/operate/hosting/byoc) | Diagrid | Your cloud | Diagrid or you | Data residency — application data must stay in your own network. |
| [**Enterprise Server**](https://docs.diagrid.io/operate/hosting/enterprise-server) | You | You | You | Regulated and defense environments with no external connectivity. |

[BYOC](https://docs.diagrid.io/operate/hosting/byoc) comes in two flavors: **[managed](https://docs.diagrid.io/operate/hosting/byoc/managed)**, where Diagrid provisions and operates the region inside your cloud account, and **[self-managed](https://docs.diagrid.io/operate/hosting/enterprise-self-hosted)**, where you deploy and operate the data plane on your own Kubernetes cluster.

Catalyst Cloud is available on a free plan; the other three models are part of Catalyst Enterprise. See [Plans & support](https://docs.diagrid.io/operate/plans-and-support).

Within any model, Catalyst isolates workloads using [regions](https://docs.diagrid.io/operate/platform-operations/regions) — data-plane clusters — and [projects](https://docs.diagrid.io/operate/platform-operations/projects), logical groups within a region. For [multi-region high availability](https://docs.diagrid.io/operate/platform-operations/multi-region), regions can also be joined into a region group, which runs one project across several regions so that it survives the loss of any one of them.

The diagrams below show where the control plane, the data plane (Dapr deployment plus Catalyst agent), and your applications run in each model.

### Catalyst Cloud

A shared, Diagrid-hosted control and data plane. Your applications connect over the public internet. Best for evaluation and small-to-medium development workloads.

```mermaid
---
title: Catalyst Cloud
---
flowchart LR
  subgraph Diagrid["<b style='color:#22613f'>Diagrid hosted</b><br/><span style='font-size:0.85em'>Multi-tenant deployment</span>"]
    direction LR
    CP("Catalyst<br/>control plane")
    subgraph DP["Catalyst data plane"]
      direction LR
      DAPR("Dapr<br/>deployment")
      AGENT("Catalyst<br/>agent")
    end
    CP<-->DP
    DAPR ~~~ AGENT
  end
  subgraph Customer["<b style='color:#ed8936'>Your environment</b>"]
    subgraph APPS["Your apps & agents"]
      direction TB
      C(Containers):::customerNode
      VM(Virtual Machines):::customerNode
      PM(Physical Machines):::customerNode
      SL(Serverless):::customerNode
      C ~~~ PM
      VM ~~~ SL
    end
  end
  DP<--"Internet"-->APPS

  style Diagrid stroke:#22613f,stroke-width:2px
  style Customer stroke:#ed8936,stroke-width:2px
  style DP stroke-dasharray:0,stroke-width:1.5px
  classDef customerNode stroke:#ed8936,stroke-width:2px
```

### Dedicated Cloud

A dedicated, single-tenant control and data plane managed by Diagrid. The topology mirrors Catalyst Cloud, but the platform is isolated to one customer and sized for production workloads. See [Catalyst Dedicated Cloud](https://docs.diagrid.io/operate/hosting/dedicated-cloud) for how to create one.

```mermaid
---
title: "Catalyst Dedicated Cloud"
---
flowchart LR
  subgraph Diagrid["<b style='color:#22613f'>Diagrid hosted</b><br/><span style='font-size:0.85em'>Single-tenant deployment</span>"]
    direction LR
    CP("Catalyst<br/>control plane")
    subgraph DP["Catalyst data plane"]
      direction LR
      DAPR("Dapr<br/>deployment")
      AGENT("Catalyst<br/>agent")
    end
    CP<-->DP
    DAPR ~~~ AGENT
  end
  subgraph Customer["<b style='color:#ed8936'>Your environment</b>"]
    subgraph APPS["Your apps & agents"]
      direction TB
      C(Containers):::customerNode
      VM(Virtual Machines):::customerNode
      PM(Physical Machines):::customerNode
      SL(Serverless):::customerNode
      C ~~~ PM
      VM ~~~ SL
    end
  end
  DP<--"Internet"-->APPS

  style Diagrid stroke:#22613f,stroke-width:2px
  style Customer stroke:#ed8936,stroke-width:2px
  style DP stroke-dasharray:0,stroke-width:1.5px
  classDef customerNode stroke:#ed8936,stroke-width:2px
```

### BYOC: Managed

Diagrid manages the control plane and provisions and operates the data plane inside your own cloud account, through a [cloud connection](https://docs.diagrid.io/operate/hosting/byoc/managed) you grant. Application traffic and data stay in your network, while Diagrid keeps operational responsibility for the region.

```mermaid
---
title: "Catalyst BYOC: Managed"
---
flowchart LR
  subgraph Diagrid["<b style='color:#22613f'>Diagrid hosted</b>"]
    CP("Catalyst<br/>control plane")
  end
  subgraph Customer["<b style='color:#ed8936'>Your cloud account & network</b>"]
    direction LR
    subgraph DP["Catalyst data plane<br/><span style='font-size:0.85em;color:#22613f'>Provisioned &amp; operated by Diagrid</span>"]
      direction LR
      DAPR("Dapr<br/>deployment")
      AGENT("Catalyst<br/>agent")
    end
    subgraph APPS["Your apps & agents"]
      direction TB
      C(Containers):::customerNode
      VM(Virtual Machines):::customerNode
      PM(Physical Machines):::customerNode
      SL(Serverless):::customerNode
      C ~~~ PM
      VM ~~~ SL
    end
    DAPR ~~~ AGENT
    DP<-->APPS
  end
  CP<-->DP

  style Diagrid stroke:#22613f,stroke-width:2px
  style Customer stroke:#ed8936,stroke-width:2px
  style DP stroke:#22613f,stroke-dasharray:0,stroke-width:1.5px
  classDef customerNode stroke:#ed8936,stroke-width:2px
```

### BYOC: Self-managed

Diagrid manages the control plane; the data plane runs inside your infrastructure, deployed and operated by you. Applications connect to the data plane over your private network, keeping application traffic and data local. See [Self-managed BYOC](https://docs.diagrid.io/operate/hosting/enterprise-self-hosted) for the full deployment workflow.

```mermaid
---
title: "Catalyst BYOC: Self-managed"
---
flowchart LR
  subgraph Diagrid["<b style='color:#22613f'>Diagrid hosted</b>"]
    CP("Catalyst<br/>control plane")
  end
  subgraph Customer["<b style='color:#ed8936'>Your infrastructure & network</b>"]
    direction LR
    subgraph DP["Catalyst data plane"]
      direction LR
      DAPR("Dapr<br/>deployment")
      AGENT("Catalyst<br/>agent")
    end
    subgraph APPS["Your apps & agents"]
      direction TB
      C(Containers):::customerNode
      VM(Virtual Machines):::customerNode
      PM(Physical Machines):::customerNode
      SL(Serverless):::customerNode
      C ~~~ PM
      VM ~~~ SL
    end
    DAPR ~~~ AGENT
    DP<-->APPS
  end
  CP<-->DP

  style Diagrid stroke:#22613f,stroke-width:2px
  style Customer stroke:#ed8936,stroke-width:2px
  style DP stroke-dasharray:0,stroke-width:1.5px
  classDef customerNode stroke:#ed8936,stroke-width:2px
```

### Enterprise Server

Both the control plane and the data plane run inside your infrastructure. No traffic leaves your network, which suits environments with strict regulatory or network isolation requirements. See [Catalyst Enterprise Server](https://docs.diagrid.io/operate/hosting/enterprise-server).

```mermaid
---
title: "Catalyst Enterprise Server"
---
flowchart LR
  subgraph Customer["<b style='color:#ed8936'>Your infrastructure & network</b>"]
    direction LR
    CP("Catalyst<br/>control plane")
    subgraph DP["Catalyst data plane"]
      direction LR
      DAPR("Dapr<br/>deployment")
      AGENT("Catalyst<br/>agent")
    end
    subgraph APPS["Your apps & agents"]
      direction TB
      C(Containers):::customerNode
      VM(Virtual Machines):::customerNode
      PM(Physical Machines):::customerNode
      SL(Serverless):::customerNode
      C ~~~ PM
      VM ~~~ SL
    end
    DAPR ~~~ AGENT
    CP<-->DP
    DP<-->APPS
  end

  style Customer stroke:#ed8936,stroke-width:2px
  style DP stroke-dasharray:0,stroke-width:1.5px
  classDef customerNode stroke:#ed8936,stroke-width:2px
```
