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

Post on 22-Jan-2017

448 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Bastien LEGRAS, Google

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

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

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

Image by

Connie Zhou

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) .

User view

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

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!

User view

task-eviction ratesand causes

9

Failures

Images by

Connie Zhou

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

Failures

Multiple apps per machine

Sharing clusters between prod/batch

Advanced bin-packing algorithms

Efficiency

stranded resources

available resources

onemachine

Multiple apps per machine

Sharing clusters between prod/batch

Advanced bin-packing algorithms

Efficiency

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

app

agent

masterjob config

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.

A few other moving parts

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.

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.

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

http://kubernetes.io

Kubernetes

Kubernetes

Direct Borg analogues:

● Borg containers => Docker containers

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

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

specs● reconciliation loops

New / improved:

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

Kubernetes

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

Kubernetes: zero downtime update at 1 million requests per secondScales

Google Container Engine (GKE)Google Container Registry

bastien@google.com@bastienlegras

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

Images by Connie Zhou

RETROUVEZ TOUTE L’ACTUALITE DE L’EVENEMENT SUR LE

COMPTE TWITTER OFFICIEL @OSS_PARIS

top related