In the not-too-distant future, you're going to hear a lot more about the CNCF (Cloud Native Computing Foundation). The brainchild of Craig McLuckie, product manager for Google Cloud Platform and founder of Google's Kubernetes project, the CNCF will lead the development of a standardized, open source platform for managing next-gen enterprise clouds of Docker containers.
Why is the CNCF so important? Because the future of enterprise computing is the cloud, and the future of the cloud is in the emerging container layer enabled by Docker and its rapidly expanding ecosystem. Basically, the CNCF's mission is to take the hyperscale technology developed by such Internet giants as Google, Facebook, and Twitter and deliver it to the enterprise, resulting in what McLuckie calls "radical operational efficiencies."
In an interview last week, McLuckie told me the CNCF had not yet formally launched, but that a letter of agreement signed by all participating vendors was "very close." The list of supporting companies on the CNCF website already includes AT&T, Cisco, CoreOS, Docker, eBay, Goldman Sachs, HP, IBM, Intel, Joyent, Mesosphere, Red Hat, VMware, and others.
Google's Kubernetes, an open source container scheduler that provides orchestration capabilities, will be central to but by no means the entirety of the CNCF's technology development. McLuckie says he started the foundation in part because he felt the Kubernetes project as it stood wasn't open enough:
The project was an open-source project, but it was still a project that was being largely run by Google and Red Hat and CoreOS. It’s a small set of vendors, and a lot of other companies wanted to get involved deeply and start to take ownership and steer the technology. But they didn’t feel like it was fair for it to be just based and curated by a single vendor, so I knew I wanted to take the technology to a foundation.
The CNCF falls under the aegis of the Linux Foundation and its ambitions are indeed broader than Kubernetes. Here, in McLuckie's own words, are the three tenets of the CNCF's container-native endeavor:
- "The first is that what we’re doing is container-packaged. There will be a number of technologies that are germane to building, storing, and distributing container-packaged software."
- "The second tenet is that the technologies are dynamically scheduled and actively managed and orchestrated. There will be a set of technologies that support that. Kubernetes and Mesos are two examples, but we’ll also start looking to pull in physical resource provisioning capabilities, really start to address a lot of the needs of enterprises that want to run these types of solutions. It’s not just what is today; it’s also what we need to build to actually support enterprise. You can expect to see us addressing a lot of the needs of enterprises as they look to integrate these with existing identity stores and integrate it into modern SDN or software-defined storage properties."
- "The final piece of this is microservices R&D. We want to make sure that when you deploy something, it’s architected in such a way that it can be easily found, accessed, consumed, and bound to. So we will be providing that framework to actually support the discovery and consumption of the software, but we’ll also be providing a set of standard services that make it easy to build distributed systems."
Parts of the second tenet would seem to overlap with the OpenStack initiative. But McLuckie contends that while the CNCF is every bit as ambitious as OpenStack, it's intended to "work well with" OpenStack rather than compete with it. After all, the two operate at different layers.
Nonetheless, organizationally, the CNCF and OpenStack foundations sound similar, which raises another question: OpenStack has gained a reputation of being both sprawling and vendor-driven. In fact, some now maintain that OpenStack has stalled. How will the CNCF -- another organization supported by many vendors, each with their own agenda -- avoid meeting the same fate?
McLuckie has obviously thought deeply about this question. In the CNCF, he says, a technical oversight committee composed of nine elected members will keep everything on track. They will be "the holders and keepers of the vision and, therefore, the foundation -- in terms of where it should go, what the architectures should be, how the projects should relate, where the gaps are, and where we would like to see more effort." In addition, one of the "primary inputs" to the oversight committee will originate from a separate end-user committee where "vendors aren't welcome."
So what's Google's stake in all this? McLuckie offers a two-part response. First, Google thinks that "making the transition to cloud-native computing will increase the overall amount of compute used globally," which benefits everyone. Second, Google believes it will run the best implementation of cloud-native systems, thanks to its decade of production experience with containers. "Our goal is to let customers run their workloads anywhere and simply pick their provider based on the technical merit of their offering," he says.
Years ago, I heard Rackspace make similar claims when it launched the OpenStack initiative. A big part of Rackspace's motivation was to build a line of defense against Amazon Web Services devouring the cloud business whole -- including Rackspace's cloud business.
McLuckie didn't say this, but I can't help but think that the CNCF is in some measure a response to AWS's dominance as well, particularly because Google Cloud Platform has been slow to attract enterprise customers. An integrated stack of open source container management software for enterprise data centers, offered along with a "best implementation" in Google's own cloud, could make for a compelling hybrid play (and may also explain Microsoft's absence from the list of CNCF supporters).
It will be fascinating to see how all of this plays out. One thing I find particularly intriguing: Because the CNCF is all about the application layer, standardization could make application portability among clouds a real possibility -- not just lobbing around a few containers, but transporting whole, modern, orchestrated microservices applications from one cloud to another.
If the CNCF can reduce the threat of cloud lock-in as well as fill in the missing pieces of container-based computing for the enterprise, it will play a pivotal role in the future of enterprise computing.