What is Kubernetes?
Kubernetes is an orchestration platform that keeps containers running in production: it restarts what crashes, scales up under heavy load, and rolls out new versions in a controlled way. If a container is a building block, Kubernetes is the conductor that gets many of them playing together. For small systems it's often overkill, and simpler hosting is enough.
Kubernetes is mentioned almost every time containers and modern hosting come up, but what it actually does stays fuzzy for many decision-makers. The name doesn’t help. Here’s what Kubernetes is, the analogy that makes it clear, and the honest question of whether you actually need it.
The conductor above the containers
To understand Kubernetes, you first need the container: an app packaged with its entire environment, so it runs the same way everywhere. A container is a building block. But a real system rarely consists of a single container – it can be dozens or hundreds, all needing to start, talk to each other, stay alive, and scale.
This is where Kubernetes comes in. If every container is a musician, Kubernetes is the conductor that gets the whole orchestra playing together. It decides how many containers should run, where they should run, how they find each other, and what happens when one of them drops out. On its own, each container can do its own thing; Kubernetes gets many of them working as a whole.
What Kubernetes gives you
Concretely, the platform solves three things that would otherwise require constant manual attention:
- Self-healing. If a container crashes, Kubernetes automatically starts a new one in its place. If an entire machine goes down, the work moves to another one. The system restores itself to the state you’ve described, without anyone needing to be woken up in the middle of the night.
- Scaling. When load rises, Kubernetes can start more copies of a service to meet the pressure, and wind them down again once things settle. Capacity follows demand instead of being guessed in advance.
- Controlled releases. New versions can be rolled out gradually and paused or rolled back if something looks wrong, so an update doesn’t take down the entire service at once.
This is exactly what large, highly available services need, and it’s heavy to build and manage by hand.
A concrete scenario
Picture an e-commerce store getting a huge traffic spike during a campaign. Without orchestration, someone has to guess in advance how much capacity is needed, keep it running around the clock, and manually step in if a server crashes in the middle of the rush. With Kubernetes, more copies start automatically as traffic rises, crashed parts get replaced on their own, and once the campaign is over everything scales back down. The operations team describes what should hold true, and the platform makes sure it stays that way.
The honest rule of thumb: often overkill
Here’s the most important point, and one that’s rarely said outright: for most small systems, Kubernetes is unnecessary. The power comes with significant complexity – many moving parts, a steep learning curve, and maintenance that’s a craft in itself.
If you have a single app or a few services with steady traffic, simpler hosting is usually plenty: a regular server or a managed platform where the vendor handles the heavy lifting. Introducing Kubernetes “because everyone else does” is a common way to buy yourself a problem you don’t have. The platform only starts paying off once you have many services, variable load, and a need to release and scale often.
The hidden cost is rarely licenses or servers – it’s expertise and time. Kubernetes needs people who understand it, can troubleshoot it when it acts up, and keep it secure and up to date. For a small team, that often means a large share of development capacity goes into running the platform instead of building the product. That trade-off is what sharpens the question: every hour spent on unnecessary infrastructure is an hour not spent on what customers are actually paying for. If you do choose Kubernetes, a managed version from a cloud vendor can shift some of that burden away from you.
How to think about the choice
Start from the need, not the trend. The question isn’t “is Kubernetes modern” but “do we have many services and a load that genuinely requires this.” If the answer is no, simpler hosting is both cheaper and more stable. If the answer is yes, a managed Kubernetes from a cloud vendor can take the edge off the complexity.
If you’d like a neutral opinion on which hosting level fits your services, at Weapp we’re happy to look at the whole picture together before you build something you’ll then have to maintain.
Frequently asked questions
What does Kubernetes do, in short?
Kubernetes keeps containers organized in production. It makes sure the right number are running, restarts the ones that crash, distributes load between them, scales up when traffic rises and down when it settles, and rolls out new versions without downtime. Instead of a person watching over all of this manually, the platform handles it automatically.
What's the difference between containers and Kubernetes?
A container packages an app so it runs the same way everywhere. Kubernetes is the layer on top that manages many containers at once in production. The container is the building block, Kubernetes the conductor that gets them playing together, staying alive, and scaling. You need containers to use Kubernetes, but not the other way around.
What does self-healing mean?
It means the platform fixes problems itself. If a container crashes or stops responding, Kubernetes notices and starts a new one in its place, without anyone needing to step in. If an entire machine goes down, the work moves to another one. The system constantly strives toward the desired state you've described, and restores itself to it.
Does my system need Kubernetes?
Often not. Kubernetes pays off when you have many services, high or variable load, and a need to scale and release often. For a single app or a few services with steady traffic, it's usually overkill – the complexity costs more than it delivers, and simpler hosting is plenty. The size of the need decides.
Is Kubernetes hard to run?
It requires expertise. Kubernetes is powerful but has many moving parts, and setting it up and maintaining it safely is a craft in itself. Many therefore choose a managed version from a cloud vendor, which takes care of the heaviest lifting. Introducing it without an actual need is a common way to buy yourself unnecessary complexity.