Enabling container-aware persistent storage with Mesosphere

By Abhijith Shenoy | | Containers

Enterprises are becoming increasingly aware that faster application delivery times and cost savings are available by using containers to encapsulate microservices. The container ecosystem has evolved over the past couple of years and has gained significant maturity for enterprise workloads. Docker has established itself as the de facto standard for deploying and managing containers;  promising faster application delivery times and the capability to seamlessly transfer workloads between data centers and clouds. Mesosphere makes modern enterprise applications easy to build, run, and scale with DC/OS, a data center-scale platform that elastically runs the complete modern application: containerized microservices and stateful data services.

One of the biggest hurdles that still exists for containerized production workloads is persistent storage. Traditional storage solutions are not capable of handling the fast-paced, short-lived, and cloud-native storage requirements of containerized applications. These solutions generally attach a lot of gravity to the storage, whereas containers by design are built to seamlessly span geographical boundaries.


Persistence – Hedvig’s storage fabric provides a persistence layer that enables DC/OS applications to withstand Docker container and node failures. The container gets access to its volumes instantly when it restarts.

High availability – The persistence layer also enables the containers to be rescheduled across different hosts in the cluster by eliminating the need to move the data associated with these containers. Thereby, providing resilience to host failures and realizing faster application failover times.

Flexibility – Hedvig software can run in containers and manage storage on DC/OS agent nodes enabling a true hyperconverged infrastructure for containers. A Hedvig cluster can also run independently providing external persistent volume support for one or more DC/OS clusters.

Cloud support – A Hedvig cluster can not only span your on-premise data centers, but public cloud vendors as well, such as AWS, Azure, and GCP. It allows you to build highly available hybrid clouds and multi-cloud containerized applications.

Application aware policies – Hedvig’s storage fabric lets you assign enterprise-class features such as compression, deduplication, and encryption on a per volume basis to best fit your application requirements.

Scalability – As more hosts are added to the cluster, Hedvig storage fabric grows seamlessly across new hosts, increasing the storage pool available for applications to consume.


To support stateful applications with containers, DC/OS enables application developers to provision persistent volumes. DC/OS dynamically creates persistent volumes along with the corresponding application container and subsequently mounts these volumes within the container. DC/OS provisions persistent volumes on Hedvig through the Docker volume plugin. Hedvig’s Docker volume plugin is installed on the DC/OS agents where Hedvig storage needs to be consumed. DC/OS utilizes this plugin for dynamic provisioning and consumption of Hedvig virtual disks. Each persistent volume provisioned by the Docker volume driver maps to a virtual disk on the Hedvig cluster. If an application with a persistent volume is moved or restarted on a new host, the Docker volume plugin will make the corresponding volume(s) available to the application on the new host.


There are two ways to deploy Hedvig with DC/OS:

  1. HyperScale deployment

Hedvig storage service is deployed outside of the DC/OS cluster. The Hedvig storage cluster can be scaled independently of DC/OS nodes and the Hedvig storage proxy can be deployed either on the DC/OS host or on a separate host. This allows an isolation of resources consumed by your compute layer (containers) and storage layer.

  1. HyperConverged deployment

Hedvig storage service, Hedvig storage proxy, and DC/OS nodes are deployed on the same host. All Hedvig services are deployed in the form of containers. Hedvig storage service can consolidate and virtualize all the storage disks attached to DC/OS hosts and the Hedvig storage proxy makes sure there is no additional network overhead between your containers and storage cluster. This deployment is the equivalent of a HyperConverged deployment for traditional virtualized infrastructures.

Hedvig’s DC/OS integration not only provides enterprise-grade storage for the containers, but it also enables modern, cloud-native, and cloud-first applications. Hedvig’s solution can easily fill the gap that exists in the way of building stateful and production ready containerized workloads.

You can also watch a demo of Hedvig’s container integrations here.