OpenShift 3 was the culmination of more than a year’s worth of planning and development with general availability announced at Red Hat Summit 2015. It was a significant release for many reasons and was especially gratifying for the team given the big bets made around fundamental underlying technology components. The implications for the development model around OpenShift may not have been obvious, however, and by extension the larger transformation at Red Hat may also have been understated.
The Linux Development Model
Linux is a marvel of diffuse software development. Born out of an early vision to create a free and open alternative to proprietary Unix operating systems, its success and adoption to run mission critical applications at enterprises around the world has surpassed all expectations. Upstream in an open source software development model is where the core community contributions happen, such as the Linux kernel, GNU utilities, GNOME, etc., across potentially thousands of projects with contributors from around the world; these contributors include large corporations like Red Hat, Intel and IBM as well as motivated individuals.
The core kernel may be updated every few weeks or months and a large collection of these upstream packages will be seen in community Linux distributions like Fedora, Debian, Ubuntu and many more, that will tend to revolve around 6 month release cycles. Moving to the downstream, a subset of community distributions will result in supported enterprise distributions such as Red Hat Enterprise Linux, which have support lifecycles of multiple years, testing and certification for various software applications and compatibility for previous and future releases. By design, the upstream projects see constant updates and are not as stable as downstream versions due to the higher rate of experimentation.
The Linux model has found incredible adoption and support due to the separate and distributed nature of development and release. Large organizations take comfort in the fact that the software is free and open as well as the existence of a significant global community to drive innovations over time without a single proprietary provider locking them in. Enterprises can also reap substantial business benefits by building commercial software with the appropriate open source licensing, such as GPL, that permits them to take advantage of the underlying components without overly restricting use.
Applying the Linux Development Model to OpenShift
For more than two decades, the Linux (or more broadly “open source”) model has been in effect and is largely well understood. It’s the development model that we at Red Hat wanted to adopt for OpenShift so that enterprises could clearly benefit from the same dynamics that worked in their favor with Linux. When we initially announced our Docker collaboration in September 2013, it spanned improving file system dependencies to make Docker-formatted containers compatible for upstream Linux, packaging with Fedora and Red Hat Enterprise Linux and enhancing OpenShift extensibility by integrating the Docker format for complex application development and deployment. Those were very early days in terms of Docker’s popularity, but we quickly recognized the potential, linking the Docker community upstream to Fedora, Red Hat Enterprise Linux and OpenShift development efforts. Red Hat is one of the leading contributors to the Docker community which also includes others like IBM and Google. Our engineers have also been active as core maintainers and in various areas including security concerns.
When it came to container orchestration, we continued our journey in the OpenShift platform to replicate the Linux model by collaborating with Google on the Kubernetes project. Having run billions of containers at scale every week for years, Google has significant expertise in container orchestration and has also contributed to the upstream Linux community in the past. By bringing Kubernetes, what we consider to be a best of breed upstream community, into the OpenShift project more than a year ago, it was another strong step in transforming our development model to be analogous to Linux. Red Hat is a leading contributor to the Kubernetes community and has helped develop many areas across API, namespaces, networking & storage plugins and more. With the community launch of Kubernetes 1.0 at OSCON next week, we expect wider community interest and participation in the months to come.
While the Docker and Kubernetes projects are relatively new, there are several other communities that we have affinity for and are upstream to our technology offerings. We are very active within the JBoss, Apache Camel, Postgres, Mongo, Node.js, Ruby and many other communities, giving us the ability to ship and support runtimes with our platforms.
This is all to say that the OpenShift development model now increasingly resembles that of Linux. Communities and projects such as Docker/Open Container Project, Kubernetes, JBoss and many others are upstream to our community open source distribution – OpenShift Origin. Based on Origin, we then provide a supported and certified private platform,OpenShift Enterprise; a public cloud platform, OpenShift Online; and most recently introduced OpenShift Dedicated which entails running applications on OpenShift Enterprise deployed within the public cloud and managed by our operations team. Just like Linux, there is constant flux and experimentation in the upstream communities and a high rate of change in OpenShift Origin with downstream offerings being more stable with a longer supported lifecycle, security updates and patches.
Considerations for Adoption
After years of witnessing trading exchanges being run on Linux and millions of users being served off Apache Web Server, it’s clear that organizations are very comfortable running workloads on open source software, especially when comparing the cost and lock-in advantages over proprietary technology. But every organization needs to investigate how truly active a given upstream open source community is, so that they don’t feel overly dependent on a single organization even though development may be done in the open. There are many ways to measure activity – number of contributors, commits, downloads/adoption metrics, mailing list traffic, etc., and we encourage companies to investigate these factors closely before adopting a specific upstream project.
The case for Linux is clear. Other projects, like Docker container format with the introduction of the Open Container Project, have wide-ranging participation across providers and users; this global adoption is a great sign to move forward. Momentum surrounds OpenStack, Kubernetes and Hadoop, which are all garnering a diverse contributor and user set. Organizations can also employ third party tools to ensure that certain projects that may seem popular do indeed have a vibrant upstream instead of being driven by one or two related companies. We have had customers do their own analysis around lines of code and commits in GitHub repositories to have a better understanding of this notion, as there is so much noise in the market.
Transforming the Red Hat Business Model
Red Hat started nearly three decades ago, with the majority of its existence focused on relentlessly providing an open source alternative to proprietary options, first UNIX and now all manner of closed stacks. We continue to contribute heavily upstream, build and foster communities and deliver subscriptions at a fraction of a perpetual license from traditional software vendors. With the acquisition of JBoss several years, we applied those dynamics in the application server market to the likes of Websphere and Weblogic proprietary technologies. We also provide similar alternatives in a variety of other existing markets including virtualization and integration software. In each of those cases, we recognized an opportunity to collaborate on an open and innovative alternative to overpriced and proprietary technologies, helping to commoditize existing markets.
Now we are working to create markets in new areas as companies transform their IT infrastructure to match the trends in cloud and container technologies. With our contributions and investments in the OpenStack, Ceph and Gluster communities, we are driving a fundamental change to software-defined infrastructure across compute, network and storage.
In conjunction, there is massive transformation around the development, deployment and management of applications. The investments in OpenShift and Atomic technologies are about embracing the shift to a container-based platform and facilitating organizations globally to make development and operations more flexible. This in turn provides for continuous integration and delivery of software to speed up application development and rollout, greater efficiency and productivity with containers and a more distributed microservices-based architecture. The release of OpenShift 3 was a significant milestone since its the first commercial distribution of the Kubernetes technology with the community v1.0 release occurring almost simultaneously with our GA of the OpenShift platform.
The global travel reservation and system provider Amadeus is a great example of organizations embracing and thriving on the change. Serving almost 700 million passengers and more than half a billion travel reservations in 2014, Amadeus requires extremely low response times and very high consistency. They are evolving their infrastructure to leverage cloud capabilities across multiple global data centers, manage their applications in a distributed manner and reduce dependencies that impede their agility. With their adoptionof the OpenShift platform (and by extension Docker containers and Kubernetes technologies), Amadeus Cloud Services will allow them to build a standardized and unified deployment process across a global distributed environment and greatly simplify operations and management of thousands of servers and microservices.
Red Hat continues to invest in and provide value to organizations that seek greater openness, innovation and value in existing technology areas, from the operating system to virtualization to application servers. Increasingly we are also driving innovation in new and emerging areas around IaaS, container technologies, PaaS and distributed application platforms, software-defined storage/networking and more. Our customers and partners expect and appreciate our intent to collaborate in an open and transparent manner as we work on bringing wide-ranging, open innovation across the software stack.