RESEARCH FOR INDUSTRY USE-CASES OF OPENSHIFT

Adarsh Malviya
8 min readApr 14, 2021

✍WHAT IS OPENSHIFT ?

Red Hat OpenShift is the industry’s most secure and comprehensive enterprise-grade container platform based on industry standards, Docker and Kubernetes. Build, deploy, and scale on any infrastructure. OpenShift gives application teams a faster path to production, using the technologies they choose.

The OpenShift Console has developer and administrator oriented views. Administrator views allow one to monitor container resources and container health, manage users, work with operators, etc.

Developer views are oriented around working with application resources within a namespace. OpenShift also provides a CLI that supports a superset of the actions that the Kubernetes CLI provides.

✍WHAT IS THE HISTORY OF OPENSHIFT ?

OpenShift originally came from Red Hat’s acquisition of Makara — a company with a proprietary PaaS solution based on Linux containers.

Even though OpenShift was announced in May 2011, it was proprietary technology and did not become open-source until May of 2012.

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.

The v4 product has many other architectural changes — a prominent one being a shift to using CRI-O as the container runtime (and Podman for interacting with pods and containers), and Buildah as the container build tool, thus breaking the exclusive dependency on Docker.

✍WHAT IS THE USE OF OPENSHIFT ?

Red Hat OpenShift is a Kubernetes distribution focused on developer experience and application security that’s platform agnostic.

OpenShift helps you develop and deploy applications to one or more hosts. These can be public facing web applications, or backend applications, including micro services or databases.

✍HOW IT’S WORK ?

OpenShift is a layered system wherein each layer is tightly bound with the other layer using Kubernetes and Docker cluster. In this model, Docker helps in creation of lightweight Linux-based containers and Kubernetes supports the task of orchestrating and managing containers on multiple hosts.

✍WHAT IS OPENSHIFT TOOL ?

Red Hat OpenShift is an open source container application platform based on the Kubernetes container orchestrator for enterprise application development and deployment.

✍WHAT IS THE DIFFERENCE BETWEEN DOCKER AND OPENSHIFT ?

The primary difference is that Docker as a project is focused on the runtime container only, whereas OpenShift (as a system) includes both the runtime container as well as the REST API, coordination, and web interfaces to deploy and manage individual containers.

✍IT’S ARCHITECTURE :

The main difference between OpenShift and vanilla Kubernetes is the concept of build-related artifacts. In OpenShift, such artifacts are considered first class Kubernetes resources upon which standard Kubernetes operations can apply.

OpenShift’s client program, known as “oc”, offers a superset of the standard capabilities bundled in the mainline “kubectl” client program of Kubernetes.

OPENSHIFT ARCHITECTURE

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, though this is slowly being phased out in favor of Tekton — which is a cloud native way of building and deploying to Kubernetes. 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 repository.
  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.
  5. In terms of platforms, OpenShift used to be limited to Red Hat’s own offerings but now supports others like AWS, IBM Cloud and vSphere with OpenShift 4.
  6. OpenShift’s implementation of Deployment, called DeploymentConfig is logic-based in comparison to Kubernetes’ controller-based Deployment objects. As of v4.5, OpenShift is steering more towards Deployments by changing the default behavior of its CLI.
  7. An embedded OperatorHub. This is a web gui where can browse and install a library of Kubernetes Operators and that have been packaged for easy lifecycle management. These include Red Hat authored Operators, Red Hat Certified Operators and Community Operators.

Openshift also tightly controls the Operating Systems used. The Master components have to be running Red Hat CoreOS. This level of control enables the cluster to support upgrades and patches of the Master nodes with minimal effort. The Worker Nodes can be running other variants of Linux or even Windows.

OpenShift introduced the concept of routes — points of traffic ingress into the Kubernetes cluster. The Kubernetes ingress concept was modeled after this.

OpenShift also provides value adds by bundling various software solutions — application runtimes as well as infrastructure components from the Kubernetes ecosystem.

