New: Try Voli The Bear, Fast package manager (and not only) for Windows
Updated Jul 10, 2026 Edit on GitHub

Should You Even Use It?

This is the phase the hype leaves out: knowing how Kubernetes works is not the same as needing it. Kubernetes is remarkable engineering, and for the right problem it's the right tool. For most apps - especially small ones - adopting it is a large, ongoing cost paid for problems you don't have yet. You can understand the whole thing (you do now) and still correctly decide not to run it. That's not a failure to "level up." That's good engineering.

The cheat-card: which way to lean

If you want the answer before the reasoning:

Your situation Lean toward
One app, or a handful, modest traffic A VPS - deploying to a VPS
You want to push code and not think about servers A PaaS (managed app platform)
A few containers that just need to run together Docker Compose on one box - see Docker without the magic
Many services, real scale, a team to operate it Kubernetes (ideally managed k8s)
"It'll look good on my resume / everyone uses it" None of the above - stop and re-read this phase

Now the why.

The straight trade-off

Let's put both sides on the table, because a one-sided pitch is exactly what got Kubernetes over-adopted.

What Kubernetes genuinely gives you. Everything from Phase 1, for real: self-healing across machine failures, declarative rollouts and rollbacks, horizontal scaling, service discovery and load balancing, and one uniform way to describe all of it that works the same on any cluster, any cloud. Operating many services on many machines, this is enormous - rebuilding it yourself would be its own disaster.

What it genuinely costs. This is the part the tutorials skip:

  • A new, deep body of knowledge. Pods, Deployments, and Services are the start. Production means Ingress, ConfigMaps and Secrets, RBAC, namespaces, resource limits, liveness/readiness probes, StatefulSets and storage classes, network policies, autoscalers, and the upgrade treadmill - each a real topic.
  • Standing operational work. A cluster has to be run: patched, upgraded across versions that deprecate APIs out from under you, monitored, secured, debugged when it (not just your app) misbehaves. You've added a powerful machine, and now you own the machine.
  • More moving parts to debug. "Is it my app, my Pod, my Service, my Ingress, my node, or the control plane?" is a real question, often at a bad hour - the abstraction that gives you power also gives you more layers to be wrong in.
  • Real money, even when small. A cluster wants a control plane and a baseline of nodes running before you've served a single user. A small app on a VPS can cost a few dollars a month; a cluster's floor is meaningfully higher and rarely scales down to "tiny."

None of these are reasons to never use Kubernetes. They're the bill, and you should read it before you sign.

What "smaller" looks like - and why it's usually right

For most apps, something far lighter does the job at a fraction of the cost:

  • A VPS (a single rented Linux server). Deploy your app - or a few containers via Docker Compose - onto one machine you understand end to end. One thing to reason about, one place to look when it breaks, a few dollars a month. For a great many real, revenue-earning apps this is genuinely the correct architecture, not a starter you're meant to outgrow. See deploying to a VPS.
  • A PaaS (a managed application platform). Push your code or container, and the platform handles servers, scaling, and rollouts. You give up some control and flexibility; in exchange you delete almost all the operational work - often the highest-leverage choice for a small team shipping product, not operating infrastructure.

The straight framing: a VPS or PaaS asks you to learn and operate much less, and for one app or a handful it loses you almost nothing. You can always move to Kubernetes later, and do it better, once you've actually hit the problems it solves instead of guessing at them.

When Kubernetes actually earns its keep

It is the right tool - clearly, not grudgingly - when several of these are true at once:

  • Many services, not one app. Tens of services deployed, networked, scaled, and updated independently. Hand-managing that is the brutal job from Phase 1, and an orchestrator pays for itself.
  • Real, variable scale. Many replicas across many machines, scaling up and down with load, so the cluster's baseline cost gets amortized across a fleet that's actually large.
  • A uniform platform across teams or clouds. One consistent way for many teams to deploy, running the same on different clouds - valuable when avoiding lock-in or standardizing a big org.
  • You have the people to operate it. The quiet prerequisite: a platform/ops capability whose job includes keeping the cluster healthy. With that team the cost is absorbed by specialists. Without it, the cost lands on the same developers trying to ship features, and crushes them.

If you read that list and most of it is "not us, not yet" - that's your answer, and it's a perfectly good one.

⚠️ Gotcha - resume-driven Kubernetes. The most expensive reason teams adopt it is the worst one: because it's what serious companies use, or a conference talk made it sound mandatory. This is how a two-person team with one web app ends up maintaining a cluster instead of building their product - paying the full operational bill for benefits they won't use for years, if ever. Choose tools for the problem in front of you, not the company you imagine becoming. If you genuinely outgrow a VPS or PaaS, that'll be a real, observable problem, and then moving is an easy, justified call.

"But managed Kubernetes makes it easy" - half true

You'll hear that managed Kubernetes (the cloud providers' offerings, where they run the control plane for you) removes the pain. Be precise about what it does and doesn't.

What it genuinely eases: running and upgrading the control plane - the cluster's brain - real, fiddly work you'd rather not own. A meaningful chunk of the burden, gone, and the right choice if you're running Kubernetes at all; self-hosting the control plane is for people with a specific reason to.

What it does not remove: everything else on the cost list. You still write and debug the YAML, design Ingress and Secrets and RBAC and probes and resource limits, reason about Pods and Services and nodes when things break, and pay the baseline bill. Managed Kubernetes makes the cluster easier to run - it doesn't make Kubernetes unnecessary to learn, or turn a small app's over-adoption into a good idea. It lowers the bill; it doesn't waive it.

💡 Key point. The question is never "is Kubernetes good?" - it is, for its problem. The question is "do I have that problem, and the people to operate the solution?" For most small apps, today, the answer is no, and a VPS or PaaS will make you faster and happier. Keep the mental model from this guide; reach for the tool when the problem is real.

Recap

  1. Understanding Kubernetes and needing it are different - you can know it cold and still rightly choose not to run it.
  2. The power is real (self-healing, rollouts, scaling, a uniform platform) - and so is the cost: a deep skill set, standing operational work, more layers to debug, a non-trivial baseline bill.
  3. Most small apps are happier on a VPS, a PaaS, or Docker Compose on one box - you can move up later, better-informed, if you truly outgrow them.
  4. Kubernetes earns its keep with many services, real variable scale, a uniform platform need, and the quiet prerequisite - people to operate it. Avoid resume-driven Kubernetes.
  5. Managed k8s eases the control-plane burden but doesn't remove the rest of the cost or the need to learn it.

← Phase 2: The Core Objects · Guide overview →

Before the quiz: without looking back, say (or jot down) the core idea of this phase in your own words.

Check your understanding 2 questions

1. For most small apps, you should...

2. Kubernetes genuinely earns its keep when...