Skip to content
bgrant0607 edited this page Oct 23, 2014 · 4 revisions

Why Kubernetes?

Kubernetes is:

  • lean: lightweight, simple, accessible
  • portable: public, private, hybrid, multi cloud
  • extensible: modular, pluggable, hookable, composable

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

Why containers?

  • application-centric management: raising the level of abstraction from running an OS on virtual to running an application on an OS delivers the simplicity of PaaS with flexibility of IaaS
  • 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
  • loosely coupled, distributed, elastic, liberated micro-services: break apps into smaller pieces that can be deployed and managed independently and dynamically onto a self-healing fabric -- 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
Clone this wiki locally