Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications across clusters of machines.
Kubernetes (often abbreviated K8s) runs containerized applications across a cluster of machines. You describe your desired state—which containers to run, how many replicas, what resources they need—and Kubernetes continuously works to maintain that state.
The control plane manages the cluster, while worker nodes run the actual application containers (pods).
Most teams use managed Kubernetes services rather than running their own control planes:
Managed services handle control plane availability, upgrades, and security patching.
Kubernetes excels at running microservices at scale, but adds significant operational complexity. Teams should evaluate whether their workloads truly benefit from container orchestration or whether simpler solutions like ECS, Lambda, or even EC2 with auto-scaling meet their needs.