Industry Use Cases of OpenShift!!!

Kanishka Shakya
8 min readMar 17, 2021

Openshift Overview:-

OpenShift is a cloud development Platform as a Service (PaaS) hosted by Red Hat. It’s an open source cloud-based user-friendly platform used to create, test, and run applications, and finally deploy them on cloud. OpenShift is capable of managing applications written in different languages, such as Node.js, Ruby, Python, Perl, and Java. One of the key features of OpenShift is it is extensible, which helps the users support the application written in other languages.

A deployable solution architecture (DSA) using Red Hat OpenShift* Container Platform implements Red Hat’s enterprise-grade container application platform using Red Hat Ansible* Automation. Designed to meet the demands of organizations that require highly streamlined deployment and manageability, a DSA using Red Hat OpenShift Container Platform enables customers to release new services to market faster, more efficiently, and at scale.

Red Hat OpenShift* provides a fully integrated solution for provisioning, managing, and scaling container-based applications.

⚫️ Founded in 1993 by Bob Young after a merger with Marc Ewing’s company Red Hat Linux

⚫Headquarter: Raleigh, NC

⚫Started with Linux (Red Hat Linux)

⚫Open-source business model: one of the most notable successes in the history of open source business

⚫All Red Hat products are based on open source software

⚫Red Hat sells subscriptions for support, training, and integration service.

▶️Major products :-

Red Hat Enterprise Linux (RHEL)

Red Hat OpenShift Container Platform (RHCOP)

JBoss

▶️Revenue:-

$500 million at beginning of 2008 when Jim Whitehurst became Red Hat’s CEO

$1.13 billion in 2012 (1st one-billion dollar open-source company)

$3.4 billion in 2018

▶️IBM + Red Hat:-

Since the acquisition, Red Hat remains a separate entity from IBM, to large extent

Red Hat has its own CEO, HR, back office, development, sales, etc.

According to Red Hat CEO Paul Cormier, Red Hat has to stay separate to preserve its ecosystem (and culture).

▶️What IBM get from the acquisition (personal opinion*)??

RHEL

Generally believed RHEL has at least 2/3 market share in (paid) enterprise server OS

OpenShift

▶️What is OpenShift??

A leading hybrid cloud, enterprise Kubernetes application platform trusted by 1,700+ organizations

Vendor-neutral Kubernetes platform (AWS, Azure, GCP, VMware vSphere, IBM Cloud, OpenStack, bare metal, etc.)

▶️Tags for OpenShift :-

Red Hat

Kubernetes

Container

Cloud

PaaS

▶️Types of OpenShift:-

OpenShift came into existence from its base named OpenShift V2, which was mainly based on the concept of gear and cartridges, where each component has its specifications starting from machine creation till application deployment, right from building to deploying the application.

⚪Cartridges:-

They were the focal point of building a new application starting from the type of application the environment requires to run them and all the dependencies satisfied in this section.

⚪Gear:-

It can be defined as the bear metal machine or server with certain specifications regarding the resources, memory, and CPU. They were considered as a fundamental unit for running an application.

▶️Application:-

These simply refer to the application or any integration application that will get deployed and run on OpenShift environment.

⚪OpenShift Origin:-

This was the community addition or open source version of OpenShift. It was also known as upstream project for other two versions.

⚪OpenShift Online:-

It is a pubic PaaS as a service hosted on AWS.

⚪OpenShift Enterprise:-

This is the hardened version of OpenShift with ISV and vendor licenses.

▶️OpenShift Container Platform:-

OpenShift container platform is an enterprise platform which helps multiple teams such as development and IT operations team to build and deploy containerized infrastructure. All the containers built in OpenShift uses a very reliable Docker containerization technology, which can be deployed on any data center of publically hosted cloud platforms. OpenShift container platform was formally known as OpenShift Enterprises. It is a Red Hat on-premise private platform as service, built on the core concept of application containers powered by Docker, where orchestration and administration is managed by Kubernetes.

OpenShift container platform is available in two package levels.

⚪OpenShift Container Local:-

This is for those developers who wish to deploy and test applications on the local machine. This package is mainly used by development teams for developing and testing applications.

⚪OpenShift Container Lab:-

This is designed for extended evaluation of application starting from development till deployment to pre-prod environment.

OpenShift Architecture:-

OpenShift is a layered system wherein each layer is tightly bound with the other layer using Kubernetes and Docker cluster. The architecture of OpenShift is designed in such a way that it can support and manage Docker containers, which are hosted on top of all the layers using Kubernetes. Unlike the earlier version of OpenShift V2, the new version of OpenShift V3 supports containerized infrastructure. 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.

Components of OpenShift:-

