You know those concerns about open source foundations going too broad? Today’s announcement of the CNCF Rook project won’t help with that.

The CNCF (or, for those more formally-inclined, Cloud Native Computing foundation) is the body that was set up to manage a bunch of open source initiatives, all aligned with helping organizations emulate the infrastructure approaches that the largest of web-scale companies follow. Perhaps the best-known project and the one which gave CNCF a start is Kubernetes. Kubernetes is, of course, itself an open source initiative created by Google and directly descendent from the system it uses to run its own infrastructure, Borg.

But since it’s inception, the CNCF has broadened its footprint. There are two ways to look at this: the proponents of this approach suggest that this broadening is only natural and is a pragmatic way of CNCF making sure all the different requirements that users have been ticked off. More conservative souls would suggest that this is an example of a foundation that lacks focus, and that is trying to be all things to all people. These folks would point to the early days of Linux when benevolent dictators Linus Torvalds held a steely grip over the breadth of the project. They would suggest that what CNCF (and, for that matter, the OpenStack Foundation) lacks is such a strong figurehead.

Anyway, the CNCF has grown to the point where it hosts 14 individual projects, including Kubernetes, Prometheus, OpenTracing, Fluentd, Linkerd, gRPC, CoreDNS, containerd, rkt, CNI, Envoy, Jaeger, Notary, and TUF. And those projects are officially being joined today by a 15th, Rook, with the CNCF having just voted to accept Rook as a CNCF Inception-level project. Rook is CNCF’s first project in the storage space but something tells me it won’t be the last.

The Problem

Data. All of these compute paradigms – Kubernetes, Dockers and their ilk – tend to conveniently ignore the fact that some workloads are data intensive and rely on at least a degree of persistence for that data. Most Kubernetes deployments abstract this data requirement out to external storage systems, be they Block, File or Object stores. In public cloud deployments, that typically means using managed services like EBS, S3, and EFS. On-premise deployments rely on storage systems like NFS or traditional-IT storage solutions and hardware.

While this works, it kind of doesn’t make sense. Far better to run these storage systems seamlessly alongside the applications and services that are actually consuming the storage. It all helps deliver easier portability and higher levels of self-sufficiency. Commenting on this data-centric strategy, Chris Aniszczyk, COO of the CNCF says that:

Storage is one of the most important components of cloud native computing, yet persistent storage systems typically run outside the cloud-native environment. We created the Storage Working Group to address these gaps and to help bring more stateful and data-intensive workloads to cloud native computing. Rook advances these strides by enabling storage systems to run directly on-top of cloud-native environments.

Instead of building an entirely new storage system which requires years to mature, Rook focuses on turning existing storage systems like Ceph into a set of cloud-native services that run on-top of Kubernetes. Rook integrates into Kubernetes providing a consistent experience for security, policies, quotas, lifecycle management, and resource management.

Inception-level. Sounds like a sci-fi movie

Rook is an Inception-level project. The CNCF Graduation Criteria by the TOC provides every CNCF project an associated maturity level of either inception, incubating or graduated, which allows CNCF to review projects at different maturity levels to advance the development of cloud-native technology and services. At a minimum, an Inception-level project is required to add value to cloud-native computing and be aligned with the CNCF charter.

Rook availability and features

An alpha version of Rook (release 0.6) is available now, followed by a beta and production ready versions in the first half of 2018. The main features of Rook are:

  • Software-defined storage running on commodity hardware
  • File, block and object storage presentations integrated with Ceph
  • Hyper-scale or hyper-converged storage options
  • Elastic storage that can easily scale up or down
  • Zero-touch management
  • Integrated data protection with snapshot, cloning, and versioning
  • Deployable on Kubernetes.

MyPOV

I get the project sprawl arguments and am a strong proponent for CNCF retaining focus. That said, Rook isn’t at all discreet from the CNCF value proposition – data is still an issue and by resolving many of the data issues inherent around Kubernetes, CNCF-s support will make Kubernetes adoption easier. It will be interesting to see further developments in the cloud-native storage area.

 

Ben Kepes

Ben Kepes is a technology evangelist, an investor, a commentator and a business adviser. Ben covers the convergence of technology, mobile, ubiquity and agility, all enabled by the Cloud. His areas of interest extend to enterprise software, software integration, financial/accounting software, platforms and infrastructure as well as articulating technology simply for everyday users.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.