Kubernetes: do you actually need it?

Many smaller teams do not need Kubernetes. If you run a handful of services and have no platform team, a managed container service such as Amazon ECS or Azure Container Apps will usually do the job with far less upkeep. Kubernetes earns its cost when you run many services, need its portability or ecosystem, and have people to look after it.

Industrial pipework in clean lines

Honest Consultancy. Updated

What does Kubernetes actually give you?

It keeps a set of containers running the way you described them. The project describes it as a portable, extensible, open source platform for managing containerised workloads and services. 1

These are real benefits. The question is whether you need them from Kubernetes in particular, because the simpler services provide many of the same things without a cluster to look after.

  • Service discovery and load balancing across containers. 1
  • Automated rollouts and rollbacks at a controlled rate. 1
  • Self-healing: restarting and replacing containers that fail their health checks. 1
  • Horizontal scaling, secret and configuration management, and storage orchestration. 1

What does Kubernetes not give you?

More than most people expect. The project itself says Kubernetes is not a traditional, all-inclusive platform as a service, and that it provides building blocks for building developer platforms. 1

So adopting Kubernetes usually means choosing, installing and maintaining several other tools around it. For a team with a platform engineer, that flexibility is the point. For a team of five developers shipping a product, it can become a second product nobody asked for.

  • It does not deploy source code or build your application, so you still need CI/CD. 1
  • It does not provide application services such as databases, caches or middleware. 1
  • It does not dictate logging, monitoring or alerting. 1
  • It does not provide comprehensive configuration, maintenance or self-healing for the underlying hosts. 1

What does it really cost to run?

The control plane charge is the small part. People's time and the upgrade cycle are the larger costs. Amazon EKS charges $0.10 per cluster per hour under standard support, and $0.60 under extended support. 2 Azure Kubernetes Service has a Free tier for cluster management, recommended for development and test, and pay-as-you-go Standard and Premium tiers for production with an uptime SLA. 3

On top of that sit the worker machines, load balancers, storage and data transfer, and these are often less efficient than expected because clusters tend to carry spare capacity. Our cloud cost checklist covers how to check.

The bigger cost is upkeep, because Kubernetes moves quickly. The project maintains release branches for the most recent three minor releases, and each receives about one year of patch support. 4 On EKS, a version gets 14 months of standard support after release, followed by 12 months of extended support at the higher rate. 2 Both mean somebody must plan and test upgrades, along with every add-on in the cluster, several times over a few years. Leaving that undone on EKS raises the control plane charge sixfold. 2

What are the simpler options?

Both main clouds offer ways to run containers without operating Kubernetes yourself. Rule these out first.

Azure Container Apps also gives you traffic splitting between versions, internal service discovery, and scaling on HTTP traffic or events, which are among the features that lead teams to Kubernetes in the first place. 6 Check that a service supports what you need before you decide, including network controls and any limit that would stop you.

  • Amazon ECS. AWS says there is no additional charge for ECS orchestration, so you pay only for the compute and resources you use. 5
  • AWS Fargate, used with ECS. You pay for the vCPU, memory and storage your tasks request, with no servers to manage. 5
  • Azure Container Apps. Microsoft describes it as a serverless platform for running containerised applications without managing the underlying infrastructure. Most applications can scale to zero, and it supports API endpoints, background jobs and microservices. 6
  • A managed web application service, or serverless functions, where your application fits them.

When is Kubernetes worth it?

When several of these are true for you. One alone is rarely enough.

Pay attention to portability, because it is often overstated. Your application may move easily between clusters, but its databases, identity, networking and storage are still tied to a cloud. If you are not going to move in the next few years, that benefit may never arrive. The EU Data Act removes switching charges from January 2027, but it does not reduce that engineering work. 7

  • You run many services, across several teams, and want one consistent way to deploy them.
  • You have, or will fund, people whose job includes running the platform.
  • You need to run the same platform across clouds or on your own hardware.
  • You depend on tools from its ecosystem that have no good equivalent elsewhere.
  • Your software vendor requires it, or ships as Helm charts.
  • Your team already knows it well, so the learning cost is already paid.

We already run Kubernetes. Should we leave?

Not automatically. If it is working and someone owns it, leave it alone and improve how you run it. Moving off is a project with its own risk.

Look at it honestly if you see these signs: only one person understands the cluster, you are on an old version because upgrades feel risky, or you run three small services on it and spend more time on the platform than on the product. Being on extended support is a useful trigger, because it puts a price on the delay. 2

If you stay, reduce the load. A managed option such as AKS Automatic comes preconfigured for production with Standard tier management and SLA coverage, and Microsoft recommends it as the default for most production workloads. 3 Keep cluster definitions in infrastructure as code, keep add-ons to a minimum, and put upgrades on the calendar.

How should we decide?

Answer these in order, and stop at the first clear result.

Containers are a good habit either way. An application packaged properly, with its configuration kept outside the image and deployed through a pipeline, can move to Kubernetes later if the need appears. That is a much easier position than adopting a cluster early and then spending a year learning to run it.

  • Does the application need containers at all? If a managed web service runs it, use that.
  • Would ECS, Fargate or Container Apps meet your network, scaling and compliance needs? If so, start there.
  • Who will own upgrades and on-call for the cluster? If there is no name, do not adopt it yet.
  • Is there a hard requirement, such as a vendor or a multi-cloud commitment? If so, adopt it and fund it properly.
  • If you are still unsure, run one real service on the simpler option for a sprint and see what you miss.

Frequently asked questions

Is Kubernetes overkill for a small team?

Often, yes, unless the team already knows it or a vendor requires it. Rule out Amazon ECS, Fargate or Azure Container Apps first, as they remove most of the upkeep. 5 6

How much does Kubernetes cost on AWS or Azure?

EKS charges $0.10 per cluster per hour under standard support. AKS has a Free tier and paid tiers with an uptime SLA. 2 3 Worker machines, storage, data transfer and your team's time usually cost more.

How often do we have to upgrade Kubernetes?

Regularly. The project supports its three most recent minor releases, each for about a year. 4 EKS gives 14 months of standard support for a version, then charges more for a further 12 months. 2

Can we move to Kubernetes later?

Yes, if your application is already containerised and deployed through a pipeline. Starting simple does not close that door.

Sources

  1. Kubernetes: Overview
  2. AWS: Amazon EKS pricing
  3. Microsoft: AKS Free, Standard and Premium pricing tiers
  4. Kubernetes: Releases
  5. AWS: Amazon ECS pricing
  6. Microsoft: Azure Container Apps overview
  7. European Commission: Data Act explained

Tell us what needs doing.

Cloud, DevOps, AI or specialist consultants. We reply within one working day.

Reply within 1 working dayStart a project