An overview of the basics of Red Hat OpenShift

OpenShift is a platform that allows you to run containerized applications and workloads, and it is powered by Kubernetes under the covers. There are many flavors available with OpenShift that each help streamline the day-to-day tasks for developers and operations engineers.

Check out this quick overview video where I go through each layer of the OpenShift architecture and explain how a developer and operations engineer can take advantage of using OpenShift.

What is OpenShift?


What is OpenShift?

Learn more

Video Transcript

What is OpenShift?

Hi everyone, my name is Sai Vennam, and I’m a developer advocate with IBM.

Today, we want to talk about OpenShift.

OpenShift is a platform that allows you to run containerized applications and workloads and is powered by Kubernetes under the covers. 

The different flavors of OpenShift

Something that I want to clear up right off the bat is the different flavors that are available with OpenShift. Now, the open source project that actually powers OpenShift is called OKD, or Origin Kubernetes Distribution, and you can start with that for free today. 

OpenShift, on the other hand, has multiple flavors and it’s an offering that comes with the Red Hat support regardless of where you choose to run your applications and workloads.

OpenShift architecture

Let’s take a look at what the architecture of installing and working with OpenShift would look like.

One of the big advantages is being able to take advantage of public or private resources for running OpenShift. That includes bare metal or virtualized hardware, whether it’s on-prem or on a cloud provider.

On top of that, we’re going to have the operating system, which is generally Red Hat Enterprise Linux, but you can also use CentOS when working with OKD.

On top of that, we’re going to have Kubernetes.

If you want to learn more about Kubernetes check out some of the other great videos that we have.

So, we’ll have the Kubernetes layer here.

Finally—this where OpenShift really comes in—it’s a layer that’s built on top of Kubernetes and makes working with it much easier.

OpenShift makes working with Kubernetes easier

OpenShift takes a lot of the difficult tasks—like deploying applications and doing things like the day-to-day operations—easier by building a web console in the CLI as well as a facade on top of Kubernetes to make all of those tasks just a little bit more streamlined and easy to do.

How does OpenShift benefit developers?

Let’s go with two different types of engineers that really benefit from taking advantage of OpenShift. We’ll start with developers.

So, we’ll sketch out a developer up here. Now, what does a developer have to do? Well, they generally have to write applications, create changes, test them out, deploy them into a cluster, and they’re really just focused on that. Any other kind of distractions will slow them down on from that task.

Working with OpenShift through the CLI and the web console

So, with dev, the first thing that they’re going to want to do when starting with OpenShift is to create a project and an application. To do so, OpenShift has two different ways of enabling developers to work with their platform. So, one you can take advantage of the CLI. And there’s also a really powerful web console that they can work with as well.

Creating a project and an application

So, the first thing that the dev wants to do is take advantage of one of those two form factors to create a project and an application, and there’s templates for all different kinds of source code and programming languages that the dev wants to work with.

Pushing changes to a repository

So, we’ll go ahead and do that, and then, you know, once they get into their flow of creating updates to an application, the very first that they’re gonna want to do is push changes to a repository. And in this case, let’s use GitHub as an example. Say that this developer is making changes to GitHub—that’s really all they need to do.

Behind the scenes, OpenShift is going to take care of the rest.

OpenShift creates a Jenkins job and pipeline

So, when that application or project was created, OpenShift (in the backend) will create a Jenkins job and pipeline that helps power deploying this application.

So, once code gets pushed into that GitHub, it’ll trigger a webhook which kicks off a Jenkins job, which is going to do two things.

Creating a sourced image and putting it in a private registry

First, what it is going to do is do something called sourced image, which is going to create a Docker image out of that source code.

Next, it is going to go ahead and take that and put it into a registry—a private registry—which comes built-in in OpenShift. And, in fact, you can actually use public registries or your own registry if you have it outside of the context as well.

Pushing the image to the cluster

Once that image gets built and pushed into that registry, next what OpenShift will do is go ahead and push that into the actual cluster, and that’s what we’ve got here is two hosts that are in our cluster in OpenShift.

