SlideShare a Scribd company logo
1 of 29
Download to read offline
Containers, Clusters & 
Kubernetes 
Brendan Burns 
Staff Software Engineer
Motivations 
Make writing 
BigTable a CS 101 
Exercise
What is a container? 
What is a container? 
● Lightweight Linux environment 
● Hermetically sealed, deployable 
application 
● Introspectable, runnable artifact 
● Recently popularized by Docker
What is a cluster?
The transition to logical compute 
VM 
Container 
Container 
Container 
Logical Compute Substrate 
Container 
Container 
Container 
Container 
Container 
Container 
Container 
Container 
Container 
Container 
Container 
Container 
Container 
Container 
Container 
VM VM VM VM VM VM VM VM VM
Modular Application Design 
VM 
Database 
Dependencies 
WebServer 
MiddleWare 
Database 
Container 
Dependency 
VM 
WebServer 
Container 
Dependency 
Middleware 
Container 
Dependency 
vs.
Modular Scaling 
VM 
Datab 
ase 
Depende 
ncies 
WebSer 
ver 
Middle 
Ware 
Database 
Container 
Dependency 
WebServer 
Container 
Dependency 
Middleware 
Container 
Dependency 
vs. 
VM 
Depende 
ncies 
WebSer 
ver 
Middle 
Ware 
Datab 
ase 
VM 
Depende 
ncies 
WebSer 
ver 
Middle 
Ware 
Datab 
ase 
Middleware 
Container 
Dependency 
WebServer 
Container 
Dependency 
VM VM 
WebServer 
Container 
Dependency
What is Kubernetes? 
● Open source container cluster manager 
● Inspired by the technology that drives 
Google 
● Runs anywhere: 
○ Public Cloud 
○ Private Cloud 
○ Bare Metal 
● Strong ecosystem 
○ Partners: Red Hat, VMWare, CoreOS, 
Microsoft, ... 
○ Community: Client libs, integration, ...
The Cloud Dichotomy 
IaaS 
PaaS
A brief history of programming languages 
Assembly 
Assembly 
PostScript
A brief history of programming languages 
Assembly 
OAbsjseecmt Oblryiented Languages 
PostScript
The Cloud Dichotomy 
IaaS 
ICaaaaSS 
PaaS
Components
Components: Pods 
Kubernetes Pod 
Container-1 Container-2 
Shared 
Volume(s)
Components: Sidecars 
Kubernetes Pod 
Serving 
Container 
Git Sync 
Container 
Shared 
Volume 
Git Repo 
Sidecars Extend and Enhance
Components: Adapters 
Kubernetes Pod 
Redis Service Redis 
Adapter 
Kubernetes Pod 
MongoDB 
Service 
MongoDB 
Adapter 
Kubernetes Pod 
MySQL 
Service 
MySQL 
Adapter 
Monitoring Service 
Adapters Normalize and Abstract
Components: Ambassadors 
Kubernetes Pod 
Frontend 
Container 
MySQL 
Ambassador 
Container Container Container 
Read Slaves 
Container 
Write Master 
localhost 
Ambassadors Proxy and Represent
Encapsulation
Abstractions, ftw! : Reliability 
{Container, Health Check} 
Kubernetes 
Container 
Web: http://<container>/some/path/to/health 
Shell: exec /some/path/health.sh 
TCP: open <container> <port>
Abstractions, ftw! : Replication 
{Template, Identifier, Num. Replicas} 
Replication 
Controller 
Container Container Container Container
Abstractions, ftw! : Services 
{IP:Port, Identifier, Name} 
Discoverable 
Service 
Container Container Container Container 
DNS 
Service IP 
Container
Patterns
Patterns and Interfaces: Master Election 
Lock Service 
Cluster Manager 
http://<container>/healthz 
Container Container Container Container
Patterns and Interfaces: Master Election 
Lock Service 
Cluster Manager 
http://.../master?master=container1 
Container Container Container Container
Patterns: Sharded HTTP Service 
http://foo.com/alpha 
http://foo.com/beta 
http://foo.com/gamma 
Kubernetes Service 
Container Container Container 
http://foo.com/alpha http://foo.com/beta http://foo.com/gamma
Patterns: Hot Sharded HTTP Service 
http://foo.com/alpha @ 20 qps 
http://foo.com/beta @ 5 qps 
http://foo.com/gamma @ 5 qps 
Kubernetes Service 
Container Container Container 
http://foo.com/alpha http://foo.com/beta 
http://foo.com/gamma 
http://foo.com/alpha
Patterns: Bigtable 
Kubernetes Service 
http://.../api/get?key=<key> 
http://.../api/set?key=<k>&val=<v> 
Container 
http://.../manage/shard/<shard>/split 
http://.../manage/shard/<shard>/merge 
http://.../manage/shard/<shard>/load 
http://.../manage/shard/<shard>/unload 
Data 
Interface 
Management 
Interface
We’re building an os for the datacenter. 
Join us! 
#google-containers on FreeNode 
https://github.com/GoogleCloudPlatform/kubernetes 
https://cloud.google.com/container-engine/
Stop

