keynote #tech - google : aperçu de la gestion des services distribués chez google, par bastien...

25
Bastien LEGRAS, Google Google : aperçu de la gestion des services distribués chez Google

Upload: paris-open-source-summit

Post on 22-Jan-2017

448 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

Bastien LEGRAS, Google

Google : aperçu de la gestion des services distribués chez Google

Page 2: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

De Borg à Kubernetes ou l’art d’ordonnancer des tâches

Bastien Legras (@bastienlegras)Google Cloud Platform - Solution Engineering

Page 3: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

Image by

Connie Zhou

Page 4: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

job hello_world = { runtime = { cell = 'ic' } // Cell (cluster) to run in binary = '.../hello_world_webserver' // Program to run args = { port = '%port%' } // Command line parameters requirements = { // Resource requirements ram = 100M disk = 100M cpu = 0.1 } replicas = 5 // Number of tasks}

10000

User view

(optional) .

Page 5: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

User view

Page 6: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

What justhappened?

web browsers

BorgMaster

link shard

UI shardBorgMaster

link shard

UI shardBorgMaster

link shard

UI shardBorgMaster

link shard

UI shard

Cell

Scheduler

borgcfg web browsers

scheduler

Borglet Borglet Borglet Borglet

BorgMaster

link shard

read/UI

shard

Config file

persistent store (Paxos)

Binary

User view

Page 7: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

Hello world! Hello

world!Hello

world!

Hello world!

Hello world!

Hello world! Hello

world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world! Hello

world!

Hello world!

Hello world!

Hello world!

Image by Connie Zhou

User view

Hello world!

Hello world!

Hello world! Hello

world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world! Hello

world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world! Hello

world!

Hello world!

Hello world!

Hello world!

Hello world!

Page 8: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

User view

Page 9: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

task-eviction ratesand causes

9

Failures

Page 10: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

Images by

Connie Zhou

A 2000-machine service will have >10 task exits per dayThis is not a problem: it's normal

Failures

Page 11: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

Multiple apps per machine

Sharing clusters between prod/batch

Advanced bin-packing algorithms

Efficiency

stranded resources

available resources

onemachine

Page 12: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

Multiple apps per machine

Sharing clusters between prod/batch

Advanced bin-packing algorithms

Efficiency

Page 13: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

A few other moving parts

web browsers

BorgMaster

link shard

UI shardBorgMaster

link shard

UI shardBorgMaster

link shard

UI shardBorgMaster

link shard

UI shard

Cell

Scheduler

borgcfg web browsers

scheduler

Borglet Borglet Borglet Borglet

BorgMaster

link shard

read/UI

shard

Config file

persistent store (Paxos)

Binary

Page 14: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

app

agent

masterjob config

A few other moving parts

Page 15: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

app

agent

master

system config

monitoring

security

accounting/planning

binaries + data distribution

job config

storage

Diagram from an original by Cody Smith.

A few other moving parts

Page 16: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

A few other moving parts

app

agent

master

system config

monitoring

security

accounting/planning

binaries + data distribution

job config

storage

Diagram from an original by Cody Smith.

Page 17: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

Building what’s next 17

Containers at Google

Developed as the only practical way to manage Google-scale compute

Everything at Google runs in a containerWe launch over2 Billioncontainers per week.

Page 18: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

κυβερνήτης: pilot or helmsman of a ship

http://kubernetes.io

Kubernetes

Page 19: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

Kubernetes

Direct Borg analogues:

● Borg containers => Docker containers

● alloc (task group) => pod (container group)

● Borglet => Kubelet● Paxos => persistent, declarative

specs● reconciliation loops

Page 20: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

New / improved:

● labels + label queries● service abstraction● composable microservices● IP per pod

Kubernetes

Page 21: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

Kubernetes RoadmapMilestones• 1.0 stable in June 2015• 1.1 Nov 9th 2015 (perf, pod autoscaling, http LB,

no APi change)

Cloud Native Computing Foundation• Linux Foundation• VMWare, RedHat, Joyent, Mesosphere, Docker,

IBM, CloudFoundry, CoreOS, Cisco, Google, …• cncf.io

Page 22: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

Kubernetes: zero downtime update at 1 million requests per secondScales

Page 23: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

Google Container Engine (GKE)Google Container Registry

Page 24: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

[email protected]@bastienlegras

http://kubernetes.io http://goo.gl/1C4nuo (Borg paper)

Images by Connie Zhou

Page 25: Keynote #Tech - Google : aperçu de la gestion des services distribués chez Google, par Bastien LEGRAS

RETROUVEZ TOUTE L’ACTUALITE DE L’EVENEMENT SUR LE

COMPTE TWITTER OFFICIEL @OSS_PARIS