As more organizations deploy stateful containerized applications that require access to persistent storage, many of them are wrestling with a variety of issues including how to provision storage of Kubernetes clusters. To address that issue, Quobyte has added a Operator for Kubernetes tool that enables Kubernetes storage to be provisioned in minutes.
Quobyte provides a namesake distributed storage system based on Data Center File System that gets deployed as a set of containers on a Kubernetes cluster. Quobyte co-founder and CEO Björn Kolbeck says Operator for Kubernetes takes that concept a step further by providing control over where data gets placed, in addition to verifying services are running properly and performing rolling upgrades. Quobyte is based on concepts originally employed in XtreemFS, a distributed file system that Kolbeck and company CTO Felix Hupfeld led the development of during their tenure at Google to drive high performance computing (HPC) applications.
The underlying file system provides an abstraction that decouples commodity hardware to provide low-latency access to storage using a parallel I/O architecture usually only found in an HPC environment. That’s critical because as the number of containers running on a Kubernetes increases, the amount of I/O throughput using traditional storage systems becomes constrained.
Kolbeck says Quobyte can be deployed on Kubernetes either by providing only storage access to the applications running quobyte clients or by running the storage server so the entire storage system runs in Kubernetes.
Quobyte has also added a Container Storage Interface (CSI) plug-in to replace its in-tree persistent volume driver in Kubernetes, making it easier to consume Quobyte as persistent volumes in Kubernetes using a common user interface. The CSI plug-in provides dynamic provisioning and quota creation and soon will be extended to include support for open source Mesos clusters.
In general, IT organizations deploying stateful applications are gaining a greater appreciation for the I/O challenges associated with supporting containers. There can be hundreds of containers on a Kubernetes cluster, all trying to access the same physical storage resources. Quobyte addresses that issue by layering a parallel storage system on top of inexpensive commodity storage versus requiring organizations to acquire, deploy and manage a comparatively expensive storage platform that embeds software within a proprietary ASIC processor.
That parallelization capability is also going to be critical for supporting advanced analytics and artificial intelligence (AI) applications running on top of Kubernetes, adds Kolbeck, noting that, in fact, many of those applications lend themselves to hybrid cloud computing scenarios that span multiple instances of Kubernetes.
Most of the first wave of containerized applications were stateless. In the future, many of those applications may wind up running on serverless computing frameworks because they don’t require access to persistent storage. At the same time, the number of stateful applications built using containers running on Kubernetes is expanding. As the transition occurs, DevOps teams soon will find themselves being challenged by nuances of storage management that ranging from ensuring application service levels to maintaining high availability.