Orchestration

Container orchestration is the work of running and coordinating many containers across a cluster of machines, automatically rather than by hand. The clearest first-hand description of the job comes from the documentation of Kubernetes, the orchestrator that defined the category. Kubernetes describes itself as “a portable, extensible, open source platform for managing containerized workloads and services that facilitate both declarative configuration and automation.”

The Kubernetes overview enumerates the tasks an orchestrator performs. It does automatic bin packing: “You tell Kubernetes how much CPU and memory (RAM) each container needs,” and “Kubernetes can fit containers onto your nodes to make the best use of your resources.” It does horizontal scaling, letting you “scale your application up and down with a simple command.” It does self-healing, restarting failed containers, replacing them, and killing those that fail health checks. And it does service discovery and load balancing, exposing containers through DNS names and distributing traffic across them.

A distinction worth keeping clear is that orchestration is not the same as provisioning the underlying machines. Tools like Terraform create the servers, networks, and disks that form a cluster; orchestrators like Kubernetes then schedule containers onto that cluster and keep them running. Orchestration operates on the workloads, not the metal.

Interestingly, the Kubernetes documentation pushes back on the word itself. “Kubernetes is not a mere orchestration system,” it says. “In fact, it eliminates the need for orchestration,” because rather than executing a fixed sequence of steps it runs “a set of independent, composable control processes that continuously drive the current state towards the provided desired state.” The result looks like orchestration but is built from many small controllers each reconciling reality toward a declared goal.

Sources

Last verified June 8, 2026