2. 2
community.emccode.com
• How are Container Platforms managed?
• Handling stateless apps and stateful services
• Everything running in containers
• Making the platforms understand data persistence
AGENDA
11. 11
community.emccode.com
• Enables apps and infra
to automatically find
parts of each other
• Keeps track of how to
connect and use the
application services
SERVICE DISCOVERY
14. 14
community.emccode.com
• Storing data (state) is a critical component of any
application
• Where they store this state defines their class
– Connected database
– In memory
– Local disk
APPLICATION STATE DIFFERENCES
17. 17
community.emccode.com
FROM oraclelinux:latest
ENV PACKAGE_URL https://repo.mysql.com/yum/mysql-5.7-community/docker/x86_64/mysql-community-server-minimal-5.7.12-
1.el7.x86_64.rpm
RUN rpmkeys --import http://repo.mysql.com/RPM-GPG-KEY-mysql && yum install -y $PACKAGE_URL && yum install -y
libpwquality && rm -rf /var/cache/yum/*
RUN mkdir /docker-entrypoint-initdb.d
VOLUME /var/lib/mysql
COPY docker-entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 3306 33060
CMD ["mysqld"]
MYSQL IN A CONTAINER
18. 18
community.emccode.com
APPLICATIONS BUILT FROM SERVICES
Front End or Non-Persistent
Data Services (Persistent)
Scale-Up
Scale-Out
Cassandra
Postgres
Redis
CouchDB
Elastic Search
Hadoop
MariaDB
Mysql
Nginx
HAProxy
MongoDB
RabbitMQ
Tomcat
Memcached
ScaleIO ECS
ApacheRails
Language Specific HTTP
19. 19
community.emccode.com
• No!
– Without proper storage mapped, the service will lose data
– Data doesn’t travel with the service if it’s stored on local
disk
• Yes!
– Automatically mapping modern storage backends delivered
by EMC, AWS, GCE, OpenStack and others
enables your data to be stored safely
STATEFUL SERVICES IN CONTAINERS?
21. 21
community.emccode.com
• Have been mostly focused on stateless apps
• Working hard on making stateful services part of
their inventory
• So how do you handle both types?
CONTAINER PLATFORMS
26. 27
community.emccode.com
• When a container starts, we can map storage to it
• For apps such as databases this is a necessity
• When a container stops, the storage is unmounted
and can be reused by another container
HOW DOES STORAGE IN CONTAINERS WORK?
27. 28
community.emccode.com
• Local storage locks the container’s data on one
server
• Using non-local storage gives us the possibility to
move containers across servers
• Having that possibility is crucial for HA environments
WHY NOT USE LOCAL STORAGE?
32. 33
community.emccode.com
• Gives you the possibility to use any storage platform,
and even multiple platforms at the same time
• Always in sync with Docker’s development cycle
• Integrated with Docker, Mesos and Kubernetes
REX-RAY BENEFITS