Kubernetes has become the default answer to 'how should we run our services in production'. But for most SMEs — teams with fewer than 50 engineers, single-region deployments, and workloads that peak at hundreds rather than thousands of requests per second — it's likely the wrong answer.
This isn't a hot take. It's a question of complexity budgets. Every engineering decision has a maintenance overhead. Kubernetes is a powerful system with significant operational complexity. That complexity is worth paying if you're extracting the value it provides. Most SMEs aren't.
What Kubernetes is actually solving
Kubernetes earns its complexity when you have: (a) multiple independent services that need to scale independently, (b) strict requirements for zero-downtime deployments, (c) teams running services in multiple regions, or (d) a dedicated platform team to manage the cluster.
If you have one or two services, deploy them to the same region, have a small DevOps team, and your scaling requirement is 'survive a 5x traffic spike during campaigns', then Kubernetes is almost certainly over-engineered for your situation.
What to use instead
For most SMEs, the right answer is a managed container service with simple autoscaling:
- AWS ECS + Fargate: Serverless containers, no cluster management, scales from zero. Excellent for monoliths with occasional batch jobs.
- Google Cloud Run: The simplest path to containerised deployments. Pay per request, scales to zero, zero infrastructure management.
- Railway / Render: For sub-10-engineer teams who want zero DevOps overhead and are comfortable with a PaaS abstraction. Seriously underrated for early-stage products.
- App Runner (AWS): Managed container service with built-in auto-scaling and load balancing. Good middle ground before EKS.
When to graduate to Kubernetes
The signals that you've outgrown managed containers and genuinely need Kubernetes:
- You have 5+ independently deployable services with different scaling characteristics
- You're running in multiple regions and need cross-region traffic management
- You have compliance requirements that necessitate network policy enforcement at the pod level
- You have a team member who will own cluster operations full-time
- Your team already has Kubernetes expertise and the productivity benefit of familiarity outweighs the complexity cost
The honest conclusion
Kubernetes is excellent infrastructure for the right team at the right scale. It's also the infrastructure choice that has generated the most 'we got distracted from product' regrets from early-stage founders we've spoken to.
Start with the simplest thing that meets your requirements. The migration to Kubernetes, if you ever need it, is well-understood and manageable. The migration away from premature Kubernetes complexity — back to something simpler — rarely happens, because the sunk cost makes it hard to justify.
Want expert help with Cloud & DevOps?
Tell us about your project — we reply within one business day.
Start a conversationMore articles


