Skip to content
Brian Grant edited this page Jul 21, 2015 · 13 revisions

Why Kubernetes?

Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers. It schedules containers across clusters of hosts.

Kubernetes enables you to respond quickly to customer demand by scaling or rolling out new features and to make maximal use of your hardware.

Kubernetes is:

  • lean: lightweight, simple, accessible
  • portable: public, private, hybrid, multi cloud
  • extensible: modular, pluggable, hookable, composable, toolable
  • self-healing: auto-placement, auto-restart, auto-replication

Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale, combined with best-of-breed ideas and practices from the community.

Why containers?

  • application-centric management: raising the level of abstraction from running an OS on virtual hardware to running an application on an OS using logical resources delivers the simplicity of PaaS with flexibility of IaaS -- you can run much more than just 12-factor apps
  • Dev and Ops separation of concerns: separation of build and deployment decouples applications from infrastructure
  • agile application creation and deployment: it's easier and faster to create a container image to run your app than a VM image
  • continuous development, integration, and deployment: build and deploy application images many times a day, with fast and easy rollbacks, due to image immutability
  • loosely coupled, distributed, elastic, liberated micro-services: break apps into smaller pieces that can be deployed and managed independently and dynamically -- not a fat monolithic stack running on one big single-purpose machine
  • environmental consistency across development, testing, and production: runs the same on the laptop and in the cloud
  • cloud and OS distribution portability: run on Ubuntu or RHEL, on prem or GCE; makes sense for build and test environments as well as for deployment
  • resource isolation: predictable application performance
  • resource utilization: high efficiency and density

Article about why Spotify chose containers.

Background on what containers are.

Clone this wiki locally