One of the key components of OpenShift architecture is to manage containerized infrastructure in Kubernetes. Kubernetes is responsible for Deployment and Management of infrastructure. In any Kubernetes cluster, we can have more than one master and multiple nodes, which ensures there is no point of failure in the setup.

⚪Kubernetes Master Machine Components

Etcd:- It stores the configuration information, which can be used by each of the nodes in the cluster. It is a high availability key value store that can be distributed among multiple nodes. It should only be accessible by Kubernetes API server as it may have sensitive information.

API Server:- Kubernetes is an API server which provides all the operation on cluster using the API. API server implements an interface which means different tools and libraries can readily communicate with it.

Controller Manager:- This component is responsible for most of the collectors that regulate the state of the cluster and perform a task. It can be considered as a daemon which runs in a non-terminating loop and is responsible for collecting and sending information to API server.The key controllers are replication controller, endpoint controller, namespace controller, and service account controller. The controller manager runs different kind of controllers to handle nodes, endpoint, etc.

Scheduler:- It is a key component of Kubernetes master. It is a service in master which is responsible for distributing the workload. It is responsible for tracking the utilization of working load on cluster nodes and then placing the workload on which resources are available and accepting the workload.

⚪Kubernetes Node Components

Following are the key components of the Node server, which are necessary to communicate with the Kubernetes master.

Docker:- The first requirement of each node is Docker which helps in running the encapsulated application containers in a relatively isolated but lightweight operating environment.

Kubelet Service:- This is a small service in each node, which is responsible for relaying information to and from the control plane service. It interacts with etcd store to read the configuration details and Wright values.

Kubernetes Proxy Service:- This is a proxy service which runs on each node and helps in making the services available to the external host. It helps in forwarding the request to correct containers. Kubernetes Proxy Service is capable of carrying out primitive load balancing.

▶️Operators:-

➡️ Infrastructure as Code (IaC)

🔘Probably the most important benefit Kubernetes has enabled

🔘Each Kubernetes resource (pod, service, deployment, etc.) is described in machine readable YAML format (a.k.a., desired status)

🔘When the YAML is ‘applied’ to Kubernetes cluster, Kubernetes will ‘make it happen’ (actual status)

🔘 Operators are powerful extension of Kubernetes’ IaC enablement

🔘Innovative approach to automate infrastructure and application management tasks using Kubernetes as the automation engine.

▶️️Operators: Custom Resource Definition (CRD)

A CRD extends Kubernetes API by defining the schema of a new custom resource (CR).

▶️Operators: Custom Resource (CR)

Operator watches for creation of CR and reacts by creating all resources CR represents.

▶️Operators in OpenShift 4 are Ubiquitous

Installation of OpenShift 4 itself

Cluster configuration

Cluster upgrade (components, host OS)

Cluster autoscaling by provisioning or destroying nodes

OLM

OperatorHub

Benefits of OpenShift:-

Red Hat OpenShift enables customers to implement an on-premises, private container platform, customizable for full interoperability with their local systems and environments. With pre-configured “smart default” settings and the flexibility to support customized configurations, a DSA using Red Hat OpenShift Container Platform empowers businesses to develop 36% more applications and major features per year. The default DSA using Red Hat OpenShift Container Platform addresses high availability and storage needs by using GlusterFS* and can be deployed in about an hour — as opposed to the typical six hours or more.

A deployable solution architecture using Red Hat OpenShift Container Platform.

⚪A DSA Using Red Hat OpenShift Container Platform: Simplifying Deployment and Manageability

Many customers want a fully customizable Red Hat OpenShift solution but don’t have the time or resources to do their own customization. With a highly available configuration and virtual storage through GlusterFS.

⚪Release Schedule and Availability

A DSA using Red Hat OpenShift Container Platform starter kit is a fully converged and automated solution using Ansible Automation and bare-metal provisioning technology to eliminate much of the manual work of orchestrating containers.It includes:-

  • Lenovo* System x3550 M5 rack servers distributed among three master nodes, two infrastructure nodes, six worker nodes, and a single bastion host, along with a leaf-spine network topology
  • The Intel® Xeon® processor E5–2600 v4 product family (44 cores per server), with fast, energy-efficient IBM* TruDDR4 Memory and Intel® SSD technology in a RAID 1 configuration for operating system high availability.

Conclusion:-

A deployable solution architecture using Red Hat OpenShift Container Platform delivers a turnkey end-to-end solution running on a cluster of 15 servers based on the latest Intel® technologies — enabling customers to focus their resources on developing innovative applications instead of planning, deploying, and managing entire on-premises cloud infrastructures.

--

--

Kanishka Shakya

Aviatrix Certified Engineer | DevOps | Python | Big Data | RHCSA 8 | AWS-CSA | AWS-DEVELOPER | Ansible | Docker | CKA & CKAD | GIT & GITHUB |