Yashveer Singh
Connect
<- All posts

Kubernetes for Startups: When It Makes Sense, When It Does Not

Kubernetes is real infrastructure for real scale. Here is how to know if you are there yet.

Written by Yashveer Singh, founder of Yashveer Labs.

# Kubernetes for Startups: When It Makes Sense, When It Does Not

Kubernetes is a container orchestration platform that handles deployment, scaling, self-healing, and traffic routing across clusters of machines. It was built by Google to manage workloads at planetary scale. Most startups are not operating at planetary scale. The companies that benefit from Kubernetes early are running multiple services, need fine-grained scaling per service, and have at least one engineer who can run the cluster without it becoming a full-time job.

What you need to know

  • Kubernetes adds significant operational complexity that pays off at scale but costs heavily in early-stage engineering time
  • For a single-service app under 10,000 daily active users, platforms like Fly.io, Railway, or Render will serve you better for a fraction of the setup cost
  • The managed Kubernetes options (EKS, GKE, AKS) remove cluster setup but not cluster operations; you still need to understand what you are running
  • The minimum viable Kubernetes team is one engineer who knows it well; operating it "by committee" with documentation is a path to expensive incidents
  • Kubernetes shines when you have 5 or more independent services that need to scale at different rates

The core argument

The honest case against Kubernetes for early startups is this: the problem Kubernetes solves is not the problem you have. Your problem is shipping fast enough to find product-market fit before money runs out. Kubernetes solves the problem of orchestrating dozens of services across hundreds of nodes. Those are different problems.

I have deployed on Fly.io, Vercel, and Railway for client projects at various stages. For a startup with one monolith or a handful of services, these platforms handle deployment, autoscaling, and rollbacks with almost no configuration. The Dwarka Bricks project runs on a platform deployment with zero Kubernetes. It is stable, it scales when it needs to, and no engineer is spending time on cluster management. That engineering time goes to features instead.

The case for Kubernetes sharpens the moment you have multiple services with genuinely different scaling profiles. If your API needs to scale horizontally during peak hours while your background workers scale based on queue depth and your ML inference service needs GPU instances, Kubernetes starts earning its complexity cost. The same goes for teams that need strong deployment isolation between services, fine-grained rollout controls like canary deployments and blue-green switches, or strict resource quotas across multiple product lines. At that point, the orchestration work Kubernetes does for free would otherwise be custom scripting on top of a simpler platform.

Common mistakes

  1. Adding Kubernetes because it looks good on the architecture diagram. This is the startup version of cargo-culting. Kubernetes on the diagram does not mean the business is more defensible. It means the ops burden just went up significantly.
  1. Underestimating the learning curve. Kubernetes has a steep ramp. Getting a cluster running is one thing. Understanding namespaces, resource limits, ingress controllers, RBAC, PersistentVolumeClaims, and cluster autoscaling is another. Budget weeks, not days.
  1. Running Kubernetes without dedicated monitoring. A Kubernetes cluster without proper observability is a mystery box. Datadog, Grafana, or at minimum Prometheus with alerting is not optional. Without it, incidents become guesswork.
  1. Using Kubernetes for a monolith. If you have one service, you do not need container orchestration. You need a server. Kubernetes adds no value when there is nothing to orchestrate.
  1. Letting the cluster drift. Kubernetes clusters need regular maintenance: node version upgrades, certificate renewals, security patches. Teams that treat Kubernetes as a "set and forget" infrastructure end up with clusters several major versions behind and large upgrade debt.

Where to start

  1. Honestly assess your service count and scaling requirements. If you have fewer than three independently deployable services and your scaling story is "add more instances of the same thing," start with Fly.io or Railway. Revisit Kubernetes when the infrastructure genuinely needs it.
  1. If you are committing to Kubernetes, start managed. GKE Autopilot or EKS with managed node groups removes the most painful parts of cluster operations. You still need Kubernetes knowledge, but you are not managing etcd or the control plane.
  1. Hire or develop the expertise before you need it. Do not start a Kubernetes migration during an incident or a product crunch. The engineer who will run the cluster needs to be comfortable with it before the stakes are high.

Related reading

FAQ

Frequently asked

Author

A note from Yashveer Singh

This was written by me, Yashveer Singh. The reason I write at this length and this depth is that the alternative is generic SEO content, and I am not interested in being one more of those. If you found this post useful, that is by design. If you want to talk about the project you are facing, the work happens through one channel: send a message via Instagram, and I will get back to you with a real answer, not a templated reply.

Related reading