We’re gonna take that image, and let’s say that we set it up to deploy two times. We’ll call this v1 of the application.

Recap: The developer’s interaction with OpenShift

So, lets kind of overview that process one more time, so 1) the developer makes some change to a code, 2) then Jenkins will kind of kick-off that build, 3) create an image, 4) push that image to a registry. And then a little bit of a different thing here—so in this step right here, 5) OpenShift takes advantage of something called image streams, which is a little bit different to how Kubernetes will do things. 

And, essentially, what it enables you to do is whenever a change is detected with that image, an image stream will allow you to push those with no downtime to your applications. So what it’ll do is, you know, with that new version of that code, it’ll bring down the old version, start the new version until we’ve rolled out the whole new version of that application.

So, this is just a few ways that OpenShift makes developers’ lives easier.

How does OpenShift benefit operations engineers?

Next, let’s talk about operations engineers and how OpenShift makes their lives a little bit easier.

I’d say there’s two major things that operations teams really need to worry about on a day-to-day, and it is totally different than what a developer needs to do.

Maintaining high availability and working with the OpenShift web console

So, for one, they need to maintain a high availability and they need to make sure things like site reliability engineers do this to make sure the applications are available, and the infrastructure is healthy. 

And, to do so, OpenShift has that web console that we’ve talked about (in addition to the CLI). The web console is a great way for them to really take advantage and make sure they’re getting that availability number that they’re looking for. So that’s one way that operations engineers benefit from taking advantage of OpenShift.

Scaling out hosts with Ansible playbooks

Next, let’s talk about maybe scaling out one of these hosts. So, let’s say that we’ve taken advantage of all of the load or all of the capacity of these hosts and we want to scale out another one. 

The process of scaling up a new host and adding it into the cluster can be quite painstaking, but OpenShift takes advantage of something called Ansible playbooks which are a great way of automating all of those different paths that an operations engineer might have to do. One of them being scaling up the number of hosts.

So, by taking advantage of an Ansible playbook, they can go ahead and spin up the creation of a new host and bring that into that cluster.

This is just one of the examples of how OpenShift makes operations engineers’ lives easier in the day-to-day.

Thanks for joining me for this quick overview of OpenShift.

More from Cloud

Integrating data center support: Lower costs and decrease downtime with your support strategy

3 min read - As organizations and their data centers embrace hybrid cloud deployments, they have a rapidly growing number of vendors and workloads in their IT environments. The proliferation of these vendors leads to numerous issues and challenges that overburden IT staff, impede clients’ core business innovations and development, and complicate the support and operation of these environments.  Couple that with the CIO’s priorities to improve IT environment availability, security and privacy posture, performance, and the TCO, and you now have a challenge…

3 min read

Using advanced scan settings in the IBM Cloud Security and Compliance Center

5 min read - Customers and users want the ability to schedule scans at the timing of their choice and receive alerts when issues arise, and we’re happy to make a few announcements in this area today: Scan frequency: Until recently, the IBM Cloud® Security and Compliance Center would scan resources every 24 hours, by default, on all of the attachments in an account. With this release, users can continue to run daily scans—which is the recommended option—but they also have the option for…

5 min read

Modernizing child support enforcement with IBM and AWS

7 min read - With 68% of child support enforcement (CSE) systems aging, most state agencies are currently modernizing them or preparing to modernize. More than 20% of families and children are supported by these systems, and with the current constituents of these systems becoming more consumer technology-centric, the use of antiquated technology systems is archaic and unsustainable. At this point, families expect state agencies to have a modern, efficient child support system. The following are some factors driving these states to pursue modernization:…

7 min read

IBM Cloud Databases for Elasticsearch End of Life and pricing changes

2 min read - As part of our partnership with Elastic, IBM is announcing the release of a new version of IBM Cloud Databases for Elasticsearch. We are excited to bring you an enhanced offering of our enterprise-ready, fully managed Elasticsearch. Our partnership with Elastic means that we will be able to offer more, richer functionality and world-class levels of support. The release of version 7.17 of our managed database service will include support for additional functionality, including things like Role Based Access Control…

2 min read