The Cloud Native Computing Foundation (CNCF) has graduated Rook, an open source storage orchestrator for Kubernetes clusters, at a time when the number of stateful applications being built and deployed using containers is starting to increase.
Rook automates deployment, bootstrapping, configuration, provisioning, scaling, upgrading and migration of storage services on Kubernetes platforms in addition to enabling disaster recovery, monitoring and resource management.
Jared Watts, a Rook maintainer and founding engineer for Upbound, a provider of an open source platform for private clouds, says each storage service made is configured using Kubernetes Operator tools. Storage platforms supported by Rook include Ceph, EdgeFS, CockroachDB, Cassandra, NFS and Yugabyte DB.
In effect, Watts says Rook builds on much of the work the storage interest group (SIG) within the Technical Oversight Committee for Kubernetes has advanced to enable Kubernetes clusters to access various types of persistent storage.
Since becoming an incubating project within the CNCF in September 2018, the core Rook repository has seen its contributors grow to 279 from 90, a 260% growth rate. According to the CNCF, 184 distinct contributors have authored more than 1,140 pull requests over the last 12 months. A security audit was performed by the CNCF Security SIG in December that resulted in 13 findings ranging in severity from High to Low. The Rook maintainers have taken steps to address these issues, says Watts.
Organizations that have deployed Rook in production environments include the California Institute for Telecommunications and Information Technology, Cloudways, Finleap Connect, Geodata and RadioSound.
Interest in deploying stateful applications on Kubernetes clusters is on the rise in part because many organizations don’t want to rely on a separate team to manage storage externally. It’s more cost-effective to enable the same IT staff that manage the Kubernetes cluster to also manage all the storage resources attached to that cluster.
Historically, most of the container applications deployed on Kubernetes were stateless to the degree they typically stored data on a legacy database. However, as more databases are deployed on Kubernetes clusters, the number of stateful applications being deployed has increased. As the number and types of stateful applications increase, there is an increasing need to automate storage management tasks across fleets of Kubernetes clusters that may have very different storage services attached.
It’s not clear to what degree traditional storage vendors will embrace Rook. In the meantime, early adopters of stateful applications are moving ahead with an open source platform that enables them to manage a wide variety of heterogeneous storage services without worrying about becoming locked into a specific storage system.
Regardless of the path forward, the days when IT organizations paid a premium to store data are coming to an end. As storage software is disaggregated from hardware, it becomes easier for IT teams to replace industry-standard drives as see fit. It may take a while for storage administrators to appreciate that fact, but like it or not storage systems, just like every other IT infrastructure platform, is being turned into code.