> For the complete documentation index, see [llms.txt](https://docs.cybus.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cybus.io/deployment/choose-your-deployment-platform.md).

# Choose Your Deployment Platform

Compare Kubernetes and Docker to pick the right platform for your Connectware installation.

Connectware runs on Kubernetes or Docker.

* **Kubernetes**: production workloads, high availability, and environments where you already operate Kubernetes.
* **Docker**: protocol-mapper agent edge deployments, single-node installations, and evaluation setups.

## At a Glance

| Aspect                    | Kubernetes                                     | Docker                              |
| ------------------------- | ---------------------------------------------- | ----------------------------------- |
| **Deployment Complexity** | Higher. Requires a cluster.                    | Lower. Single-host setup.           |
| **High Availability**     | Built-in through node redundancy.              | Not available. Single-node only.    |
| **Scalability**           | Mix of horizontal and vertical scaling.        | Limited to vertical scaling.        |
| **Resource Requirements** | Higher. Multi-node infrastructure.             | Lower. Single-host system.          |
| **Management Tools**      | Helm, `kubectl`, and the Kubernetes ecosystem. | Docker Compose and the Docker CLI.  |
| **Learning Curve**        | Steeper. Requires Kubernetes knowledge.        | Gentler. Requires Docker knowledge. |

## Kubernetes

Kubernetes is the recommended platform for production Connectware deployments. The cluster architecture provides node redundancy and horizontal scaling for several core components, including the CybusMQ broker, NATS, the auth server, resource status tracking, and the topic explorer.

Kubernetes deployments also expose Prometheus metrics and include Prometheus Operator support for the NATS StatefulSet. Helm and standard Kubernetes tooling connect the deployment to your existing DevOps and GitOps workflows.

For system requirements, see [System Requirements](/deployment/installing-connectware/system-requirements.md#kubernetes-deployment).

## Docker

Docker is the right fit for protocol-mapper agent edge deployments and single-host installations, such as industrial PCs, gateways, and evaluation environments. Docker Compose keeps the whole configuration in a single `docker-compose.yml` file and starts up without a cluster.

For system requirements, see [System Requirements](/deployment/installing-connectware/system-requirements.md#docker-compose-deployment).

## Portability Between Platforms

Service commissioning files, connections, endpoints, and mappings behave identically on Kubernetes and Docker, so services run unchanged on either platform with one exception.

Services that use the platform-specific resources [`Cybus::Container`](/data-flows/service-commissioning-files/resources/cybus-container.md), [`Cybus::Volume`](/data-flows/service-commissioning-files/resources/cybus-volume.md), and [`Cybus::IngressRoute`](/data-flows/service-commissioning-files/resources/cybus-ingressroute.md) are tied to the platform they were written for and need adjustments before they run on the other one.

{% hint style="info" %}

## Offline Connectware installations

Offline installation is supported on both platforms. See [Offline Installation (Kubernetes)](/deployment/installing-connectware/offline-on-kubernetes.md) and [Offline Installation (Docker)](/deployment/installing-connectware/offline-on-docker.md).
{% endhint %}

## Next Steps

Once you have chosen a platform, follow the matching installation guide:

* [Installing Connectware on Kubernetes](/deployment/installing-connectware/on-kubernetes.md)
* [Installing Connectware on Docker](/deployment/installing-connectware/on-docker.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.cybus.io/deployment/choose-your-deployment-platform.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
