Dockercon 2015 - Persistent Data in a Microservices World

20
Persistent Data in a Microservices World

Transcript of Dockercon 2015 - Persistent Data in a Microservices World

Page 1: Dockercon 2015 - Persistent Data in a Microservices World

Persistent Data in a Microservices World

Page 2: Dockercon 2015 - Persistent Data in a Microservices World

OPEN SOURCE

PERSISTENTDATA

CLOUD-SCALESOFTWARE

MICROSERVICES

Microservices Architectures are Evolving

Page 3: Dockercon 2015 - Persistent Data in a Microservices World

Multiple Approaches to Data Persistence

Page 4: Dockercon 2015 - Persistent Data in a Microservices World

RYAN WALLNER CLINT KITSON KAMAL SRINIVASAN

Today’s Speakers

Page 5: Dockercon 2015 - Persistent Data in a Microservices World

What is Flocker?

• Portable Persistence• Databases + Containers• Solves Stateless vs. Stateful

Container Issues• Cluster Management• Uses Docker under the hood• Today: works with ZFS

(exp), EBS, OpenStack

Page 6: Dockercon 2015 - Persistent Data in a Microservices World

Move/Deploy/Migrate Containers

Container

Start Container

Detach

--volume

Container

Start Container

Create/AttachVolume

UnmountWait for IO

Deploy/Move/Migrate Container with your EMC Data Store!All steps happen automatically

Local EMC Storage

(Server SAN)

Shared External SAN(XtremIO)

Flocker Volume API

EMC Driver

Flocker Volume API

EMC Driver

Attach

Local EMC Storage

(Server SAN)

Shared External SAN

(XtremIO)

Stop Container

Page 7: Dockercon 2015 - Persistent Data in a Microservices World

Native Docker Integration

--volume-driver=flocker*

*https://github.com/ClusterHQ/flocker-docker-plugin github.com/emccorp/scaleio-flocker-driver github.com/emccorp/xtremio-flocker-driver 

Page 8: Dockercon 2015 - Persistent Data in a Microservices World

Micro-Services and Persistence

Load Balancing

Services

Routing

Non-Persistent

PersistentPersistence is evolving!

Page 9: Dockercon 2015 - Persistent Data in a Microservices World

Hello Volume Manager API!

• Volume Enhancements #13161- EXPERIMENTAL (Docker 1.7)

- Refactor Volume Interface

- Prepare for Volumes as 1st class citizens

- Create a plugin client in Docker to request storage from a Volume Manager API

• Enabling Storage and Virtualization Platforms to Provide

- Fast Bytes

- Data Services

- Data Mobility

- Availability

Page 10: Dockercon 2015 - Persistent Data in a Microservices World

Example Mount

Page 11: Dockercon 2015 - Persistent Data in a Microservices World

LibStorage?

Page 12: Dockercon 2015 - Persistent Data in a Microservices World

DEMO: Docker Storage API with EMC Storage Platforms

Page 13: Dockercon 2015 - Persistent Data in a Microservices World

Elastic Cloud Storage 2.0

Page 14: Dockercon 2015 - Persistent Data in a Microservices World

Docker Stateful Cloud Storage

Web AppsContent Repository Cloud ArchiveAnalytics

Global Namespace

Internet of Things

SITE 1 SITE 2 SITE 3

Page 15: Dockercon 2015 - Persistent Data in a Microservices World

ECS Design Philosophy

Lego based architecture

Page 16: Dockercon 2015 - Persistent Data in a Microservices World

Docker Persistence

OS

Docker Daemon

Hardware

Storage Engine

Container

Any hardware

Any Linux distro

Page 17: Dockercon 2015 - Persistent Data in a Microservices World

ECS Data Path

Page 18: Dockercon 2015 - Persistent Data in a Microservices World

FREE ECS Software 2.0

• Free Unlimited capacity

• Free Unlimited time

• Go from application prototype to production faster

• Container-ized download available on DockerHub June 22nd

• Community driven support

Page 20: Dockercon 2015 - Persistent Data in a Microservices World

Thank youRyan Wallner (@RyanWallner)Clint Kitson (@ClintonSKitson)Kamalavasan Srinivasan (@kamal_srini)