VM • Lightweight Linux environment • Hermetically sealed, deployable system • Introspectable, runnable artifact • Recently popularized by Docker What is a container?
Resource isolation and predictability • Quality of Services • batch vs. latency sensitive serving • Overcommitment (not for GCE) • Resource Accounting We start over 2 billion containers per week My Life with Containers II
update Why do developers 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?
Containers Easy way to use Containers on the Google Cloud Platform: • Image preinstalled with: Docker, Node Container Manager • Loads Container Manifest at VM start time • [Soon] Integrate with UI, logging • [Soon] Basic building block for dynamic systems Also used by Managed VMs driven by Google App Engine
Discussion group: groups.google.com/forum/#! forum/google-containers IRC: #google-containers on irc.freenode.net Stack Overflow: Use "google-compute-engine" and "docker" tags
laptop docker run gcloud deploy start update using google/docker-registry container private Google Cloud Storage bucket Google App Engine Your awesome docker image Your awesome docker image docker container docker push docker pull Behind the Scenes
on • your dev machine • your own hardware • cloud Microsoft, IBM, Red Hat, Docker, Mesosphere, SaltStack, CoreOS and VMware have joined the Kubernetes project
manages a set of pods • Ensures that required number of Pods are running • Creates and kills Pods as required ReplicationController Template Pod Container Container Container Container Pod Container Container Container Container Pod Container Container Container Container Pod Container Container Container Container