Persistent Data in a Microservices World
OPEN
SOURCE
PERSISTENT
DATA
CLOUD-SCALE
SOFTWARE
MICROSERVICES
Microservices Architectures are Evolving
Multiple Approaches to Data Persistence
RYAN WALLNER CLINT KITSON KAMAL SRINIVASAN
Today’s Speakers
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
Move/Deploy/Migrate Containers
Container
Start Container
Detach
--volume
Container
Start Container
Create/Attach
Volume
Unmount
Wait 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
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
Micro-Services and Persistence
Load Balancing
Services
Routing
Non-Persistent
Persistent
Persistence is evolving!
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
Example Mount
LibStorage?
DEMO: Docker Storage API with EMC Storage
Platforms
Docker Stateful Cloud Storage
Web AppsContent Repository Cloud ArchiveAnalytics
Global Namespace
Internet of Things
SITE 1 SITE 2 SITE 3
ECS Design Philosophy
Lego based
architecture
Docker Persistence
OS
Docker
Daemon
Hardware
Storage
Engine
Container
Any hardware
Any Linux distro
ECS Data Path
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
Finding All the New Code
http://github.com/emccode/rexray
https://github.com/emccorp/scaleio-flocker-driver
https://github.com/emccorp/xtremio-flocker-driver
https://www.youtube.com/watch?v=ufSbF0-pk_Q
https://www.youtube.com/watch?v=QKwNWTEE6hA
https://github.com/EMCECS/ECS-CommunityEdition
Thank you
Ryan Wallner (@RyanWallner)
Clint Kitson (@ClintonSKitson)
Kamalavasan Srinivasan (@kamal_srini)

Dockercon 2015 - Persistent Data in a Microservices World