Scale-out file system supplier Qumulo has made its file services available to Kubernetes-orchestrated containers via a CSI driver plug-in.
CSI, the Container Storage Interface, enables stateless containers orchestrated by Kubernetes to request and consume storage services such as volume provisioning, data read and writes, and protection from external storage. They effectively support statefulness. Qumulo’s Core product provides scale-out file services and runs in its own on-premises appliances, third-party servers in its Server Q form, and also, in its Cloud Q incarnation, in the public clouds – AWS, Azure, and GCP.
Sean Whalen, Qumulo senior cloud product marketing manager, wrote in a blog: “Now, customers innovating using Kubernetes don’t have to set up a storage interface each time a cluster is set up or knocked down – the process is automatic and provides the containerized application maximum exposure to the Qumulo analytics so that customers can easily understand what’s happening across their stored data.”
The CSI driver is Qumulo production preview software and provides exposure to Qumulo analytics for containerized applications so that customers can understand what’s happening across their stored data.
Kubernetes operates a cluster of machines, starting and stopping containers on behalf of its users. CSI allows the Kubernetes orchestrator and individual containers to connect to external (persistent) storage. Qumulo storage will automatically deploy inside a new container and supports the movement of storage from container to container and machine to machine.
Ben Gitenstein, VP of product at Qumulo, said: “Qumulo’s new CSI driver enables customers to store unstructured data once but serve it to an infinite number of both native applications and container-based microservices – all without moving data, copying it to disparate systems, or changing their workloads. Customers who store their data on Qumulo can now focus their time on building modern applications, not on moving or managing their data.”
Qumulo is not alone here. CSI driver support is table stakes for external storage suppliers. Dell’s PowerScale/Isilon already supports CSI as do HPE’s Primera and Alletra products, IBM’s FlashSystem, NetApp’s ONTAP software, Pure Storage, and Weka with its scale-out, parallel filesystem software.
Beyond CSI, external storage software can be made into a container itself. Examples are Pure’s Portworx, MayaData’s OpenEBS Mayastor product, Ondat (rebranded StorageOS), and Robin.io’s cloud-native storage. These storage containers execute inside a server’s environment and link to the server’s own physical storage or to external storage.
StorageOS, for example, aggregates the local disk storage in a cluster of servers (nodes) into one or more virtual block storage pools. Storage in the pool is carved out into virtual volumes and app containers in the nodes mount and access these virtual volumes via the storage container.
When executing in the public clouds, they would use the CSP’s storage services. Either on-premises or in the public clouds Kubernetes will be used to orchestrate and manage the storage containers as well as the application containers for DevOps users.
A storage container runs like any other app container with no dependencies on proprietary kernels, hardware, storage protocols or other layered services – customers are freed from lock-in to these things. In theory, a storage container should respond more quickly to app container requests for storage services as the link is direct rather than hopping across network links to an external storage system. The storage container should also scale out beyond the limit of, for example, a dual-controller array.
Storage consultant Chris Evans has said: “I doubt any storage array could cope with creating and destroying hundreds of volumes per hour (or more), whereas on (Ondat) StorageOS, those constructs are mainly in software on the same node as the application, so can be created/destroyed in milliseconds.”
It seems possible that there will be a phase 2 in Qumulo’s support of containerization, with its Core software eventually becoming cloud-native itself.