Red Hat OpenShift is a multifaceted, open source container application platform from Red Hat Inc. for the development, deployment and management of applications.
Rearchitected during 2016 and 2017 to take advantage of advancements in cloud technology -- most notably, containers -- OpenShift provides developers with an integrated development environment (IDE) for building and deploying Docker-formatted containers, and then managing them with the open source Kubernetes container orchestration platform.
Red Hat OpenShift is available in four models:
- OpenShift Container Platform
- OpenShift Online
- OpenShift Dedicated
Though the implementations and locations on which they run and the pricing models differ, the actual underlying OpenShift code and functionality are identical.
OpenShift Container Platform
Known as OpenShift Enterprise until a June 2016 name change, OpenShift Container Platform is a private platform as a service (PaaS) for organizations that deploy and manage OpenShift on their own on-premises hardware or on the infrastructure of a certified cloud provider.
OpenShift Container Platform is implemented as an assemblage of Docker-based application containers managed via Kubernetes orchestration, all running on an operating system foundation of Red Hat Enterprise Linux (RHEL).
Introduced in 2011, OpenShift Online is for individual developers or teams that access OpenShift as a public cloud service. OpenShift Online is implemented as an on-demand consumption model hosted on public cloud platforms, including Amazon Web Services (AWS).
The latest version of OpenShift Online, released in May 2017, provides a container-based platform that developers can access from any web browser, IDE and command line. It also provides support for local development, enabling programmers to deploy a functional OpenShift cluster on their local workstations, and it supports port forwarding, which enables developers to use remote services as if they were running locally.
OpenShift Online was built with the same code as OpenShift Container Platform, and it is the deployment platform for OpenShift.io.
OpenShift Dedicated offers organizations the ability to run a single-tenant OpenShift environment on a public cloud managed by Red Hat while incorporating Docker and Kubernetes orchestration technologies.
At the time of its launch in December 2015, OpenShift Dedicated ran only on AWS. Support for Google Cloud Platform was added in December 2016. As of July 2017, support for Microsoft Azure is not offered.
Announced in May 2017, OpenShift.io is a free, open source supplement to OpenShift Online. Together, they offer an integrated approach to DevOps that incorporates tools for development teams to create and deploy microservices-based applications.
OpenShift.io also provides a Linux container environment and a machine learning system that assist developers with design decisions. OpenShift.io encompasses several open source development technologies, including fabric8, Eclipse Chef, Jenkins, OpenJDK, Performance Co-Pilot, WildFly Swarm, Eclipse Vert.x and Spring Boot.
Why use Red Hat OpenShift
As container use increases in app development and production, services such as OpenShift offer ways to manage and automate a large amount of containers. Doing so frees up developers from the manual management of containers.
Also, OpenShift can help IT organizations bridge legacy servers supporting traditional applications and modern, microservices-based work. These features feed into a mobile-first approach for companies that want to produce smartphone and tablet apps quickly.
Finally, OpenShift's options promote continuous app development and common tools for development and operations teams. This approach is a cornerstone of DevOps efforts.
How Red Hat OpenShift works
According to Red Hat, the key to OpenShift lies in the combination of Docker containers and Kubernetes orchestration, both built on RHEL.
By using Docker at its model, OpenShift enables any app created with it to run anywhere else that Docker containers are supported.
After developers push code to OpenShift either through software version control or continuous integration/continuous delivery (CI/CD) systems, OpenShift orchestrates how and when the apps run. It also enables dev teams to fix, fine tune and scale those apps as quickly as needed.
Containers associated with OpenShift can serve as web frameworks or stateful services, according to Red Hat.
In addition to enabling developers to create their own containers, OpenShift provides an online container catalog with contributions from Red Hat and third parties. Some popular categories include container management, mobile application development, operating systems, programming languages, logging and monitoring, and database management.