Section Slide Template Option 2 Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you. Make the subtitle something clever. People will think it’s neat. gRPC Concepts Wait…. RPC? What happened to REST?
● are a way to serialize structured data ● are binary ( really no love for telnet :( ) ● can be parsed quickly ● are flexible (easy to add new fields, supports addons) ● support code generation Protocol Buffers ...
Section Slide Template Option 2 Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you. Make the subtitle something clever. People will think it’s neat. gRPC & Python Python!
Section Slide Template Option 2 Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you. Make the subtitle something clever. People will think it’s neat. Containers & Kubernetes Concepts What that thar be?!?!
Some isolation Expensive and inefficient Still highly coupled to the guest OS Hard to manage app libs kernel libs app app kernel app libs libs kernel kernel Virtual Machines
build and deploy vm images ● Curated runtimes ● Rich services ● Auto-everything ● … just add code ● Managed collections ● Declarative + Dynamic Compute as a Continuum Platform Cluster ● Basic atom ● Run anything VM More agility More Flexibility build and deploy containers build and deploy apps
Everything at Google runs in containers: • Gmail, Web Search, Maps, ... • MapReduce, batch, ... • GFS, Colossus, ... • Even Google Compute Engine: VMs in containers!
Everything at Google runs in containers: • Gmail, Web Search, Maps, ... • MapReduce, batch, ... • GFS, Colossus, ... • Even Google Compute Engine: VMs in containers! We launch over 2 billion containers per week.
Why containers? • Performance • Repeatability • Isolation • Quality of service • Accounting • Visibility • Portability A fundamentally different way of managing applications
Greek for “Helmsman”; also the root of the word “Governor” • Container orchestrator • Runs Docker containers • Supports multiple cloud and bare-metal environments • Inspired and informed by Google’s experiences and internal systems • Open source, written in Go Manage applications, not machines
● 0.18.0 released ● 369 contributors ● over 8000 github stars ● CoreOS ● HP ● IBM ● Mesosphere ● Microsoft ● Pivotal ● Red Hat ● SaltStack ● VMWare ● Binary releases ● Logging and monitoring ● Richer scheduling ○ Labels based constraints ○ Smart bin-packing ○ Run-to-completion ● Updated service model ○ IP per service ● DNS integration Project Partners New Introducing Google Container Engine Community
● Group of containers ● Settings in a template ➔ Reuse across environments ➔ Repeatable, manageable Behavior Benefits Pod Web Server Content Management Server Pods more at pod.md
Dashboard show: FE Labels ● Metadata with semantic meaning ● Membership identifier ➔ Allow for intent of many users (e.g. dashboards) ➔ Build higher level systems … Behavior Benefits Pod Pod frontend Pod frontend Pod Pod FE BI, FE v2 Dashboard show: v2 more at labels.md
Replication Controllers Behavior Benefits Replication Controller #Pods → 2 label selector: v1 Pod Pod frontend Pod frontend Pod Pod v1 v1 Replication Controller #Pods → 1 label selector: v2 v2 more at rc.md ● Keeps Pods running ● Gives direct control of Pod #s ➔ Restarts Pods, desired state ➔ Fine-grained control for scaling
Pod Services Behavior Benefits Pod FE FE Pod FE Service label selector: Front End more at services.md ➔ Clients shielded from implementation details ➔ Independently control each, build for resiliency ● Stable address ● Decoupled from Controllers
Section Slide Template Option 2 Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you. Make the subtitle something clever. People will think it’s neat. Running a Kubernetes Service Steer me ship captain!