Software startup StorageOS has launched its first product in an effort to solve thorny problems hindering adoption...
of containers in primary storage.
StorageOS software provides persistent storage to containerized applications and adds data protection and management features for Docker volumes. Concerns about data persistence and lack of integrated data protection are obstacles for providing storage for containers.
The vendor's eponymous software-defined storage product is a container-based virtual storage array (VSA). It allows application development teams to provision storage to each individual Docker volume inside a container, within rules set by storage administrators. The VSA distribution is a prepackaged Linux ISO image file based on Ubuntu, containing the full Docker runtime.
A StorageOS beta version is available for development teams building applications with containers. A commercial edition is slated for general availability in September. StorageOS said its product paves the way for deploying enterprise-grade persistent storage containers in production.
"At the moment, containers are very focused on making it easy for developers to build and scale new applications," said Chris Brandon, CEO at StorageOS. "We want to do the same thing for storage, but we're conscious of the need to include governance, operational procedures and rules to meet the compliance requirements enterprises have in a production environment."
The StorageOS virtualization layer allocates storage to a specific Docker volume in other application containers. Industry-standard servers, hypervisors, cloud storage or bare-metal hardware can serve as a StorageOS destination target. It sits at the application layer and uses a Linux interface to communicate directly with the storage it manages.
Stateful, persistent containers needed for enterprise storage
Chris BrandonCEO, StorageOS
Containers are stateless, meaning database, log and user data is at risk of loss should the container cease to function. Persistence of data as containers get moved around a cluster is another obstacle.
"We focus on delivering stateful, high-availability containers for the container market," Brandon said. "We're a storage array that's based in a container, and we present storage to containers built with Docker and Google Kubernetes. We also have the ability to connect to existing legacy Fibre Channel and iSCSI storage in your center."
StorageOS launched operations in the U.K. in 2013, and it has an offshore development team in Malta and a sales office in Luxembourg. Brandon said the company is opening North American headquarters in the U.S. this year to coincide with the commercial rollout.
Labels assign storage, data services to each Docker volume
StorageOS presents data to its data plane using plug-ins or traditional block and file storage protocols. Supported data services include clones, inline compression and deduplication, snapshots, and asynchronous and synchronous replication between physical storage and multiple clouds. A rules engine automates those services. A quality-of-service layer allows IOPS thresholds to be set at a per-Docker-volume level. A sizing tool known as Advisor helps approximate the amount of flash or RAM cache needed to meet performance expectations.
The beta version provides storage drivers for Amazon Web Services, Google Compute Engine, VMware VMDK files and bare-metal SCSI SAS.
The StorageOS platform includes erasure coding with three-disk parity to protect against individual disk failure. Cluster-based replicas provide a safeguard for node failure.
StorageOS typically runs on the same node as the containers it supports. If a container migrates to another node, StorageOS moves the container's connectivity and its data to keep it persistent to local disk. Encryption includes data at rest and in flight.
Scott Sinclair, a senior analyst with Enterprise Strategy Group Inc., in Milford, Mass., said StorageOS uses a labeling technique for assigning different data services to each Docker volume.
"You can set up a policy to replicate every volume that falls into the category of production," Sinclair said. "The labeling technology will apply the 'production' label to all the volumes you choose, and then apply the same policy to all of them automatically. The programmatic aspect helps simplify the management of storage containers in an application development environment."
Developers can download StorageOS as a 30-day trial. An instance of StorageOS needs to run on each node in the cluster. Customers pay for the amount of storage consumed across the cluster. Brandon said a commercial edition in September will cost $29.95 per month, per cluster for 1 TB of storage, with additional storage costing "pennies per gigabyte."
StorageOS also plans a free developer edition that leaves out features such as snapshots, clones, encryption, quality of service and high availability.
Dealing with Docker containers and virtual storage
How to handle Docker volumes in storage
Primary storage to soon use Docker containers