Kubernetes is the industry standard for container orchestration. It is also complex, resource-heavy, and overkill for many workloads. If you are running a handful of services for a small-to-medium product, the operational overhead of Kubernetes — etcd clusters, control plane management, YAML sprawl, networking plugins, RBAC configuration — may cost more in engineering time than it saves.
Here are container orchestration options for teams that need to run containers reliably without the full Kubernetes overhead.
When Kubernetes Is Overkill
Kubernetes makes sense when you have:
- Dozens to hundreds of microservices
- A dedicated platform or SRE team
- Complex scaling requirements (auto-scaling based on custom metrics)
- Multi-cloud or hybrid deployment needs
- Compliance requirements that mandate specific orchestration features
If you have 3-15 services, a small team, and deploy to one or two environments, simpler tools will likely serve you better.
Docker Compose (with Swarm Mode)
Docker Compose is what most developers already use for local development. What many do not realize is that Docker includes Swarm mode for production orchestration using the same Compose files.
How Swarm Works
Docker Swarm turns a group of Docker hosts into a single virtual host. You deploy services using docker stack deploy with your existing docker-compose.yml file. Swarm handles:
- Service distribution across nodes
- Rolling updates
- Health checks and restart policies
- Load balancing between service replicas
- Secrets and config management
Strengths
- Near-zero learning curve: If you know Docker Compose, you know 90% of Swarm
- Built into Docker: No additional software to install
- Simple networking: Overlay networks work out of the box
- Small footprint: Runs on modest hardware
Limitations
- Docker has officially shifted focus away from Swarm in favor of Kubernetes
- Smaller community and fewer integrations than Kubernetes
- Limited auto-scaling capabilities
- No built-in service mesh
Best for: Small teams already using Docker Compose that need basic production orchestration with minimal learning curve.
HashiCorp Nomad
Nomad is HashiCorp's workload orchestrator. It handles containers, VMs, binaries, and Java applications with a single tool. Unlike Kubernetes, which is containers-only, Nomad orchestrates anything.
Strengths
- Simple architecture: Single binary, no external dependencies. A Nomad cluster needs only Nomad — no etcd, no separate API server, no kubelet.
- Multi-workload: Run Docker containers, raw binaries, Java JARs, QEMU VMs, and more in the same cluster.
- Gradual adoption: Start with a single-node Nomad deployment and scale up as needed. No minimum cluster size.
- HashiCorp ecosystem: Integrates natively with Consul (service discovery), Vault (secrets), and Terraform (infrastructure).
- HCL configuration: HashiCorp Configuration Language is cleaner than YAML for many developers.
Example Job Spec
job "webapp" {
datacenters = ["dc1"]
type = "service"
group "web" {
count = 3
network {
port "http" { to = 8080 }
}
task "server" {
driver = "docker"
config {
image = "myapp:latest"
ports = ["http"]
}
resources {
cpu = 500
memory = 256
}
}
}
}
Limitations
- Smaller ecosystem than Kubernetes — fewer third-party integrations
- Service mesh requires Consul Connect (separate tool)
- BSL license (not fully open source since 2023)
- Fewer managed hosting options
Best for: Teams that run mixed workloads (not just containers) or want simpler orchestration with the flexibility to grow.
Kamal (by 37signals)
Kamal (formerly MRSK) is the deployment tool built by the team behind Basecamp and HEY. It deploys containerized applications to bare servers using SSH — no orchestrator needed.
How It Works
Kamal builds your Docker image, pushes it to a registry, then SSHs into your servers and runs the containers directly. It handles zero-downtime deployments using Traefik as a reverse proxy, switching traffic from old containers to new ones automatically.
Strengths
- Bare metal simplicity: Deploy to any Linux server with SSH access. No cluster to manage.
- Zero-downtime deployments: Traefik-based routing handles blue-green deployments automatically.
- Familiar model: If you have deployed with Capistrano, the mental model is similar.
- Cost-effective: Run on cheap VPS instances ($5–20/month) without managed Kubernetes overhead.
- Kamal 2: Released in 2025, Kamal 2 added proxy mode (replacing Traefik with kamal-proxy), faster boots, and simplified multi-app deployments on shared hosts.
- Configuration: Simple YAML configuration in
config/deploy.yml.
Limitations
- No auto-scaling — you manage server count manually
- No built-in service discovery for microservices
- Limited health checking compared to orchestrators
- Best suited for monolithic or simple multi-service architectures
Best for: Teams deploying web applications to VPS/bare-metal servers who want simple, reliable deployments without an orchestrator.
Docker Compose with Managed Hosting
Several platforms now offer managed container hosting using Docker Compose files directly:
Railway
Railway deploys applications from Git repositories with automatic container building. It handles scaling, networking, and persistence without requiring any orchestration knowledge.
Pricing: Pay-as-you-go based on resource usage. Hobby plan at $5/month. Pro plan at $20/month with team features.
Fly.io
Fly.io runs your containers on their global edge network. Deploy with a simple fly deploy command. According to the platform, it handles load balancing, TLS, and auto-scaling across regions.
Pricing: Free tier with limited resources. Pay-as-you-go from $0.0035/hr per shared CPU. Launch plan at $29/month for production workloads.
Render
Render deploys Docker containers with automatic scaling, managed databases, and built-in CI/CD. According to the company, it aims to be the simplicity of Heroku with modern infrastructure.
Pricing: Free tier for static sites. Service plans from $7/month.
Coolify
Coolify is an open-source, self-hosted alternative to platforms like Heroku, Netlify, and Vercel. It deploys applications, databases, and services to your own servers with a polished web UI. In 2026, Coolify v4 added multi-server support, one-click service templates, and improved Docker Compose integration.
Pricing: Free and open source. Optional cloud-hosted version from $5/month.
Comparison
| Feature | Docker Swarm | Nomad | Kamal | Managed (Railway/Fly) | Coolify |
|---|---|---|---|---|---|
| Setup complexity | Low | Medium | Low | Very low | Low |
| Learning curve | Very low | Low–Medium | Low | Very low | Low |
| Auto-scaling | Limited | Yes | No | Yes | No |
| Multi-workload | Containers only | Any | Containers only | Containers only | Containers only |
| Managed option | No | HCP Nomad | No | Yes (by design) | Self-hosted only |
| Cost | Infra only | Infra only | Infra only | Pay-per-use | Free + infra |
| Best scale | Small–Medium | Medium–Large | Small–Medium | Small–Medium | Small–Medium |
Decision Guide
Choose Docker Swarm if:
- You already use Docker Compose and want the simplest path to production
- Your team is small and does not want to learn new tools
- You need basic orchestration without external dependencies
Choose Nomad if:
- You run mixed workloads (containers + binaries + VMs)
- You use or plan to use other HashiCorp tools (Consul, Vault, Terraform)
- You want simpler orchestration that can grow to large scale
Choose Kamal if:
- You deploy a web application (monolith or simple multi-service)
- You want to use cheap VPS servers without managed Kubernetes
- You value simplicity and deploy via SSH
Choose managed hosting if:
- You do not want to manage infrastructure at all
- Your application fits within the platform's constraints
- You prefer pay-per-use pricing over fixed infrastructure costs
Choose Coolify if:
- You want a Heroku-like experience on your own servers
- You prefer a web UI for deployment management
- You need to deploy both applications and databases from one interface
Choose Kubernetes if:
- You have 50+ services and a platform team to support them
- You need advanced features (custom operators, service mesh, multi-cluster)
- Your organization has standardized on Kubernetes
The Bottom Line
Kubernetes is not the only option, and for many teams it is not the best option. Docker Swarm gives you orchestration with near-zero learning curve. Nomad offers flexibility and simplicity with room to grow. Kamal provides dead-simple deploys to bare servers. Managed platforms eliminate infrastructure entirely. Match the tool to your actual requirements, not to what the largest tech companies use.
Frequently Asked Questions
Is Docker Swarm still supported in 2026?
Yes, Docker Swarm is still included in Docker Engine and receives maintenance updates. However, Docker's development focus has shifted to other areas, and the Swarm feature set has not seen major additions since 2022. It remains a viable option for small-scale deployments where simplicity is the priority. For teams starting fresh, Kamal or managed platforms may be better long-term bets given their active development momentum.
Can Kamal replace Kubernetes for production deployments?
Kamal can replace Kubernetes for teams running a small number of services (1-10) on VPS or bare-metal servers. It handles zero-downtime deployments, rolling restarts, and multi-server deployments well. It does not provide auto-scaling, service mesh, or custom resource definitions — features that larger organizations depend on. If your application fits a monolith or simple multi-service architecture and you deploy to a known set of servers, Kamal is a production-ready alternative that dramatically reduces operational complexity.
What is the cheapest way to run containers in production?
The cheapest approach is Kamal deploying to a $5-20/month VPS from providers like Hetzner, DigitalOcean, or Vultr. You get a full Linux server with Docker, zero-downtime deployments, and no platform fees — just the server cost. For teams that want zero infrastructure management, Railway's hobby plan ($5/month) and Fly.io's pay-as-you-go pricing are cost-effective managed alternatives. Kubernetes — even managed — is typically the most expensive option due to control plane costs and minimum node requirements.
Is HashiCorp Nomad still open source?
Since 2023, Nomad uses the Business Source License (BSL), which allows free use for most purposes but restricts offering Nomad as a competing managed service. For internal use, development, and production deployments, the license change has no practical impact. The source code is publicly available and you can run it freely. If you need a fully open-source orchestrator, consider OpenNomad (a community fork) or stick with Docker Swarm, which remains under the Apache 2.0 license.
Recommended Reading & Gear
Go deeper on container deployment:
- Docker Deep Dive by Nigel Poulton — solid foundation on containers before you pick an orchestrator, covering networking, storage, and security
- Cloud Native DevOps with Kubernetes by John Arundel & Justin Domingus — understand Kubernetes well enough to know when you do and don't need it
- Beelink Mini PC (16GB/500GB) — quiet, low-power homelab box perfect for running Docker Swarm, Nomad, or Kamal test environments