Product, Partners

Support for stateful services and external storage in DC/OS | D2iQ

May 04, 2016



2 min read


Application containers are typically associated with stateless microservices and here-one-minute, gone-the-next workloads such as code testing. As container usage matures, however, they're going to start housing many more types of workloads, including mission-critical stateful applications such as databases. That's why Mesosphere is working closely with EMC and the open source EMC {code} team to bring meaningful support for stateful applications to the open source DC/OS platform.

One major focus of the partnership is the integration of the EMC REX-Ray technology with DC/OS, which will happen as part of an upcoming release. REX-Ray allows Docker containers, including those managed by DC/OS, to mount to external block storage systems such as Amazon Elastic Block Store, OpenStack Cinder, EMC Isilon, EMC ScaleIO, EMC XtremIO, EMC VMAX and Google Compute Engine persistent storage. When a REX-Ray-integrated DC/OS service needs to restart on new nodes, it will automatically attach to the preconfigured external storage volume.

The integration of REX-Ray and DC/OS is the continuation of work we first announced in October, around the release of EMC {code}'s Docker Volume Driver Interface Isolation Module (DVDI) and Docker Volume Driver CLI (DVDCLI). At present, REX-Ray includes its own drivers for easily attaching Docker containers to external volumes, while services running inside Linux cgroups (that is, those using the native Mesos containerizer) require the DVDI and DVDCLI tools in order to mount to external volumes.

DC/OS also supports stateful services via persistent direct-attached storage volumes. Using that feature, users can pin a service's data and resources to the node(s) on which the service was first launched. Persistent volumes help ensure that a failed service MySQL instance, for example, will restart as seamlessly as possible with the same resources and without data loss.

While persistent volumes via direct-attached storage provides a low-latency connection, there are plenty of reasons that DC/OS users might opt for external volume access via REX-Ray. For example, storage systems from industry leaders such as EMC are built for enterprise-grade reliability and security. Systems such as XtremIO deliver a combination of scale and performance that's nearly impossible to match on locally mounted hard drives. Flexibility is also a benefit of external volumes, because services can restart on any cluster node and still connect to the same storage.

The video below demonstrates a MySQL instance on DC/OS being suspended, having its compute nodes taken over by an Elasticsearch instance, and then restarting on new nodes with its previous state restored.

[video width="1152" height="720" mp4=""][/video]

DC/OS is the best, most-proven platform for running modern applications, but it can provide operational simplicity and high availability to traditional applications, as well. The ability to handle stateful workloads is and will continue to be important both, which is why Mesosphere and community partners like EMC are making sure DC/OS can handle whatever types of applications its users require.

Keep following Mesosphere and the DC/OS community for more exciting storage features to come. If you want to join Mesosphere and EMC {code} in helping improve DC/OS, visit its Community page or get hands-on with the code on GitHub.

Ready to get started?