VM • Lightweight Linux environment • Hermetically sealed, deployable system • Introspectable, runnable artifact • Recently popularized by Docker What is a container?
update care? Repeatable, runnable artifact = portability Develop here, run there Pick your cloud solely on its merits Loosely coupled = easier to build and manage Compose applications from micro- services Mix in and extend third party services Why should developers care?
nodes • Top-level Apache project • Twitter, Airbnb are major users and contributors • APIs for C++, Python, JVM-languages, Go, ... • Pluggable CPU, memory, IO isolation • Highly configurable, with easy-to-use defaults • Packages and support through Mesosphere
modular framework for container-based service app management • Patterned after internal systems in Google that manage internet-scale workloads • Written in Go github.com/GoogleCloudPlatform/kubernetes
oversees one or more minions. • Minion: a slave that runs tasks as delegated by the user and Kubernetes master. • Pod: an application that runs on a minion.
should be running is running. • Label: an arbitrary key/value pair that the Replication Controller uses for service discovery • kubecfg: the config tool • Service: an amalgamation of similar pods
node drain* • Run pods alongside other popular frameworks (e.g. Spark, Rails, Hadoop, ...) • Run services and batch apps in the same cluster • Advanced scheduling: resources, constraints, global view • High resource availability, cluster self-healing • Proven at scale, battle-tested in production • GUI/CLI cluster management console (* in development)