Do You Actually Need Kubernetes
08 Sep 2026Kubernetes solves problems most small teams don’t have yet, and creates a few they definitely didn’t have before. Here’s how to tell which side of that line you’re on.
The honest signals you need it
- You’re running dozens of services that need independent scaling, and you’re already spending real engineering time coordinating deploys between them manually.
- You have workloads that genuinely need to scale from zero to hundreds of instances within minutes, repeatedly, not hypothetically.
- You have a platform team, or you’re about to have one — someone whose job is the cluster, not a side responsibility bolted onto whoever’s free.
- You need multi-region or multi-cloud portability as a real requirement, not a “someday” preference.
If two or more of these are true today, Kubernetes is probably earning its complexity.
The signals you don’t, yet
- You’re running fewer than ten services, or one team ships one deployable most weeks.
- Your traffic is predictable enough that a couple of fixed-size VMs handle it with headroom.
- Nobody on the team has run a cluster in production before, and you don’t have budget to hire someone who has.
- You picked it because it’s what “real” companies use, not because of a specific scaling or orchestration problem you’re hitting today.
That last one is the most common reason small teams end up here, and the most avoidable. Kubernetes is not a maturity signal, it’s a tool for a specific class of operational problem.
What it actually costs you
- A control plane to run or pay for, plus the nodes, plus the ongoing patching of both.
- YAML sprawl: deployments, services, ingress, configmaps, secrets, RBAC, network policies — a simple app easily needs 6-8 manifest files before it does anything a single
docker-compose.ymlwouldn’t have done in one. - On-call surface area. A misbehaving pod scheduler, a stuck PVC, a networking plugin issue — these are failure modes that don’t exist until you adopt the orchestrator that introduces them.
- The learning curve tax on every new hire who hasn’t used it before, which at a small company is most of your hires.
None of this is unmanageable at scale. All of it is dead weight for a five-service app run by three engineers.
The simpler options that cover most of the same ground
| Need | Simpler alternative |
|---|---|
| Run containers, auto-restart on crash | Docker Compose + a process supervisor, or Docker Swarm |
| Zero-downtime deploys | A PaaS (Fly.io, Render) or Swarm’s rolling update policy |
| Scale a service under load | A managed autoscaling group behind a load balancer |
| Multiple environments (staging/prod) | Separate VMs or projects, not namespaces in one cluster |
| Secrets management | Your cloud provider’s secrets manager, no cluster required |
Docker Swarm in particular covers the “I want orchestration, not a full platform” gap — rolling updates, service discovery, and multi-node scheduling, with a fraction of the operational surface.
If you’re already on it and it’s too much
Migrating off Kubernetes is real work, so don’t do it reflexively just because this post resonated. But if your cluster runs five services on three nodes and every engineer dreads touching the Helm charts, that’s a signal worth acting on — not a permanent cost of doing business.
The gotcha
The question isn’t “can Kubernetes do this” — it can do almost everything. The question is whether your team’s current size and skill can absorb its operational cost without that cost eating time you’d rather spend on the product. If you’re not sure, you probably don’t need it yet — the teams that genuinely need it aren’t asking the question, they’re already underwater without it.