What it is: Kubernetes, originally developed by Google, is an open-source system that simplifies the deployment, orchestration, and management of container-based applications in the cloud or on-premise.
What it does: Kubernetes automates deployment and ensures that applications are given the resources they need to function optimally as demand fluctuates; thus saving time and money while ensuring applications function more reliably. Also, Kubernetes makes it easier to update and maintain said applications while they are running.
How it works: Kubernetes creates a ‘cluster’—essentially, a virtual computing farm, in which different containerized applications with different requirements can coexist. It offers intelligent tools to easily modify the cluster in an automated fashion.
Why it matters: Container-based approaches go one stage further than virtual machines and are seen as an appropriate response to applications that require dynamic scaling and distribution without the overheads of individual VMs. However, they also bring complexity and management challenges. Kubernetes looks to address these challenges, delivering the benefits of containerization without the headaches. With ‘containerized’ applications, orchestrating this is made easier, and, with Kubernetes, it’s easier to manage many containers. This is why Google, Slack, Shopify, and others use Kubernetes.
What to do about it: If your organization is looking to deploy containers at large scale, you should be looking to an orchestration approach. Kubernetes isn’t the only game in town (consider AWS elastic container service, ECS, or Docker Swarm) but it is becoming a de-facto standard. Know that Kubernetes is complex and that its implementation will require much thought, planning, and training.