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

Docker Orchestration at Production Scale

Apr 16, 2017

Download

Technology

Docker, Inc.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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]