Aqua Blog

5 Essential Docker Storage Tools

5 Essential Docker Storage Tools

Storage has been a hot topic for as long as containers have been around. According to a survey by Portworx, 26% of IT pros cite persistent storage as the most difficult challenge in adopting containers, and 44% blame inadequate tools as the main reason. Although containers are stateless by design, the need to store data beyond a container’s lifespan has led to the creation of dozens of tools and plugins. However, these tools have to fit a complex set of requirements, including:

  • Persistence beyond the lifespan of a container
  • Available to containers that may jump between different hosts
  • Redundant in case of a host or network failure
  • Secure against unauthorized access or breaches
  • Maintainable through orchestration tools such as Kubernetes, Docker Swarm, Mesos and Nomad

In this post, we’ll present 5 popular container storage solutions and their approach to these issues.

1. Portworx

Portworx provides persistent storage for containers by managing object, block, and file storage across a cluster, and it’s managed entirely using containers. Each host runs a Portworx container that adds the host’s storage resources to the Portworx cluster. The cluster then creates a global resource pool, which you can partition into smaller volumes for use in your containers. As containers write to these volumes, Portworx continuously replicates the data across the cluster. Because Portworx is entirely container-driven, you can deploy, configure, and scale Portworx using Docker, Kubernetes, Rancher, or other tools.

Portworx provides a free limited license as well as commercial licenses.

2. BlockBridge

For many organizations, container security is the primary barrier to adopting Docker. While many platforms provide basic security tools such as volume encryption, BlockBridge emphasizes it from the start. BlockBridge natively supports features such as multi-factor authentication, one-time passwords (OTPs), end-to-end encryption, and secure erasure. This ensures that even shared volumes can’t be accessed, attached to, recovered, or even discovered on the host without proper authentication.

BlockBridge is a commercial product and comes with a limited trial.

3. StorageOS

Despite the name, StorageOS isn’t an OS but an elastic storage platform. Like Portworx, StorageOS pools resources from hosts running either a StorageOS container or Docker plugin. You can format these volumes using a standard filesystem such as ext4 and access them using any container. StorageOS also supports caching to memory, end-to-end compression, QoS, and real-time replication.

StorageOS is available with a free limited license or a paid enterprise license.

4. REX-Ray

Many of the storage solutions in this list use their own internal storage backends, or only allow you to connect to one backend at a time. REX-Ray, on the other hand, combines multiple storage backends under a single interface. A host running the REX-Ray service presents these as standard data volumes, allowing containers to leverage them without knowing the underlying backend. REX-Ray integrates with storage providers such as Ceph, AWS, and even VirtualBox.

REX-Ray is also the first solution to support the Container Storage Interface (CSI) specification, a universal standard that would allow orchestration tools to share storage plugins. If other plugins adopt the CSI standard, it will simplify the ability to both create and use storage plugins for use in different environments. In the meantime, REX-Ray provides plugins for Docker, Kubernetes, Mesos, and any orchestration tools.

REX-Ray is an open source project maintained by the {code} team.

If all goes well by 2018, container orchestration storage will have a real standard and it will be much easier to interoperate between the major container orchestration programs. That will make life much easier for both developers and corporate container users.” 
Steven J. Vaughan-Nichols, Source

5. Diamanti

Founded by Cisco UCS veterans, Diamanti takes a different approach to container storage by packaging it as a hardware appliance. It is a hyperconverged container platform with storage, networking, compute, Docker, and Kubernetes built in.

Their solution comes in the form of a PCIe server card containing networking and storage controllers. These controllers create virtualized networking and storage management systems that are meant to handle any container I/O operations. Because of this, Diamanti works on bare metal container environments and at the moment, supports Kubernetes. When multiple cards are deployed in the same cluster, they create a distributed traffic management system that monitors traffic between hosts and provides insight into the health of your container network.

While there are established products in the market, container storage is still a maturing field. 2018 may see greater adoption of the CSI standard, which promises to improve container storage between orchestration programs. With nearly 70% of organizations planning to invest in container technology, we’ll likely see several changes in the container orchestration and storage landscape over the next year.

 

Rani Osnat
Rani is the SVP of Strategy at Aqua. Rani has worked in enterprise software companies more than 25 years, spanning project management, product management and marketing, including a decade as VP of marketing for innovative startups in the cyber-security and cloud arenas. Previously Rani was also a management consultant in the London office of Booz & Co. He holds an MBA from INSEAD in Fontainebleau, France. Rani is an avid wine geek, and a slightly less avid painter and electronic music composer.