More Related Content

What's hot

Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes: An Introduction to the Open Source Container Orchestration PlatformKubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Michael O'Sullivan
 

What's hot (20)

Kubernetes with docker
Kubernetes with dockerKubernetes with docker
Kubernetes with docker
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
 
Scale out, with Kubernetes (k8s)
Scale out, with Kubernetes (k8s)Scale out, with Kubernetes (k8s)
Scale out, with Kubernetes (k8s)
 
Kubernetes - how to orchestrate containers
Kubernetes - how to orchestrate containersKubernetes - how to orchestrate containers
Kubernetes - how to orchestrate containers
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with Kubernetes
 
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes: An Introduction to the Open Source Container Orchestration PlatformKubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
 
Kubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsKubernetes and Hybrid Deployments
Kubernetes and Hybrid Deployments
 
Kubernetes in 15 minutes
Kubernetes in 15 minutesKubernetes in 15 minutes
Kubernetes in 15 minutes
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with Kubernetes
 
Continuous delivery of microservices with kubernetes - Quintor 27-2-2017
Continuous delivery of microservices with kubernetes - Quintor 27-2-2017Continuous delivery of microservices with kubernetes - Quintor 27-2-2017
Continuous delivery of microservices with kubernetes - Quintor 27-2-2017
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
 
Marc Sluiter - 15 Kubernetes Features in 15 Minutes
Marc Sluiter - 15 Kubernetes Features in 15 MinutesMarc Sluiter - 15 Kubernetes Features in 15 Minutes
Marc Sluiter - 15 Kubernetes Features in 15 Minutes
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
 
Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 

Viewers also liked

WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
Brian Grant
 

Viewers also liked (20)

An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMonitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
 
Understanding Kubernetes
Understanding KubernetesUnderstanding Kubernetes
Understanding Kubernetes
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Kubernetes on aws
Kubernetes on awsKubernetes on aws
Kubernetes on aws
 
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD StoryLondon Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
 
GlueCon kubernetes & container engine
GlueCon kubernetes & container engineGlueCon kubernetes & container engine
GlueCon kubernetes & container engine
 
Kubernetes 101 for Developers
Kubernetes 101 for DevelopersKubernetes 101 for Developers
Kubernetes 101 for Developers
 
Kubernetes Architecture v1.x
Kubernetes Architecture v1.xKubernetes Architecture v1.x
Kubernetes Architecture v1.x
 
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and BeyondTectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
 
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
 
Container & kubernetes
Container & kubernetesContainer & kubernetes
Container & kubernetes
 
Kubernetes - Starting with 1.2
Kubernetes  - Starting with 1.2Kubernetes  - Starting with 1.2
Kubernetes - Starting with 1.2
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and Kubernetes
 
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
 

Similar to Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014

Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
QAware GmbH
 
Kubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDKubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CD
Stfalcon Meetups
 

Similar to Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014 (20)

MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise KubernetesMongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
Kubernetes automation in production
Kubernetes automation in productionKubernetes automation in production
Kubernetes automation in production
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016
 
AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)
AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)
AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)
 
Containers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container Services
 
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin	Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
 
Kubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDKubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CD
 
Azure Container Apps
Azure Container Apps Azure Container Apps
Azure Container Apps
 
Docker-Intro
Docker-IntroDocker-Intro
Docker-Intro
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err Microcosmos
 
Getting Started With Docker on AWS
Getting Started With Docker on AWSGetting Started With Docker on AWS
Getting Started With Docker on AWS
 
Containers & Microservices
Containers & MicroservicesContainers & Microservices
Containers & Microservices
 
Kubernetes on AWS
Kubernetes on AWSKubernetes on AWS
Kubernetes on AWS
 
Kubernetes on AWS
Kubernetes on AWSKubernetes on AWS
Kubernetes on AWS
 
