Developer & Data Platforms

Kubernetes

Also known as: K8s, kube

Kubernetes is an open-source system for running containerized applications across a cluster of machines.

It decides where containers run, restarts them when they fail, scales them up and down, and rolls out updates. While it has become the standard way to run modern cloud applications, it's also famously complex. Plenty of small teams adopt it because big companies do, then spend more time running Kubernetes than building their product.

Kubernetes, explained at three levels

At home

Think of Kubernetes as a manager for a busy restaurant kitchen. It assigns cooks to stations, replaces anyone who calls in sick, and brings in extra help during the dinner rush. For software, the 'cooks' are containers running your app.

At work

Kubernetes helps companies run many applications reliably on a shared pool of servers. It automatically restarts failed parts and adds capacity when traffic spikes, which reduces manual work for operations teams.

Real-world examples

At home

Fatima learned Kubernetes for a course and ran a small cluster on her laptop. When she deleted a container to see what would happen, Kubernetes immediately started a new one, which finally made the idea of 'self-healing' click.

At work

Thomas is the CTO of a five-person startup. An advisor pushed him toward Kubernetes, but he calculated that a managed container service would cover their needs at a fraction of the operating effort. They'd revisit Kubernetes when they had dozens of services.

Common confusions

  • Kubernetes replaces Docker. — Kubernetes orchestrates containers. Images built with Docker or other tools run on Kubernetes through a container runtime.
  • Managed Kubernetes means no operations work. — The provider runs the control plane, but you still manage workloads, upgrades, security, and costs.
  • Every company needs Kubernetes. — It shines at scale. Small teams with a few apps often do better with simpler managed platforms.

For analysts

Kubernetes is an operating cost, not just a technology choice. I'd ask how many engineers it will take to run it well before adopting it, and compare that with a managed platform that does less but needs no dedicated team.

History & origin

Kubernetes grew out of Google's internal cluster manager, Borg. Google announced Kubernetes as an open-source project in June 2014, and version 1.0 arrived in July 2015, when Google donated it to the newly formed Cloud Native Computing Foundation. It won the 'container orchestration wars' against Docker Swarm and Apache Mesos by around 2017, and every major cloud launched a managed version. The project releases new versions roughly three times a year. In my opinion, Kubernetes is one of the most successful open-source projects ever, but its success has made it a default choice in places where something simpler would do.