Container Orchestration

In 2026 "container orchestration" essentially means Kubernetes. Nomad and ECS still ship; Kubernetes won the market the way Linux won server OSes — not because it's the best in every dimension but because it's the universal default and the ecosystem makes everything else expensive.

This page is what to know if you have to operate Kubernetes, and the (rarer) cases where the answer is "use something else."

What Kubernetes actually gives you

The core value:

What it doesn't give you:

Should you even use it

Honest decision tree:

The "default to Kubernetes" instinct costs many small teams operating budget they can't afford. Default to managed PaaS for small workloads; promote to K8s when there's a reason.

Managed vs self-hosted

If you're using Kubernetes, use a managed control plane unless you have a specific reason not to.

Self-hosting K8s is rarely the right call for new teams in 2026. The major use cases are:

Otherwise, pay for the managed option. The labour cost difference dwarfs the service fee.

The minimum production setup

For a managed cluster running real workloads:

Each of these is a real engineering investment. The cumulative time is weeks for a single team setting up its first production cluster.

Helm, Kustomize, and the manifest question

Three approaches to managing the YAML:

For consuming third-party operators, you'll use Helm; the ecosystem is built on it. For your own apps, Kustomize is often cleaner. Don't fight it; both have a place.

Service mesh: when it earns its keep

Istio, Linkerd, and (newer) Cilium service mesh add:

Cost: the mesh itself is real ops work. Sidecar proxies double pod count. Network is more complex.

Adopt when:

Skip when:

Linkerd is the simpler/easier; Istio is more powerful and more complex. Cilium service mesh is the newer entrant that does service mesh without sidecars (eBPF-based) and is increasingly chosen for new clusters.

Operators and CRDs

Kubernetes is extensible. Operators are programs that manage application-specific resources (e.g. "create a Postgres cluster" → Postgres operator handles failover, backups, scaling).

Strong opinion: prefer operators for stateful workloads. Postgres operator, Redis operator, Kafka operator. Manually managing stateful systems on K8s is a pain; operators encode the operational knowledge.

Caveat: operators are software you're now operating. Pick mature ones (CrunchyData / CloudNativePG for Postgres, Redis Operator from Redis Inc., Strimzi for Kafka). Avoid hobbyist operators unless you really know what they do.

Cost optimisation

Kubernetes cost spirals quietly. Common drains:

Tools: Kubecost (cost attribution per namespace/team), Karpenter (advanced autoscaler with better bin-packing than the default), Goldilocks (recommends right-sized requests).

A team running K8s that hasn't actively optimised costs is usually 20-50% over their efficient cost.

Failure modes

When to look beyond Kubernetes

Further reading