[Global logic] container runtimes and kubernetes
[Global logic] container runtimes and kubernetes[Global logic] container runtimes and kubernetes
[Global logic] container runtimes and kubernetes
 
在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014

  • 1. Containers, Clusters & Kubernetes Brendan Burns Staff Software Engineer
  • 2. Motivations Make writing BigTable a CS 101 Exercise
  • 3. What is a container? What is a container? ● Lightweight Linux environment ● Hermetically sealed, deployable application ● Introspectable, runnable artifact ● Recently popularized by Docker
  • 4. What is a cluster?
  • 5. The transition to logical compute VM Container Container Container Logical Compute Substrate Container Container Container Container Container Container Container Container Container Container Container Container Container Container Container VM VM VM VM VM VM VM VM VM
  • 6. Modular Application Design VM Database Dependencies WebServer MiddleWare Database Container Dependency VM WebServer Container Dependency Middleware Container Dependency vs.
  • 7. Modular Scaling VM Datab ase Depende ncies WebSer ver Middle Ware Database Container Dependency WebServer Container Dependency Middleware Container Dependency vs. VM Depende ncies WebSer ver Middle Ware Datab ase VM Depende ncies WebSer ver Middle Ware Datab ase Middleware Container Dependency WebServer Container Dependency VM VM WebServer Container Dependency
  • 8. What is Kubernetes? ● Open source container cluster manager ● Inspired by the technology that drives Google ● Runs anywhere: ○ Public Cloud ○ Private Cloud ○ Bare Metal ● Strong ecosystem ○ Partners: Red Hat, VMWare, CoreOS, Microsoft, ... ○ Community: Client libs, integration, ...
  • 10. A brief history of programming languages Assembly Assembly PostScript
  • 11. A brief history of programming languages Assembly OAbsjseecmt Oblryiented Languages PostScript
  • 12. The Cloud Dichotomy IaaS ICaaaaSS PaaS
  • 14. Components: Pods Kubernetes Pod Container-1 Container-2 Shared Volume(s)
  • 15. Components: Sidecars Kubernetes Pod Serving Container Git Sync Container Shared Volume Git Repo Sidecars Extend and Enhance
  • 16. Components: Adapters Kubernetes Pod Redis Service Redis Adapter Kubernetes Pod MongoDB Service MongoDB Adapter Kubernetes Pod MySQL Service MySQL Adapter Monitoring Service Adapters Normalize and Abstract
  • 17. Components: Ambassadors Kubernetes Pod Frontend Container MySQL Ambassador Container Container Container Read Slaves Container Write Master localhost Ambassadors Proxy and Represent
  • 19. Abstractions, ftw! : Reliability {Container, Health Check} Kubernetes Container Web: http://<container>/some/path/to/health Shell: exec /some/path/health.sh TCP: open <container> <port>
  • 20. Abstractions, ftw! : Replication {Template, Identifier, Num. Replicas} Replication Controller Container Container Container Container
  • 21. Abstractions, ftw! : Services {IP:Port, Identifier, Name} Discoverable Service Container Container Container Container DNS Service IP Container
  • 23. Patterns and Interfaces: Master Election Lock Service Cluster Manager http://<container>/healthz Container Container Container Container
  • 24. Patterns and Interfaces: Master Election Lock Service Cluster Manager http://.../master?master=container1 Container Container Container Container
  • 25. Patterns: Sharded HTTP Service http://foo.com/alpha http://foo.com/beta http://foo.com/gamma Kubernetes Service Container Container Container http://foo.com/alpha http://foo.com/beta http://foo.com/gamma
  • 26. Patterns: Hot Sharded HTTP Service http://foo.com/alpha @ 20 qps http://foo.com/beta @ 5 qps http://foo.com/gamma @ 5 qps Kubernetes Service Container Container Container http://foo.com/alpha http://foo.com/beta http://foo.com/gamma http://foo.com/alpha
  • 27. Patterns: Bigtable Kubernetes Service http://.../api/get?key=<key> http://.../api/set?key=<k>&val=<v> Container http://.../manage/shard/<shard>/split http://.../manage/shard/<shard>/merge http://.../manage/shard/<shard>/load http://.../manage/shard/<shard>/unload Data Interface Management Interface
  • 28. We’re building an os for the datacenter. Join us! #google-containers on FreeNode https://github.com/GoogleCloudPlatform/kubernetes https://cloud.google.com/container-engine/
  • 29. Stop