No history yet

OpenShift Basics

What is OpenShift?

OpenShift is a platform for building and running applications in containers. At its core, it uses Kubernetes, the powerful open-source tool for managing containerized applications. But OpenShift builds on top of Kubernetes, adding features that make it easier for developers to build, deploy, and manage their applications, especially in large organizations.

Think of Kubernetes as a high-performance engine. It's incredibly powerful, but you need to build a car around it to make it useful for everyday driving. OpenShift is that car. It provides the dashboard, the steering wheel, and the safety features, creating a complete, enterprise-ready vehicle.

OpenShift makes working with Kubernetes a lot easier by providing a layer of abstraction over Kubernetes that removes a good deal of Kubernetes's operational complexity from the day-to-day developer experience.

It’s designed to give developers a self-service platform to launch applications, while still providing operations teams with the control and security they need.

OpenShift's Architecture

OpenShift's structure can be understood in layers. At the very bottom is the operating system, Red Hat Enterprise Linux CoreOS, which is optimized for running containers. The middle layer is Kubernetes, which orchestrates the containers—telling them what to do, where to run, and how to communicate.

The top layer is where OpenShift adds its magic. This includes a collection of services that handle everything from building code into images to managing user access and monitoring application health.

This layered approach means you get the power and flexibility of Kubernetes without needing to assemble all the surrounding pieces yourself.

Like Kubernetes, an OpenShift cluster consists of master nodes and worker nodes. Master nodes manage the cluster, making decisions about where to run applications. Worker nodes are the workhorses; they are where your application containers actually run. This separation ensures the cluster remains stable and efficient.

OpenShift vs. AWS

It's common to compare OpenShift with public cloud providers like Amazon Web Services (AWS), but they solve different problems. AWS provides a vast array of services, from virtual servers (EC2) and storage (S3) to databases and machine learning tools. It's a comprehensive cloud infrastructure provider.

OpenShift, on the other hand, is a platform that can run on top of infrastructure like AWS, or on your own servers in a private data center. Its primary focus is to provide a consistent environment for containerized applications, regardless of where they are running.

FeatureOpenShiftAWS
Core FunctionContainer application platformBroad infrastructure & platform services
DeploymentCan run on any cloud or on-premisePrimarily its own public cloud infrastructure
Main AbstractionContainers and PodsVirtual Machines (EC2), Lambda functions, etc.
Primary GoalStandardize application deployment and managementProvide a wide range of on-demand IT resources

You can use Red Hat OpenShift Service on AWS (ROSA), which is a fully managed OpenShift service running on AWS infrastructure. This gives you the best of both worlds: the developer-friendly tools of OpenShift combined with the scalability and reliability of AWS.

Lesson image

Choosing between them isn't about which is better, but what you need. If you want a platform to standardize how your teams build and deploy applications everywhere, OpenShift is a strong choice. If you need a wide variety of cloud services and building blocks for your infrastructure, AWS is the go-to.

Ready to check your understanding of OpenShift basics?

Quiz Questions 1/5

What is the primary relationship between OpenShift and Kubernetes?

Quiz Questions 2/5

In the analogy where Kubernetes is a high-performance engine, what does OpenShift represent?

This introduction covers the fundamentals of what OpenShift is and how it relates to Kubernetes and cloud providers like AWS. With this foundation, you can start to explore how to build and deploy your first application on the platform.