# Deployment Modes
## Local experimentation
Recommended backend:
- `in_memory` for quick local request/validation testing.
Characteristics:
- No persistence: data is lost on process restart.
- Single-process state only.
- Not suitable for horizontal scaling or replica failover.
- Supports replay and watch in-process, limited by local memory retention.
- For local JetStream testing, see [Installation: Local JetStream](./installation.md#local-jetstream-docker).
- For a quick end-to-end behavior check, see [Getting Started: Run the Smoke Test](./getting-started.md#run-the-smoke-test).
## Production-like / persistent mode
Recommended backend:
- `jetstream`
Characteristics:
- Durable message storage.
- Retention and size limits.
- Replica support (requires clustered NATS setup).
- Supports replay and live streaming workflows.
Recommended packaging/deployment for Kubernetes:
- Helm chart: <https://github.com/ecmwf/aviso-chart>
## Selection guideline
- Need persistence/replay/streaming robustness: use `jetstream`.
- Need fastest setup for local functional checks only: use `in_memory` (node-local replay/watch).