tectonic summit 2016: the origins of kubernetes

29
The origins of Kubernetes Brendan Burns Microsoft Azure Container Service

Upload: coreos

Post on 16-Apr-2017

109 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Tectonic Summit 2016: The Origins of Kubernetes

The origins of KubernetesBrendan Burns

Microsoft Azure Container Service

Page 2: Tectonic Summit 2016: The Origins of Kubernetes

The origins of KubernetesBrendan Burns

Microsoft Azure Container Service

8

Page 3: Tectonic Summit 2016: The Origins of Kubernetes

Pre-history

1979 - chroot

1982 - BSD

2000 - FreeBSD jail

2005 - Solaris Zones/Containers

2006-2007 - Linux CGroups and Namespaces

2006 - AWS begins selling VMs

2008 - I join Google websearch infrastructure teams

Page 4: Tectonic Summit 2016: The Origins of Kubernetes

My Ops Experience

Dev. and On-call for Google Web-Search

No SSH

No imperative configuration

No room for errors

Page 5: Tectonic Summit 2016: The Origins of Kubernetes

My Ops Experience

Dev. and On-call for Google Web-Search

No SSH

No imperative configuration

No room for errors

Page 6: Tectonic Summit 2016: The Origins of Kubernetes

My Ops Experience

Dev. and On-call for Google Web-Search

No SSH

No imperative configuration

But lots of thoughts about Borg.

Page 7: Tectonic Summit 2016: The Origins of Kubernetes

A starting point: Borg

The merge of two systems:

Global Work Queue

Babysitter

Lots of organic growth, spread out over time

Utilization is the major problem to be solved

Page 8: Tectonic Summit 2016: The Origins of Kubernetes

A step forward: Seattle 2012

WebSearch leaves Seattle :(

But public cloud is growing :)

But public cloud is using VMs :(

But we can try to make it better :)

Declarative configuration

Server side deployment

Health maintainance

Page 9: Tectonic Summit 2016: The Origins of Kubernetes

The door flies open: Docker

2013 - Docker begins

Image format and build tools

Image distribution infrastructure

Container runtime

Page 10: Tectonic Summit 2016: The Origins of Kubernetes

The original idea: Seattle, Nov. 2013

Page 11: Tectonic Summit 2016: The Origins of Kubernetes

A minimally viable, open source Docker orchestrator

Only two challenges:

func orchestrate(...) error { …}

Page 12: Tectonic Summit 2016: The Origins of Kubernetes

The “minimally viable” borg: simplify ops

O(N) = O(1)

Page 13: Tectonic Summit 2016: The Origins of Kubernetes

The “minimally viable” borg: decouple all the things

Page 14: Tectonic Summit 2016: The Origins of Kubernetes

The “minimally viable” borg: naming

Page 15: Tectonic Summit 2016: The Origins of Kubernetes

The “minimally viable” borg: discovery

Page 16: Tectonic Summit 2016: The Origins of Kubernetes

Lessons learned: Be consistent

Page 17: Tectonic Summit 2016: The Origins of Kubernetes

Lessons learned: Everyone comes in the front door

https://www.flickr.com/photos/16210667@N02/13504685914

Page 18: Tectonic Summit 2016: The Origins of Kubernetes

Lessons learned: There is no hierarchyfrontend

bburns

Node - 1

backend

julia

Node - 1

frontend

julia

Node - 2

backend

bburns

Node - 2

Page 19: Tectonic Summit 2016: The Origins of Kubernetes

Lessons learned: There is no hierarchyfrontend

bburns

Node - 1

backend

julia

Node - 1

frontend

julia

Node - 2

backend

bburns

Node - 2

Page 20: Tectonic Summit 2016: The Origins of Kubernetes

Lessons learned: There is no hierarchyfrontend

bburns

Node - 1

backend

julia

Node - 1

frontend

julia

Node - 2

backend

bburns

Node - 2

Page 21: Tectonic Summit 2016: The Origins of Kubernetes

Lessons learned: There is no hierarchyfrontend

bburns

Node - 1

backend

julia

Node - 1

frontend

julia

Node - 2

backend

bburns

Node - 2

Page 22: Tectonic Summit 2016: The Origins of Kubernetes

Differences: It had to be public cloud

Page 23: Tectonic Summit 2016: The Origins of Kubernetes

Differences: It had to be open

Page 24: Tectonic Summit 2016: The Origins of Kubernetes

Differences: Build a community & ecosystem

Page 25: Tectonic Summit 2016: The Origins of Kubernetes

Three years later

Many, many clusters in production

40,000+ commits

1000+ contributors

191 Meetups around the world

3 extraordinarily humbled co-founders

Page 26: Tectonic Summit 2016: The Origins of Kubernetes

Unsolved problems: Configuration

App App

App

Page 27: Tectonic Summit 2016: The Origins of Kubernetes

Unsolved problems: Cloud development

Page 28: Tectonic Summit 2016: The Origins of Kubernetes

Unsolved problems: Scaling our community

Page 29: Tectonic Summit 2016: The Origins of Kubernetes

Thank You!