For example :

For observability needs, Prometheus, Hawkular, and Istio (and their dependencies) are included out of the box. The Red Hat branding of Istio is called Red Hat Service Mesh, and is based on an opensource project called Maistra, that aligns base Istio to the needs of opensource OpenShift.

How does OpenShift work?

Moving from one environment to another Container is the technology used. This could be from a developer’s laptop to a test environment, from a staging environment into production, and perhaps from a physical machine in a data center to a virtual machine in a private or public cloud.

While containers can be thought of as a next-generation approach to virtualization, they share one downside with virtual machines. Given that containers can be deployed in far higher numbers than virtual machines, managing provisioning, deployment, tracking, and repairs of multiple containers across your IT architecture can be extremely challenging.

RedHat OpenShift, make container use viable for enterprise applications. It uses Kubernetes as a base layer over your Machine. OpenShift hides almost all the complex integration of Kubernetes.

It also integrates with different automation tools like Jenkins(for CI/CD pipelines), Kubernetes, Docker(container) to automate development structure.

Advantage of OpenShift

  • Innovate and go to market faster: OpenShift enables your development team to focus on what they do best. Now, developers are free from spending excessive time managing and deploying containers. This helps them to speed up the development process and get the product faster in the market.
  • Accelerate application development: Deploying and managing containers at a scale is a complicated process. It cut down the time of managing the container. This improves the companies productivity and speeds up application development.
  • Enterprise-grade, container-based platform with no vendor lock: Consider the case of a company with worldwide manufacturing facilities that implement a container platform tool. If the company shifts its production approach to a process that requires it to change to a new operating system — one that isn’t supported by its containerization platform — the company will face the expensive task of redoing its containerization orchestration on another platform.With a vendor-agnostic open-source platform, users can migrate their container processes to the new operating system quickly — while avoiding the extensive costs often involved in migrating from a proprietary operating framework.
  • Self-service provisioning: This self-service provisioning helps improve developer productivity by allowing your development team to work with the tools they are most comfortable using — speeding up the development process by enabling faster creation and deployment of applications. At the same time, OpenShift allows your operations staff to retain control over the environment as a whole.

Case Study: Cisco

Cisco is a leading IT industry best known for its networking products. Headquartered in California, Cisco develops, manufactures, and sells networking hardware, telecoms equipment, and other IT services and products. The company was founded in 1984 by Leonard Bosack and Sandy Lerner.

Challenge

Cisco’s success depends on its ability to quickly deliver innovative IT products and solutions to customers. Delays can cost the company business. To encourage speed to market and improve satisfaction, Cisco needed to keep its 1,000+ developers fully engaged in designing and building applications. They guard against high employee turnover, low productivity, and slow response times.

Solution

To meet the demanding requirements, Cisco partnered with RedHat to build its Lightweight Application Environment(LAE). Running on the OpenShift Container platform, it supports 100+ applications that powered a variety of business functions and gave developers on-demand access to the infrastructure, operating system, middleware, and system functions to develop applications without any manual provisioning.

Results

The new LAE platform has become a catalyst for innovation and progress, enabling Developers at Cisco to get what they need, when they need it. It has reduced time-to-market, streamline infrastructure using containers, and increased operational efficiencies.

Now the developers don’t have to wait for the months for the project to be provisioned. The developers push a button and the service is provisioned within a matter of minutes. More productivity means customers get innovative products and services faster. The solution reduces demands on limited IT resources and gives developers more time to focus on creative projects, increasing employee satisfaction.

Conclusion

In the above case study of Cisco, we come to know how Cisco get benefitted by using OpenShift.

here are much more industry use cases of OpenShift but we will talk about that later.

Comment down below your reaction towards this amazing tool. Share with your friends so they could also get some useful information from this.

#vimaldaga #righteducation #educationredefine #rightmentor #worldrecordholder #linuxworld #makingindiafutureready #righeducation #arthbylw #openshift #DevOps #RedHat

--

--