With the recent launch of the Cloud Foundry Foundation, we wanted to reflect back on the past year competing against Cloud Foundry in the PaaS space and discuss what we see for the upcoming year. Back in February, when the Foundation was first announced, a few media pundits predicted we would “shutter” OpenShift by the end of this year and join the Cloud Foundry Foundation. So now that the Foundation is formally launched and the end of year is approaching, does that mean we will be joining forces? Well … no. And I would like to take this opportunity to explain why.
First Things First
First, we would like to congratulate the Cloud Foundry community on their decision to hire the Linux Foundation to manage project governance. Open source governance is a difficult challenge that is often underestimated by proprietary software vendors. Red Hat has seen this firsthand through our involvement in numerous open source projects and foundations over the years. There is no one better than Jim Zemlin and the Linux Foundation to guide Cloud Foundry’s efforts. However, as commercial vendors like Pivotal and IBM have already expressed their intent to layer their own proprietary products on top of Cloud Foundry, it will also be interesting to watch how the fragmentation and incompatibility that often comes with an “open core” approach can be avoided.
OpenShift Origin, like Cloud Foundry, is an open source community project released under the Apache v2 license, hosted on Github, and was recognized last year as a standout among all Github projects. OpenShift Origin is then the foundation for Red Hat’s OpenShift Enterprise on-premise private PaaS product and OpenShift Online hosted public PaaS service, as well as other partner products and services. Like most other open source projects, OpenShift Origin is not currently governed by a foundation model. One reason for this is that OpenShift Origin is not a standalone project, but actually the combination of multiple upstream open source projects that combine to provide a best of breed PaaS platform. In our latest community version, this includes community projects like Docker, Kubernetes and Project Atomic. While we constantly evaluate governance options for OpenShift Origin, right now our focus is on participating deeply in all of these communities and driving innovation forward.
Embracing Open Source Innovation
For well over a year now, we have been charting the next major release of OpenShift. One of the first things we decided was to embrace the industry momentum around Linux containers and standardized application packaging driven by the Docker project. We have leveraged Linux containers in OpenShift since our first release almost 4 years ago and understand as well as anyone the tremendous benefits in speed, efficiency and deployment flexibility that containers bring.
In September 2013 we were one of the first software vendors to announce our plans to support Docker. Since then Red Hat has led the way in driving this new standard, as one of the leading contributors to the Docker project. We released support for Docker in Red Hat Enterprise Linux 7 this past June and have been building our next generation of OpenShift on this new container core.
The Cloud Foundry PaaS also leverages Linux containers technology, based on their own platform-specific Warden container management API. Rather than natively integrate Docker, the Cloud Foundry community has announced plans to build around an updated version of Warden, called Garden, for their next major release.
With Linux containers at the core of many modern cloud application platforms, we felt it would be a lost opportunity to not embrace an emerging container standard. Red Hat has always worked to drive upstream standards in the Linux community, to help avoid technology fragmentation, and with containers we see the need for a similar approach. Standards for container formats (including packaging, APIs, index metadata) also enable us to collaborate with vendors like Google, Microsoft, IBM and others who have similarly decided to support Docker. In fact two of our own OpenShift developers are now core maintainers on the libcontainer and docker sub-projects. We see this as the best direction for OpenShift.
Around the Warden container core, Pivotal announced that their next generation Cloud Foundry platform plans to leverage a new container orchestration, scheduling and management engine called Diego. Like Garden, Diego is a Go-based rewrite of the existing Cloud Foundry orchestration engine. While Diego introduces some interesting concepts, the OpenShift Origin community had different ideas around the best way to orchestrate and manage containers at scale.
Earlier this year Red Hat announced our decision to collaborate with Google on the Kubernetes open source project for container orchestration and management and bring this capability to OpenShift. Kubernetes is an open source project launched by Google for managing a cluster of Linux containers as a single system. Given Google’s deep expertise in container technology and managing what is likely the largest containerized datacenter infrastructure in existence, we felt that standardizing on Kubernetes would be the right choice for OpenShift users. Today Red Hat is contributing extensively to Kubernetes, and working with the community to bring these capabilities to enterprise customers in OpenShift, Red Hat Enterprise Linux and Red Hat Enterprise Linux Atomic Host. And unlike Cloud Foundry Diego, we aren’t investing in an OpenShift-specific container orchestration solution, but one that is being supported by a number of vendors including Microsoft, IBM, Mesosphere, CoreOS and more.
OpenShift and Cloud Foundry platforms both run on Linux. However, OpenShift is the only PaaS that is certified on Red Hat Enterprise Linux, enabling customers to leverage a secure and reliable operating system environment and make use of their existing Linux datacenter infrastructure and associated management processes for on-premise deployments. As previously mentioned, with the release of Red Hat Enterprise Linux 7 in June, Red Hat now supports Docker-based containers, but we haven’t stopped there. Earlier this year, Red Hat launched Project Atomic to develop a lightweight Linux operating system, that is easier to manage at scale, and is specifically optimized for running containerized application environments. This has led to the recent public beta release of Red Hat Enterprise Linux Atomic Host. OpenShift users will have the choice to run their PaaS platform on full Red Hat Enterprise Linux 7 or Red Hat Enterprise Linux Atomic Host and will benefit from Red Hat’s continued investment in Linux innovation.
Application Packaging Innovation
Docker is more than just a container API, it’s a portable way to package applications to run in containers. Docker image-based packaging and the associated ecosystem around it was the biggest factor in our decision to build OpenShift around Docker. Our goal is to enable any application component that’s packaged as a Docker image to run in OpenShift.
Here again we’ve made a very different choice from the Cloud Foundry community. First, Cloud Foundry segregates applications and services. In their view of the world, applications run in containers, packaged as “buildpacks” and are stateless 12-factor apps. Services, which may include databases, messaging, and other components required by your application run in VMs managed by Bosh. In our view this is an arbitrary distinction. The OpenShift team is working hard to enable all applications and services to run in containers, if that’s what customers want to do. And we are also working hard to support both stateless and stateful applications inside those containers, since the vast majority of enterprise application portfolios do not consist of stateless 12-factor apps.
Ultimately OpenShift is about more than containers, orchestration, hosts or packaging - its about how we bring all of these things together in a single platform to enable customers to deliver their own innovations. It’s about providing self-service to application developers, enabling DevOps, providing a platform for continuous delivery, and helping customers reduce the time it takes to bring their applications to market. With the upcoming release of OpenShift v3 we are doing just that and trying to deliver on the next generation of PaaS.
My Recommendations for 2015
With the end of year approaching, here are my recommendations for the Cloud Foundry Foundation for 2015.
- Cloud Foundry commercial vendors like Pivotal and IBM should recognize that the path to enterprise success is on Red Hat Enterprise Linux rather than Ubuntu and thus certify Cloud Foundry on Red Hat Enterprise Linux and eventually Red Hat Enterprise Linux Atomic Host.
- The Cloud Foundry community should recognize the limitations of building on a bespoke container management engine in Garden and look to adopt Docker (or possibly Rocket).
- The Cloud Foundry community should recognize that it will be difficult for Diego to compete with Google on web scale container orchestration and management and abandon it in favor of Kubernetes.
- Prospective customers should recognize that Cloud Foundry’s open core model can leave the door ajar for industry fragmentation, proprietary vendor-designed add-on solutions, and ultimately vendor lock-in and seek truly open innovation and solutions from Red Hat and the upstream community.
Having worked with the OpenShift Origin community to adopt these same recommendations over the past year plus, we expect to see more customer adoption of OpenShift Enterprise and OpenShift Online and a successful launch of OpenShift 3.
Thank you all for a great year and we look forward to more innovation in 2015!