Kubernetes alternatives for teams without a platform team

The honest Kubernetes alternative for a two-person team is not another orchestrator — it is a deploy command. A managed control plane runs to $73 a month per cluster on Amazon EKS before a single pod runs — Google covers the first cluster with a monthly credit — and the expensive part is not the fee. It is the engineer who now owns ingress controllers, cert-manager, node upgrades, and a YAML tree nobody else can read. The realistic alternatives are a managed platform (Lizard, Railway, Render), a cloud container service (ECS with Fargate, Google Cloud Run), a lighter orchestrator (Nomad, Docker Swarm), or a deploy tool with no cluster at all (Kamal, Coolify).
Written 20 August 2026, against price lists published that week.
What Kubernetes actually costs
| Line | Amazon EKS | Google GKE |
|---|---|---|
| Control plane | $0.10 an hour — $73 a month per cluster | $0.10 per cluster an hour, all modes |
| Free allowance | None | $74.40 of monthly credit, roughly one cluster |
| Nodes | EC2 or Fargate rates on top | Compute Engine or Autopilot pod rates on top |
| Load balancer | An ALB or NLB per ingress, from about $16 a month | A Google load balancer, similar |
| The rest | Ingress controller, cert-manager, metrics, logging, a registry | The same list |
Two clusters — production and staging, which is the point of having them — is $146 a month before any workload exists. That number is fine. The one that is not fine is the third of an engineer it takes to keep the cluster healthy, which at any real salary dwarfs the infrastructure line.
When Kubernetes is still the right answer
This is not a Kubernetes-is-bad article. Keep it, or adopt it, when:
- You run enough services that bin-packing them onto shared nodes genuinely saves money.
- You need scheduling primitives that platforms do not expose — pod affinity, taints, custom schedulers, GPU topology.
- You are multi-cloud or on-prem, and portability is a real requirement rather than a slide.
- You have, or are hiring, someone whose job is the platform.
- Your organisation already runs it, and one more service is nearly free to add.
If none of those are true, everything below is cheaper in money and in attention.
Seven alternatives
1. A managed platform: Lizard, Railway, Render
The largest jump in simplicity. You deploy a service; the platform owns the scheduler, the routing, the certificates, and the hosts. There is no cluster.
Lizard runs each service as a long-lived process in its own Firecracker micro-VM — hardware isolation without pods, nodes, or a control plane to patch. lizard up builds from source or uses your Dockerfile, and lizard add postgres redis s3 puts the stateful pieces in the same project. Rates are $0.0278 per vCPU-hour and $0.0139 per GB-hour, billed by the second on measured use. lizard scale changes CPU and memory, and grows addon disk; lizard ssh --service <name> -- <cmd> runs a command inside the running VM.
All three are priced side by side in the best PaaS providers in 2026, and the category itself is explained in container as a service.
Best when: under about thirty services, one or two engineers, and no exotic scheduling. The catch: no custom schedulers, no CRDs, no service mesh. That is the point, and it is also the limit.
2. Amazon ECS with Fargate
AWS's own answer to "I want containers, not Kubernetes." Task definitions instead of pod specs, a scheduler you never see, and Fargate at $0.04048 per vCPU-hour and $0.004445 per GB-hour in us-east-1 — with no control-plane fee at all. ECS Express Mode, added at re:Invent 2025, creates the service, the load balancer, and the networking from one command, and shares one ALB across up to 25 services.
Best when: you are already in AWS and need the VPC. The catch: you still own an ALB, a VPC, and IAM. ECS is AWS-only, so portability goes. If you were expecting App Runner here, it stopped accepting new customers in April 2026.
3. Google Cloud Run
Containers with no cluster and no nodes, billed per request at $0.000024 per vCPU-second with 2 million requests a month free. Scale to zero is real: an idle service costs nothing.
Best when: stateless HTTP with bursty traffic. The catch: the Service is a request handler, not a process. Queue consumers and schedulers belong on Cloud Run worker pools, a separate resource that reached general availability in April 2026; Jobs covers batch work that runs and exits.
4. HashiCorp Nomad
The closest thing to Kubernetes that one person can operate. A single binary is both server and client, it schedules containers, plain binaries, and Java alike, and the job spec is HCL rather than a YAML tree.
Best when: you want real orchestration — bin-packing, rescheduling, rolling updates — without the Kubernetes ecosystem tax. The catch: a smaller community, and you still run the servers, the storage, and the networking yourself. Consul and Vault appear quickly once you want service discovery and secrets.
5. Docker Swarm
Built into Docker. docker swarm init, docker stack deploy with a Compose file, and you have overlay networking, service discovery, secrets, and rolling updates. Nothing new to learn if you already write Compose.
Best when: a handful of nodes, a team already fluent in Compose, and no appetite for a new vocabulary. The catch: development is quiet, the ecosystem is thin, and Raft consensus across managers — Docker recommends no more than seven — is what bounds a swarm in practice.
6. Kamal
37signals wrote Kamal to move their fleet off cloud Kubernetes and onto their own hardware, and by 2025 every 37signals application deployed through it. It is not an orchestrator: it SSHes into servers you already own, pulls your image, starts containers, and swaps traffic through its own proxy with zero downtime. One config file, no daemon, no cluster.
Best when: you own or rent the servers and want git-driven deploys without a control plane. The catch: no cluster-aware scheduling, no automatic failover between hosts, no service discovery. Deployment automation, not orchestration.
7. Coolify or Dokploy
A self-hosted PaaS on your own VPS. Coolify is Apache 2.0 with roughly 60,000 GitHub stars and a catalogue of over 280 one-click services; version 4.0 landed in April 2026, a read-only MCP server followed in 4.1 that May, and deployment control arrived in 4.3 in August 2026. Dokploy is the leaner alternative, built on Docker Swarm with first-class Compose support.
Best when: side projects, agencies running many small client apps, or anyone who wants a Heroku-shaped interface on a $12 server. The catch: you patch the host and you carry the pager.
Choosing in one table
| If your situation is… | Use |
|---|---|
| Two engineers, one product, a database and a worker | Lizard, Railway, or Render |
| Deep in AWS, need the VPC | ECS with Fargate, via Express Mode |
| Bursty stateless HTTP, quiet at night | Google Cloud Run |
| Real orchestration, one operator | HashiCorp Nomad |
| Already fluent in Docker Compose, a handful of nodes | Docker Swarm |
| You own the servers and want them full | Kamal |
| Many small apps on one cheap box | Coolify or Dokploy |
| Custom schedulers, CRDs, a mesh, a platform team | Keep Kubernetes |
Moving a small Kubernetes setup onto Lizard
A typical two-person cluster is a web deployment, a worker deployment, a Postgres StatefulSet or an RDS instance, a Redis, an ingress, and a cert-manager annotation. That maps cleanly:
npm i -g @lizard-build/cli
cd api && lizard up # the web Deployment
cd worker && lizard up --port 0 # the worker Deployment, no HTTP port
lizard add postgres redis # the StatefulSet and the cache
lizard domain api.example.com -s api # the Ingress and cert-manager
lizard secrets set STRIPE_KEY=... # the Secret
lizard scale -s api --cpu 2 --memory 4096 # requests and limits, memory in MB
Your existing Dockerfile is used as it stands. What disappears is the cluster: no control-plane fee, no node upgrades, no ingress controller, no cert renewal, and no YAML tree. What you give up is everything Kubernetes offers past that line — and if you needed those, you would be in the "keep Kubernetes" row above.
Deploy without a cluster
Free to start with $5 of credit and no card. Hobby is $5 a month.
Get started free → lizard.build/login
FAQ
What is the best alternative to Kubernetes? It depends on how much orchestration you actually need. For a small team shipping one product, a managed platform like Lizard, Railway, or Render removes the cluster entirely. For real scheduling with one operator, HashiCorp Nomad. For teams already fluent in Docker Compose, Docker Swarm. For deploying to servers you own, Kamal. Inside AWS, ECS with Fargate.
How much does Kubernetes cost? Amazon EKS charges $0.10 an hour for the control plane — $73 a month per cluster — and Google GKE charges the same $0.10 per cluster-hour in both Standard and Autopilot modes, offset by $74.40 of monthly free credit. Nodes, load balancers, and storage are extra. The larger cost is operational: someone has to own upgrades, ingress, certificates, and monitoring.
Do I need Kubernetes for a small app? Almost certainly not. Kubernetes earns its complexity when you are bin-packing many services onto shared nodes, need scheduling primitives platforms do not expose, or have a genuine multi-cloud requirement. One app with a database and a worker does not meet any of those, and every managed platform will run it in a single command.
Is Docker Swarm still maintained in 2026? Yes, it ships inside Docker and works, but development is quiet and the ecosystem around it is thin. It is a reasonable choice for a handful of nodes when your team already writes Compose files, and a poor choice if you need a large tooling ecosystem — its practical bound is the manager quorum, where Docker recommends no more than seven, rather than any documented worker-node ceiling.
What is Kamal and how is it different from Kubernetes? Kamal is a deploy tool from 37signals that SSHes into servers you already have, pulls your Docker image, and swaps traffic with zero downtime through its own proxy. There is no control plane and no cluster state. It does not schedule across hosts, fail over automatically, or provide service discovery — it automates deployment rather than orchestrating a cluster.
Can I run background workers without Kubernetes? Yes, and it is usually easier. On Lizard, Railway, Render, Fly.io, and Northflank a worker is a service with no HTTP port and the same deploy command as a web service. Nomad and Docker Swarm both schedule non-HTTP jobs natively. On Google Cloud Run a long-running consumer belongs on a worker pool, which has been generally available since April 2026, rather than on a Service.
Is a Firecracker micro-VM more secure than a Kubernetes pod? They isolate at different layers. Pods on a shared node share a kernel, so container escapes are a real class of bug. A Firecracker micro-VM has its own kernel and a hardware virtualisation boundary, which is the same model AWS Lambda and Fargate use. Kubernetes can reach the same place with Kata Containers or gVisor, at the cost of more moving parts.
Sources
Build with AI. Ship with Lizard.
You don't need a platform team to go live. Your whole cloud, one CLI command away.
No credit card required