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. Applications can be implemented in any programming language you choose. The only requirement is that the application can run within a container.
In terms of cloud service computing models, OpenShift implements the functionality of both a Platform as a Service (PaaS) and a Container as a Service (CaaS). Using OpenShift as a CaaS, you can bring a pre-existing container image built to the OpenShift Container Initiative (OCI) Image Specification (image-spec) and deploy it.
The PaaS capabilities of OpenShift build on top of the ability to deploy a container image, by providing a way for you to build in OpenShift your own container image direct from your application source code and have it deployed.
The application source code can include a
Dockerfile with instructions to build a container image. Or, you can use a Source-to-Image (S2I) builder, which takes your application source code and converts it into a container image for you, without you needing to know how to write instructions for building a container image.
Books for OpenShift development
Introducing Istio Service Mesh for Microservices
Microservices for Java Developers: A Hands-on Introduction to Frameworks and Containers
Migrating to Microservice Databases: From Relational Monolith to Distributed Data
OpenShift for Developers: A Guide for Impatient Beginners
Extend Kubernetes with supported Service Mesh and Serverless
Red Hat OpenShift 4 provides new tools that can enhance application architectures beyond basic microservices. With Service Mesh (Istio) and Serverless (Knative), OpenShift enables new architectural strategies in a codified and supported package.
Serverless architecture and Knative for OpenShift
Develop with OpenShift
A collaborative kubernetes-native development solution that delivers OpenShift workspaces and in-browser IDE for rapid cloud application development.
OpenShift on your laptop. CodeReady containers gets you up and running with an OpenShift cluster on your local machine in minutes.
A CLI tool for developers who are writing, building, and deploying applications on OpenShift. With Odo, developers get an opinionated CLI tool that supports fast, iterative development which abstracts away Kubernetes and OpenShift concepts, thus allowing them to focus on what's most important to them: code.
Red Hat VS Code extensions allow software developers to use their favorite development environments within Red Hat technologies.
OpenShift interactive tutorials
Getting started with OpenShift
Use the OpenShift Container Platform to build and deploy applications using both containers and orchestration.
Logging in to an OpenShift cluster
Access and login to an OpenShift cluster using the web console and command line, then add collaborators on your projects.
Developing with odo
Use OpenShift Do (odo), a CLI tool for developers, to manage application components on the OpenShift Container Platform.
Deploying applications from images
Deploy an application from an existing Docker-formatted image using the OpenShift web console and the command line using oc.
Deploying applications from source
Deploy an application from source code contained in a Git repository using a Source-to-Image (S2I) builder using Python.
Connecting to a Database Using Port Forwarding
Use the oc interactive shell to access a database, use port forwarding to temporarily expose a database outside of OpenShift, and access it from a database tool running on your local machine.
Using the CLI to Manage Resource Objects
Use the oc command line tool to determine what resource objects have been created related to your application, and how you can query or update them.
OpenShift 4.2 playground
Explore OpenShift 4.2 using this playground, which gives you access to an unstructured learning approach for experimentation.