﻿# Run

The cyoda-go packaging ladder — desktop, docker, kubernetes, and hosted Cyoda Cloud.

Cyoda runs on the tier that fits the job. Every packaging runs the same
application and the same workflow semantics; what changes is durability,
consistency guarantees, and operational cost. Pick your packaging by what
you need to operate, not by what your app needs to do.

## Pick your packaging

|                  | In-Memory | SQLite        | PostgreSQL       | Cassandra |
|------------------|-----------|---------------|------------------|-----------|
| **Desktop**      | ✓         | ✓ *(default)* |                  |           |
| **Docker**       | ✓         | ✓             | ✓                |           |
| **Kubernetes**   |           |               | ✓ *(production)* |           |
| **Cyoda Cloud**  |           |               |                  | ✓         |

## When to pick what

- **[Desktop](./desktop/)** — a single binary on a laptop or a small server.
  In-memory for tests; SQLite as the default durable store. Right for
  development, edge, IoT, and small-team self-hosting.
- **[Docker](./docker/)** — the same binary containerised. Use it for
  bespoke integrations, composition with other services, local PostgreSQL
  runs, and CI pipelines.
- **[Kubernetes](./kubernetes/)** — the production packaging for
  self-hosted clusters. Active-active stateless cyoda-go pods behind a load
  balancer with PostgreSQL as the only stateful dependency. Helm chart
  ships from cyoda-go.
- **[Cyoda Cloud](./cyoda-cloud/)** — a managed service backed by
  Cassandra. Right when you need enterprise-grade identity, multi-tenancy,
  and provisioning, and you do not want to operate the infrastructure.

## Moving between tiers

The application does not change when you move. That is the whole point of the
growth path: start on Desktop, containerise when integration demands it,
cluster when scale demands it, migrate to Cyoda Cloud when operating it no
longer pays for itself.

See [Digital twins and the growth path](/concepts/digital-twins-and-growth-path/)
for the decision framework.

## License and editions

Cyoda ships in three editions. Pick by how you want to consume it; the
application contract is the same across all three.

| Edition | License | Storage tiers | Status |
|---|---|---|---|
| **cyoda-go** | Apache 2.0 (OSS) | In-memory, SQLite, PostgreSQL | Generally available |
| **Cyoda Cloud** | Commercial (hosted service) | Cassandra-backed | Beta — test/demo only; commercial SLAs planned |
| **Enterprise** | Commercial (self-hosted) | Cassandra-backed | Available — contact sales |

The **cyoda-go** binary — everything in [Build](/build/) and
[Reference](/reference/) works against it — is Apache 2.0 and free to
use for development and production on the Desktop, Docker, and
Kubernetes packagings. The **Cassandra-backed** tier (horizontal scale
for write volume and distributed `async` search) ships two ways: as the
hosted **Cyoda Cloud** service, and as a self-hosted **Enterprise**
distribution under commercial license. Cyoda Cloud is currently a Beta
for test and demonstration; production workloads on the Cassandra tier
run under the Enterprise license today.