OpenShift

OpenShift
OpenShift-LogoType.svg
Developer(s)Red Hat
Initial releaseMay 4, 2011; 8 years ago (2011-05-04)
Stable release
4.2.0 / October 16, 2019; 54 days ago (2019-10-16)[1]
Repository Edit this at Wikidata
Written inGo, Angular.js
Operating systemRed Hat Enterprise Linux or Container Linux by CoreOS
TypeCloud computing, Platform as a service
LicenseApache License 2.0[2][3]
Websiteopenshift.com

OpenShift is a family of containerization software developed by Red Hat. Its flagship product is the OpenShift Container Platform—an on-premises platform as a service built around Docker containers orchestrated and managed by Kubernetes on a foundation of Red Hat Enterprise Linux. The family's other products provide this platform through different environments: OKD serves as the community-driven upstream (akin to CentOS), OpenShift Online is the platform offered as software as a service, and Openshift Dedicated is the platform offered as a managed service.

History[edit]

OpenShift originally came from Red Hat's acquisition of Makara[4] - a company with a proprietary PaaS solution[5]based on Linux containers[6]. Even though OpenShift was announced in May 2011, it was proprietary technology and did not become open-source until May of 2012[7]. Up until v3, the container technology and container orchestration technology used custom developed technologies. This changed in v3 with the adoption of Docker as the container technology, and Kubernetes as the container orchestration technology[8]. The v4 product has many other architectural changes - a prominent one being a shift to using CRIO[9] as the container runtime, and Buildah as the container build tool[10], thus breaking the exclusive dependency on Docker.

Architecture[edit]

The main differentiator between OpenShift and vanilla Kubernetes is the notion of build related artifacts being first class Kubernetes resources upon which standard Kubernetes operations can apply. The OpenShift client program is "oc" - which is offers a superset of capabilities offered by the "kubectl" client program of Kubernetes[11]. Using this client, one can directly interact with the build related resources using sub-commands (such as "new-build" or "start-build"). In addition to this, an OpenShift-native pod build technology called Source-to-Image (S2I) is available out of the box. For the OpenShift platform, this provides capabilities equivalent to what Jenkins can do.

Some other differences when OpenShift is compared to Kubernetes:

  1. The v4 product line uses the CRI-O runtime - which means that docker daemons are not present on the master or worker nodes. This improves the security posture of the cluster.
  2. The out-of-the-box install of OpenShift comes included with an image respository.
  3. ImageStreams (a sequence of pointers to images which can be associated with deployments) and Templates (a packaging mechanism for application components) are unique to OpenShift and simplify application deployment and management.
  4. The "new-app" command which can be used to initiate an application deployment automatically applies the app label (with the value of the label taken from the --name argument) to all resources created as a result of the deployment. This can simplify the management of application resources.

Products[edit]

OpenShift Container Platform[edit]

OpenShift Container Platform (formerly known as OpenShift Enterprise[12]) is Red Hat's on-premises private platform as a service product, built around a core of application containers powered by Docker, with orchestration and management provided by Kubernetes, on a foundation of Red Hat Enterprise Linux and Red Hat Enterprise Linux CoreOS (RHCOS)[13].

OpenShift Origin[edit]

OpenShift Origin, also known since August 2018 as OKD[14] (Origin Community Distribution) is the upstream community project used in OpenShift Online, OpenShift Dedicated, and OpenShift Container Platform. Built around a core of Docker container packaging and Kubernetes container cluster management, Origin is augmented by application lifecycle management functionality and DevOps tooling. Origin provides an open source application container platform. All source code for the Origin project is available under the Apache License (Version 2.0) on GitHub.[15]

Red Hat OpenShift Online[edit]

Red Hat OpenShift Online (RHOO) is Red Hat's public cloud application development and hosting service which runs on AWS[16].

