docker orchestration at production scale

21
Docker Orchestration at Production Scale Andrea Luzzardi Software Engineer, Swarm Victor Vieux Software Engineer, Swarm

Upload: docker-inc

Post on 16-Apr-2017

4.631 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Docker Orchestration at Production Scale

Docker Orchestration at Production Scale

Andrea LuzzardiSoftware Engineer, Swarm

Victor VieuxSoftware Engineer, Swarm

Page 2: Docker Orchestration at Production Scale

Agenda

Scale- Production Ready - Performance DEMO

Compose +

Swarm +

Networking

Networking- New networking model

Storage- New volumes management

Page 3: Docker Orchestration at Production Scale

Swarm

3

Swarm 1.0: Production Ready

What do we need for production?

Scale Network Storage

Page 4: Docker Orchestration at Production Scale

ScaleProduction Ready Performance

Page 5: Docker Orchestration at Production Scale

Scale

5

Scale tests

1,000 nodes 30,000 containers 1 Swarm Manager

Page 6: Docker Orchestration at Production Scale

Scale

6

Scale tests

API Scheduling 50th 150ms 230ms 90th 200ms 250ms 99th 360ms 400ms

Page 7: Docker Orchestration at Production Scale

Scale

7

Page 8: Docker Orchestration at Production Scale

Scale

8

Lab

Manager: m4.xlarge (4 CPUs, 16GB RAM) Nodes: t2.micro (1 CPU, 1GB RAM) Discovery: consul

https://github.com/aluzzardi/swarm-bench

Page 9: Docker Orchestration at Production Scale

NetworkingNew networking model

Page 10: Docker Orchestration at Production Scale

Networking

10

Create private network just for your application

- each container gets a private ip on the network. - containers can join multiple networks.

Service discovery

- /etc/hosts is populated with other containers in the network. - access containers by name.

Page 11: Docker Orchestration at Production Scale

Networking

11

Batterie Included but swappable

two drivers included: - bridge (single host) - overlay (multi host)

but you can use 3rd party drivers or create you own - calico - weave - nuage networks - cisco - your own ?

Page 12: Docker Orchestration at Production Scale

Networking

12

New CLI commands

top level command: docker network

docker network ls - list networks

docker network create / rm - create and remove networks

docker network attach / detach - attach / detach a container to / from a network

docker network inspect - inspect a network

Page 13: Docker Orchestration at Production Scale

Networking

13

Swarm uses overlay networks by default

$> docker network create my_network 769ec703ef86536362ab435cf33427d0 $> docker network ls NETWORK ID NAME DRIVER 1e354b3eb444 node-1/bridge bridge 6a5b2f59c690 node-1/none null 1fd06af38540 node-1/host host 769ec703ef86 my_network overlay 6209426a12c3 node-2/bridge bridge e11e7529938d node-2/none null 9bc97dc763a3 node-2/host host

Page 14: Docker Orchestration at Production Scale

StorageNew volumes management

Page 15: Docker Orchestration at Production Scale

Storage

15

Persistent storage across machines

- Volumes are now a top-level concept - Can be created, destroyed and attached independently

Page 16: Docker Orchestration at Production Scale

Storage

16

Volume Drivers

by default, local bind mount

but you can use 3rd party drivers or create you own - glusterfs - sshfs - keywhiz - your own ?

Page 17: Docker Orchestration at Production Scale

Storage

17

New CLI commands

top level command: docker volume

docker volume ls - list volumes

docker volume create / rm - create and remove volume

docker volume inspect - inspect a network

Page 18: Docker Orchestration at Production Scale

DEMOSwarm + Compose + Networking

Page 19: Docker Orchestration at Production Scale

Demo

19

D

DockerCLI

Page 20: Docker Orchestration at Production Scale

Demo

20

D

DockerCompose

Page 21: Docker Orchestration at Production Scale

Thank you!Andrea Luzzardi @aluzzardi / [email protected]

Victor Vieux @vieux / [email protected]