OpenShift: What It Is and Why Devs, Ops, and Businesses Love It
CLOUD & DEVOPS
OpenShift: What It Is and Why Devs, Ops, and Businesses Love It
event 16/07/2018
In a previous article, I had the opportunity to discuss the benefits of cloud elasticity and the results that can be achieved by transitioning from mutable servers (VMs) to potentially immutable containers.
To achieve these results, it is necessary to manage containers just like source code: introducing a CI/CD workflow that also involves containers.
The Red Hat OpenShift platform has a fundamental advantage over similar products that serve to manage containers (container orchestrators): it allows defining a complete CI/CD workflow that starts from the application's source code and the code that describes the images, all the way to the deployment of containerized applications.
Naturally, OpenShift is primarily an excellent container orchestrator. It is based on Kubernetes, an open-source product created by Google based on extensive experience in using and managing containers in high-performance production environments.
The utility of a container orchestrator
A container orchestrator is essential for managing distributed systems that make use of a large number of containers:
- It allows managing modern applications structured as microservices.
- Managing a large number of microservices in a server cluster is very complicated without a container orchestrator: it is necessary to solve problems related to combined container deployment, multi-host container networking, service discovery, distributed management of persistent volumes, and so on.
- Like Kubernetes, OpenShift allows easy management of service scaling and load balancing among replicas of the same service. This feature makes it easy to achieve selective scaling of individual components of a microservices application.
Features of OpenShift
To install OpenShift, all you need is a cluster of machines running the RHEL operating system.
It doesn't matter how the servers are set up; they can be physical servers, VMs, or machines in public and private clouds. OpenShift treats this server cluster as computational and storage resources and creates an abstraction layer on top of it in which containerized applications live.
OpenShift itself is a distributed system made up of various components. Each component of the system can be installed in high availability mode to avoid having weak points (no "single point of failure").
OpenShift is built on Kubernetes but leverages various other open-source projects and technologies (such as Source-to-Image, the technology that allows transitioning from application source code to containerized application, or Jenkins, a popular CI/CD server). Kubernetes, in turn, is an aggregate of open-source products supported by a developer community that is unmatched in terms of size and level of participation.
OpenShift is designed to be easy to use:
- It provides various user interfaces (web-based or command-line) to allow better automation, APIs that provide the ability to manage every aspect of the platform, and a range of runtimes to facilitate the creation of containerized applications.
- It offers a rich catalog of languages and servers (e.g., application servers, message brokers, and other middleware products) to build complex distributed systems and microservices applications in a simplified manner.
- It is also designed to facilitate collaboration between users while minimizing unwanted interference. The platform is multitenant and equipped with a sophisticated system for managing users, roles, and permissions. Access to resources can be controlled at an extremely granular level, and the use of any resource can be subject to limitations.
OpenShift: enabling closer collaboration between Developers and System Administrators
Therefore, OpenShift is the ideal platform for optimizing collaboration between developers and system administrators. OpenShift allows developers to independently provision all the necessary tools for building applications and sophisticated build and deploy workflows as desired. On the other hand, system administrators have full control over the platform, resource utilization, and, thanks to images and containers, the runtime environment of applications. They can also immediately access any security fixes published by Red Hat and apply them instantly to containers running on the platform.
Red Hat OpenShift is a PaaS platform for cloud applications that automates hosting, configuration, implementation, and administration of application stacks in a flexible cloud environment.
To delve deeper into this topic and discover how OpenShift can help minimize the time-to-market for your applications
rocket_launch Watch the webinar! (in Italian)Watch the webinar!
explore Go to videoother articles on the topic