| OpenShift | |
|---|---|
| Developer | Red Hat |
| Initial release | May 4, 2011; 14 years ago (2011-05-04) |
| Stable release | |
| Written in | Go,React |
| Operating system | Red Hat Enterprise Linux or Red Hat Enterprise Linux CoreOS |
| Type | Cloud computing,Platform as a service |
| License | Commercial |
| Website | www |
OpenShift is a family ofcontainerization software products developed byRed Hat. Its flagship product,OpenShift Container Platform, is a hybrid cloudplatform as a service built around Linuxcontainers orchestrated and managed byKubernetes on a foundation ofRed Hat Enterprise Linux.OKD (Origin Community Distribution) serves as the community-drivenupstream.
The family's other products provide this platform through different environments. Deployment methods include self-managed; cloud native underROSA (Red Hat OpenShift Service on AWS),ARO (Azure Red Hat OpenShift) andRHOIC (Red Hat OpenShift on IBM Cloud); OpenShift Online assoftware as a service; and OpenShift Dedicated as amanaged service.
The OpenShift Console has developer and administrator oriented views. Administrator views allow one to monitor container resources and health, manage users and work with operators. Developer views are oriented around working with application resources within a namespace. OpenShift also provides a CLI that supports a superset of the actions provided by the Kubernetes CLI.
OpenShift originated from Red Hat's acquisition of Makara, a company marketing aplatform as a service (PaaS) based on Linux containers, in November 2010.[2][3][4]It was announced in May 2011 as proprietary technology and only became open-source in May 2012.[5] Until version 3, released in June 2015, OpenShift used custom developed technologies. Version 3 adopted Docker as the container technology and Kubernetes as the orchestration engine.[3] Version 4 further changed the architecture, notably adopting CRI-O as the container runtime (andPodman for interacting with pods and containers), and Buildah as the container build tool, thus removing the dependency onDocker.[6]
Online offered version 2[when?] of the OKD project source code, which is also available under the Apache License Version 2.0.[7] This version supported a variety of languages, frameworks, and databases via pre-built "cartridges" running under resource-quota "gears". Developers could add other languages, databases, or components via the OpenShift Cartridgeapplication programming interface.[8] This was deprecated in favour of OpenShift 3,[9] and was withdrawn on 30 September 2017 for non-paying customers and 31 December 2017 for paying customers.[10]
The main difference between OpenShift and vanillaKubernetes is its extension of the platform with build-related artifacts as first-class Kubernetes resources upon which standard Kubernetes operations can apply. OpenShift'soc client offers a superset of the standardkubectl (Kubernetes standard client) capabilities.[11], including direct interaction with build resources via sub-commands likenew-build orstart-build. It also provided out of the box an OpenShift-native pod builds technology called Source-to-Image (S2I), though this is slowly being phased out in favor ofTekton, a cloud-native CI/CD framework for Kubernetes.
Other differences include:
OpenShift v4 tightly controls the operating systems for "control plane" components. They must run on Red Hat CoreOS, enabling automated, reliable upgrades and patches. The compute (worker) nodes can run any Linux OS or even Windows.
OpenShift introduced the concept ofroutes -- points of traffic ingress into the cluster. This later influenced the Kubernetes ingress concept.[14]
OpenShift also bundles various software components from the Kubernetes ecosystem for enhanced functionality. For observability, it includesPrometheus, Fluentd, Vector, Loki, and Istio (branded as Red Hat Service Mesh, based on the Maistra open source project).
OpenShift Container Platform (formerly known as OpenShift Enterprise[15]) is Red Hat's on-premises privateplatform as a service product, built around application containers powered by CRI-O, with orchestration and management provided byKubernetes, on Red Hat Enterprise Linux and Red Hat Enterprise Linux CoreOS.[16]
OKD, known until August 2018 as OpenShift Origin[17] (Origin Community Distribution) is theupstream community project for OpenShift. Built around a core of CRI-O container runtime and Kubernetes cluster management, OKD is augmented by application life cycle management functionality and DevOps tooling. All source code for the OKD project is available under theApache License (Version 2.0) onGitHub.[18][19]
Red Hat OpenShift Online (RHOO) is a public cloud application development and hostingsoftware as a service (SaaS) that runs on AWS and IBM Cloud.[20] OpenShift Online is limited to running containers that do not requireroot.[9]
OpenShift Dedicated (OSD) is Red Hat's managed private cluster offering on the marketplaces ofAmazon Web Services (AWS),IBM Cloud,Google Cloud Platform (GCP) since December 2016.[21][22] A similar managed service is offered onMicrosoft Azure under the name Azure Red Hat OpenShift (ARO).[23]
OpenShift Data Foundation (ODF) provides cloud-native storage, data management and data protection for applications running on the OpenShift platform in cloud,[24] on-premises, and hybrid/multi-cloud environments.
Red Hat OpenShift Database Access (RHODA) is a capability for managed OpenShift environments (OSD and ROSA) that enables administrators to set up connections to database-as-a-service offerings from different providers. Its initial alpha release included support for MongoDB Atlas for MongoDB and Crunchy Bridge for PostgreSQL.[25]