Today the OpenShift development team announced a new public Origin repo containing initial commits for our third generation OpenShift platform. This integrates work we’ve been doing over the past year plus in OpenShift Origin and related projects like Docker, Kubernetes, Geard and Project Atomic – all of which will become integral components of the new OpenShift. This Origin community effort will drive the next major releases of OpenShift Online and OpenShift Enterprise 3.
A New OpenShift Stack
Earlier this spring, we looked under the hood with OpenShift to explain the components of our current generation PaaS platform. Long time Shifters will also fondly remember our first generation platform from the initial OpenShift.com launch over three years ago, in May 2011.
Since then we’ve added a ton of new features, seen our users deploy some amazing applications, launched commercially supported versions for both Private PaaS with OpenShift Enterprise and Public PaaS with OpenShift Online, won multiple awards and announced a number of great partners and customer wins.
Now it’s time to look ahead to the next major evolution of OpenShift and our new platform stack. In this blog I will explain our plan for OpenShift v3 and how all the pieces will come together. Future posts will look deeper into specific components of the platform.
Linux Containers at the Core with Docker
We believe a modern application platform will have Linux containers at its core. That’s why Linux containers, or “Gears”, have always been a core component of OpenShift. Leveraging technologies like kernel namespaces, cGroups and SELinux we’ve delivered a highly scalable, secure, containerized application platform to our users. This enabled super fast application deployments for OpenShift developers, made the platform more efficient to both run and manage for our OpenShift administrators and supported the nearly 2 Million applications deployed on OpenShift since the initial launch.
Over the past year Red Hat has been working with the Docker community to evolve our existing containers technology and drive a new standard for containerization through the libcontainer project. Libcontainer provides a standard API for defining a container, including working with namespaces, cGroups, network interfaces and other container functions. Leveraging our deep kernel expertise, Red Hat is contributing significantly to the development of Docker libcontainer and driving key features like SELinux integration to enhance container security. This work lead to announcing Docker support in RHEL 7 and the launch of Project Atomic to develop a new container-optimized Linux host. This new container architecture is at the core of OpenShift v3.
New and Improved Foundation with RHEL 7 & Atomic
The OpenShift platform is built on a foundation of Red Hat Enterprise Linux. Our current platform leverages key capabilities in RHEL 6 to provide many of the features our users enjoy. As we move to OpenShift v3 we will be taking advantages of new capabilities introduced in RHEL 7 and being developed in Project Atomic. RHEL 7 was officially released in June and brings Docker containers support and additional enhancements, on an updated Linux kernel, to help us improve both OpenShift functionality and performance.
Project Atomic was launched to develop new Linux host capabilities, optimized for running containerized application environments. Project Atomic also enables a new atomic update model for managing host instances. Many of the next generation containers features mentioned here are being developed in Project Atomic on this new atomic host model. This will enable a new RHEL Atomic product distribution that maintains compatibility with RHEL 7. Customers will have new flexibility to run RHEL Atomic or full RHEL 7 to host OpenShift environments.
Containerized Application Services and xPaaS
While Docker libcontainer will provide lightweight application isolation through OpenShift Gears, what developers care most about is what they can run inside those containers to deploy their applications. That’s why the true power of Docker is an application-centric packaging model and the flexibility of an image-based deployment method, combined with the large and rapidly growing selection of images available in the Docker Hub registry. This gives developers the broadest selection of components to create their applications and also enables portability across bare metal systems, virtual machines and private and public clouds.
The OpenShift v3 Cartridge format will adopt the Docker packaging model and enable users to leverage any application component packaged as a Docker image. This will enable developers to tap into the Docker Hub community to both access and share container images to use in OpenShift. Customers will also be able to leverage Red Hat certified container images from both Red Hat and our ISV partners. Our recently launched OpenShift Marketplace will expand to include solutions from both SaaS partners and certified ISV’s.
Our xPaaS services for OpenShift, launched over the past year, will drive expanded capabilities in OpenShift v3 from our JBoss middleware portfolio. This will include new and enhanced services for messaging, integration, rules management, BPM, expanded mobile capabilities and more. OpenShift users looking for a runtime for their desired language or framework, a SQL or NoSQL database, message broker, cache, mobile push server, log management, monitoring tools, or other components, will have an unmatched array of choices for creating their next great application!
Container Orchestration at Scale with Kubernetes
An application in OpenShift typically spans multiple Gears. Something needs to orchestrate those application container endpoints, whether it’s connecting Node.js in one Gear to Postgresql in another Gear, scaling up a cluster of JBoss EAP servers, or adding other components to build out your application stack. Those containers also need to be deployed on selected container hosts, or “Nodes” in OpenShift parlance, based on information gathered from each Node. Container orchestration and scheduling/placement is largely managed by the OpenShift Broker.
In OpenShift v3, we will be integrating Kubernetes in the OpenShift Broker to drive container orchestration. Google launched the Kubernetes project to address the orchestration and management of containerized application deployments, across a large cluster of container hosts, leveraging the experience gained from running their own containerized data centers at very large scales. Kubernetes also enables a pluggable scheduler component. Red Hat is leveraging Kubernetes and work initiated in the Geard project to bring orchestration and scheduling capabilities to OpenShift v3 and better manage large scale environments.
Superior User Experience
Ultimately the success of OpenShift is driven not just by the platform but also by the experience we are able to deliver to our end users. Whether you are using OpenShift Online or OpenShift Enterprise, building web or mobile applications, developing in Java, PHP, Python, Node.js or any of our other supported language runtimes, leveraging technology from Red Hat or our partners – our goal is to deliver a best of breed user experience for OpenShift developers. This commitment to a seamless developer experience will carry forward in OpenShift v3. Docker integration will also allow for a better local development experience as developers can use Docker images on their own machine for local development and then push those same images to OpenShift.
Improving the experience for OpenShift administrators is also an important objective. Whether the service provider is Red Hat with OpenShift Online or whether its our on-premise customers delivering PaaS services with OpenShift Enterprise, enabling administrators and operations teams to deploy and manage the OpenShift platform effectively is critical. OpenShift v3 will bring new capabilities for provisioning, patching and managing application containers, routing and networking enhancements, and provisioning and managing the OpenShift platform itself. Meanwhile administrators will continue to have the choice to deploy OpenShift on their choice of infrastructure, whether it’s on physical, virtual, private or public cloud infrastructure.
Community Driven Innovation
As much as we’ve done over the past year to lay the groundwork for OpenShift v3, in many ways we are just getting started. Like all Red Hat products, our work starts upstream in the open source community where innovation thrives. While the new OpenShift platform takes shape in the Origin community, which is the upstream for our Online and Enterprise solutions, we don’t believe that innovation is limited to a single open source community or foundation.
The new OpenShift platform is the product of the many different communities Red Hat actively participates in. This includes community projects like Fedora, Centos, Docker, Project Atomic, Kubernetes, OpenStack, multiple JBoss projects and more. In many cases, like Docker, Red Hat is not only a participant but a leading contributor and helping to drive the direction of the project, as others have noted. This work gives us a deep understanding and appreciation for the technology and benefits both the communities and our OpenShift users as we move forward.
Future blog posts will dive deeper into each component of the new OpenShift. A Beta program will launch later this fall creating additional ways for you to participate. We’ll also be discussing plans for migrating existing OpenShift Enterprise and OpenShift Online customers to OpenShift v3 once it’s released. In the meantime, join us in the Origin community as we build the next great application platform together.