Online offered version 2[when?] of the Origin project source code, which is also available under the Apache License Version 2.0.[17] This version supported a variety of languages, frameworks, and databases via pre-built "cartridges" running under resource-quota "gears". Developers could add other language, database, or components via the OpenShift Cartridge application programming interface.[18] This was deprecated in favour of OpenShift 3[19] and was withdrawn on 30 September 2017 for non-paying customers and 31 December 2017 for paying customers.[20]

OpenShift 3 is built around Kubernetes. It can run any Docker-based container, but Openshift Online is limited to running containers that do not require root.[19]

OpenShift Dedicated[edit]

OpenShift Dedicated is Red Hat's managed private cluster offering, built around a core of application containers powered by Docker, with orchestration and management provided by Kubernetes, on a foundation of Red Hat Enterprise Linux. It is available on the Amazon Web Services (AWS), Google Cloud Platform (GCP) and Microsoft Azure marketplaces since December 2016.[21][22]

See also[edit]

References[edit]

  1. ^ https://blog.openshift.com/introducing-red-hat-openshift-4-2-developers-get-an-expanded-and-improved-toolbox/
  2. ^ Mark Atwood (2012-04-27). "FAQ: Frequently Asked Questions". Archived from the original on 2012-05-24.
  3. ^ Jim Jagielski (2012-04-30). "Announcing OpenShift Origin – The Open Source Platform as a Service (PaaS)". Retrieved 2016-04-27.
  4. ^ "Red Hat acquires Makara".
  5. ^ "Announcing OpenShift".
  6. ^ https://blog.openshift.com/red-hat-chose-kubernetes-openshift/
  7. ^ "Announcing OpenShift Origins".
  8. ^ "Why Red Hat chose Kubernetes for OpenShift".
  9. ^ "cri-o".
  10. ^ Henry, William (February 2019). "Podman and Buildah for Docker users – Red Hat Developer Blog". //.
  11. ^ Caban, William (2019). Architecting and Operating OpenShift Clusters: OpenShift for Infrastructure and Operations Teams. Chapter 2: Apress. ISBN 978-1-4842-4984-0.
  12. ^ "OpenShift Container Platform 3.3 Release Notes | Release Notes | OpenShift Container Platform 3.3". docs.openshift.com. 27 September 2016. Retrieved 8 May 2019.
  13. ^ https://docs.openshift.com/container-platform/4.2/installing/installing_bare_metal/installing-bare-metal.html
  14. ^ "OKD: Renaming of OpenShift Origin with 3.10 Release – Red Hat OpenShift Blog". 3 August 2018.
  15. ^ OpenShift Origin on GitHub
  16. ^ Vaughan-Nichols, Steven J. "Red Hat opens new OpenShift Platform-as-a-Service public cloud – ZDNet".
  17. ^ OpenShift Origin server on GitHub
  18. ^ "OpenShift Origin Cartridge Developer's Guide". 2016-04-27. Retrieved 2016-04-27.
  19. ^ a b "Migrating Applications from OpenShift v2 to OpenShift 3 – OpenShift Blog". 18 May 2017.
  20. ^ "Get Ready to Migrate to OpenShift Online 3 – OpenShift Blog". 25 August 2017.
  21. ^ Vaughan-Nichols, Steven J. "Red Hat launches OpenShift on Google Cloud – ZDNet".
  22. ^ "Red Hat Launches OpenShift Dedicated on Google Cloud Platform". www.redhat.com.

Further reading[edit]

  • Jamie Duncan; John Osborne (May 2018). OpenShift in Action. Manning Publications Co. ISBN 978-1-6172-9483-9.
  • Stefano Picozzi; Mike Hepburn; Noel O'Conner (May 2017). DevOps with OpenShift. O'Reilly Media. ISBN 978-1-4919-7596-1.
  • Grant Shipley; Graham Dumpleton (August 2016). OpenShift for Developers. O'Reilly Media. ISBN 978-1-4919-6138-4.
  • Steve Pousty; Katie Miller (May 2014). Getting Started with OpenShift. O'Reilly Media. ISBN 978-1-4919-0047-5.

External links[edit]