Forum Discussion

Rajagopal_V_'s avatar
9 years ago

Storage Management for Production Ready Docker

Dear Docker User,

Developers and System Administrators around the planet eagerly look forward to connect and share knowledge on what is needed to efficiently build, ship and run applications. The recent edition of Dockercon EU 2015 at Barcelona was the place to do just that and also saw Docker announcing Docker Universal Control Plane and Docker Swarm scaling to 50,000 containers in half a second. 2/3rd of the companies who evaluate Docker adopt it as per the Article and based on my interaction with Docker Community. Most of the hands on Docker users believe Storage is a key challenge to be solved for Stateful applications in Production ready Docker.


( Technology Exhibition )

Kubernetes is a widely used container management platform and is deployed and used by most of the customers whom I spoke to. However, Docker users would look at Swarm as an alternative considering they need not learn kubectl CLI. The demo which showed Docker Swarm scaling to 50,000 containers on 1000 machines was impressive. It is a testimony to the scaling potential of Docker and gave a tip of the iceberg of what is the future for clustering containers. Virtuozzo, a leading player showcased their solution on the Container migration use-case in the Black Belt track. The talk highlighted the complexities of Container Migration and how the challenges are being solved today which was very intriguing from the technical standpoint. It also provides new opportunities for Storage Management to evolve.

Developers spend a majority of their time waiting for tests to run and tracking down and reproducing bugs. Some of the interesting use-cases that got discussed were how one can speed up integration tests by caching database state as a commit, and rolling back to it rather than re-creating database from scratch every time one runs the tests. If the developer finds a bug which only manifests when the database is in a certain state, it is difficult to recreate the state. So, the use-case would be, how to save the database state for later debugging? It’s like creating bookmarks for development/production database.

One of the important topic in the conference was on how to orchestrate Persistent Storage Services for Docker. Veritas recently launched its Infoscale Plugin along with a whitepaper to guarantee Persistence for Docker Applications and also help in snapshotting or migrating data volumes to anywhere in the Datacenter. Please peruse the article to understand the value proposition. This plugin on Docker 1.8+ will make life easier for Developer and Operation admins to run distributed applications with stateful databases on persistent storage. 

The latest version of Docker handles storage via volume drivers and one of the goals for the feature is support for third-party storage hardware with custom behaviors in hyper converged environments. Better Storage Integration with Ceph, Glusterfs, ZFS, Veritas Infoscale and Flocker were some of the requests coming from Docker users.


( Meetup with Solomon Hykes, CTO Docker Inc )

This brings us to an interesting transition point on what would be the next set of use-cases to solve for Docker running on Production from the Storage perspective using Agile Development Methodologies. The vision is to have REST API to invoke advanced storage management features like Scalability, Quality of Service, Snapshots, Migration and Disaster Recovery directly from any Container Management Platform. It will also involve enabling Persistent Storage for a wide variety of heterogeneous storage with relevant customization for production environment from Veritas, the Software Defined Storage company.

In a Datacenter with multiple containers running, it would be key to easily identify the storage set associated to a container for each of the containers running on a specific host. From the manageability standpoint, I envisage comprehensive Integration with Docker Universal Control Plane and Veritas Infoscale Operations Manager would be valuable to make any relevant technology on Docker widely usable.

In summary, the architects who are considering to deploy Docker in production want Super Easy, highly resilient Storage Management, 100% Continuous Availability which would mean Zero Downtime and want applications to have the intelligence of self-healing.


with regards,

Rajagopal Vaideeswaran

Product Owner 

Information Availability - Storage