18
highly available per sis tent applica tions in container s @kendrickcoleman emccode.com | github.com/kacole2

Highly Available Persistent Applications in Containers - DockerCon16

Embed Size (px)

Citation preview

Page 1: Highly Available Persistent Applications in Containers - DockerCon16

highly available persistent applications in containers

@kendrickcoleman

emccode.com | github.com/kacole2

Page 2: Highly Available Persistent Applications in Containers - DockerCon16
Page 3: Highly Available Persistent Applications in Containers - DockerCon16

Agenda

4 Persistence for containers, but why?

4 Volume Plugins with AWS in action

4 Performing fail-over of a container to another container host

Page 4: Highly Available Persistent Applications in Containers - DockerCon16

credit: LightBend (source: www.slideshare.net/Lightbend/the-6-traits-of-reactive-microservices)

Page 5: Highly Available Persistent Applications in Containers - DockerCon16

hub.docker.com7/12 are persistent

Page 6: Highly Available Persistent Applications in Containers - DockerCon16

What's the problem?

4 When I run a persistent application in a container, where does my data get stored?

4 one container holds the directory and structure of the application

Page 7: Highly Available Persistent Applications in Containers - DockerCon16

What's the problem?

4 lose a container. lose the data.

4 or use -v for local persistence. Will not tolerate server failure

Page 8: Highly Available Persistent Applications in Containers - DockerCon16

Enter Docker Volume Plugin Extensibility

4 simplified external storage usage for containers

4 Receives plugin requests from Docker Daemon for Volume Create/Remove/Mount/Unmount/Path

4 storage orchestration

4 /var/lib/plugin/volumes/

vol1/data

Page 9: Highly Available Persistent Applications in Containers - DockerCon16

Solving the problem

4 docker run --volume-

driver=xyz -v remoteVol:/mydata some-image

Page 10: Highly Available Persistent Applications in Containers - DockerCon16

Solving the problem

4 lose the container, data remains in tact on the remote volume

Page 11: Highly Available Persistent Applications in Containers - DockerCon16

Solving the problem

4 attach the volume to a new container on a different host. persisted state

Page 12: Highly Available Persistent Applications in Containers - DockerCon16

REX-Ray

4 github.com/emccode/rexray

4 First libStorage Client/Server (v0.4 6/21)

4 Storage Support (v0.3.3):

4 Virtualbox, AWS EC2 EBS, GCE Disk, OpenStack Cinder

4 EMC ScaleIO, XtremIO, Isilon & VMAX

4 HA Support via Preemption

Page 13: Highly Available Persistent Applications in Containers - DockerCon16
Page 14: Highly Available Persistent Applications in Containers - DockerCon16

Typical Install & Configuration (v0.3.3)

4 Installcurl -sSL https://dl.bintray.com/emccode/rexray/install | sh -

4 configuration file located at /etc/rexray/config.ymlrexray: logLevel: warn storageDrivers: - virtualbox mount: volume: preempt: truevirtualbox: endpoint: http://10.0.2.2:18083 tls: false volumePath: "/Users/<username>/VirtualBox Volumes" controllerName: SATA

Page 15: Highly Available Persistent Applications in Containers - DockerCon16
Page 16: Highly Available Persistent Applications in Containers - DockerCon16

Featured Projectsemccode.com

4 github.com/emccode/rexray

4 github.com/emccode/polly

4 github.com/emccode/libstorage

4 github.com/emccode/mesos-module-dvdi

4 github.com/RackHD/RackHD

Page 17: Highly Available Persistent Applications in Containers - DockerCon16
Page 18: Highly Available Persistent Applications in Containers - DockerCon16

Thank YOuWe're Hiring!

## community.emccode.com

@kendrickcoleman