As enterprises are using microservices and containers to build applications faster and deliver and scale across the hybrid cloud environments and for this they need the right platform. Red Hat OpenShift is a secure and reliable containerization solution build on open-source Kubernetes with additional components to provide self-service, dashboard automation- CI?CD, container image registry, multilingual support, and other kubernetes extensions.
Benefits of OpenShift 👨🏫
- Pods: Pods are one or more containers deployed together on one hosts. Each pod is allocated CPU, memory, disk, and network bandwidth. Pods can be used to deploy or create apps.
- Pod autoscaling: OpenShift can do automatic horizontal pod scaling as application load increases. It removes the human effort to manually increase the number of application instances.
- High availability: OpenShift consists of a control plane, persistent volume storage of REST API, and application hosting infrastructure. Each platform can be configured with multiple redundancies for fail-over and load-balancing to eliminate the impact of hardware and infrastructure failure.
- Choice of cloud infrastructure: OpenShift can be run on a physical or virtual, public or private cloud, or hybrid cloud infrastructure.
- Responsive web console: OpenShift has a great web console interface with a responsive UI design. Developers can create, modify and manage their apps, and other resources from the web console.
- Rich command-line tool set: OpenShift has a rich set of command-line tools for the developers who prefer the command line. These tools are easy to use and also can be used in scripts.
- Remote access to application containers: The unique SELinux-based architecture of OpenShift allows users to remotely execute commands or log in via SSH to individual containers for apps deployed on the platform.
- IDE integration: OpenShift can be integrated with Eclipse, JBoss Developer Studio, and Visual Studio which developers can use for working with OpenShift.
OpenShift Architecture 👨🏼💻
The above diagram describes the architecture of the OpenShift Containerisation Platform. The components in green were added and modified by Red Hat.
- RHEL CoreOS: The base operating system used by the OpenShift container Platform is Red Hat Enterprise Linux CoreOS. CoreOS is a lightweight RHEL version that provides essential OS features.
- CRIO-O: CRI-O is a lightweight container engineer alternative to Docker. It is a Kubernetes Container Runtime Interface enabling to use of Open Container Initiative compatible runtimes.
- Kubernetes: Kubernetes is an industry-standard container orchestration engine for managing and running containers. Kubernetes resources define how applications are built, operated, managed, etc.
- ETCD: ETCD is a distributed database of key-value pairs, storing clusters, Kubernetes object configuration, and state information.
- OpenShift Kubernetes Extensions: OpenShift Kubernetes Extensions are Custom Resource Definitions (CRDs) in the Kubernetes ETCD database, providing additional functionality.
- Containerized Services: Most internal features run as containers on a Kubernetes environment. These are fulfilling the base infrastructure functions such as networking, authentication, etc.
- Runtimes and xPaaS: These are base ready-to-use container images and templated for developers.
- DevOps Tools: OpenShift provides Rest API for interaction so any third part CI/CD tools can connect to this.
With this architecture, the developer doesn’t need to worry about the Kubernetes or containers. OpenShift platform provides automated development workflows allowing developers to concentrate on business outcomes
Automation CI/CD ❗️
Openshift comes with features such as Source-to-image(S2I) and image Stream to help developers to apply changes to their application much quicker than in a Kubernetes environment.
- Docker build: Docker build image allows developers with docker knowledge to define their own Dockerfile based image build. IT requires a repository with a Dockerdile.
- Source-to-Image: Source-to-image(S2I) can pull code from a repository detecting the necessary runtime and build and start a base image required to run the specified code in a Pod. Then if the image gets successfully built, the is uploaded to OpenShift internal registry and the Pod can be deployed on the platform.
- Image Stream: Image streams can be used to detect changes in application code or source images, and rebuild a Pod or re-deploy to implement the changes. Image stream can automatically update a deployment if a new base image has been released.
- OpenShift Pipelines: With OpenShift Pipelines developers and cluster administrators can automate the processes of building, testing, and deploying application code to the platform. With pipelines, it is possible to minimize human error. A pipeline could include compiling code, unit tests, code analysis, security, installer creation, container build, and deployment.
Use-Cases of OpenShift 🖥️
🔴 Lockheed Martin
Lockheed Martin Corporation is an American aerospace, arms, defense, security, and advanced technologies company with worldwide interests. It was formed by the merger of Lockheed Corporation with Martin Marietta in March 1995. Lockheed Martin is one of the largest companies in the aerospace, military support, security, and technologies industry. It is the world’s largest defense contractor, based on revenue for the fiscal year 2014.
To stay ahead of competitive threats, Lockheed Martin needed to upgrade its development process using an agile methodology and DevSecOps practices. “When you have a world-renowned platform like the F-22 Raptor, adversaries are constantly looking for ways to counter it,” said Michael Cawood, Vice President of F-16/F-22 product development with Lockheed Martin.
Lockheed Martin chose Red Hat Open Innovation Labs to help them transform from waterfall development to an agile approach while disentangling its web of embedded systems. Together, Lockheed Martin and Red Hat built an open architecture to accelerate application development and delivery. With the new culture and few possibilities in DevSecOps and agile, and a more flexible platform based on Red Hat OpenShift Container Platform, the F-22 team continue its work to ensure the Raptor meets America’s defense needs.
Lockheed Martin’s new processes and platform eliminated multiple-day design reviews. The company now demonstrates capability maturity with each sprint. In addition, Lockheed Martin now builds a minimum viable product (MVP) to deliver capabilities to the customer as quickly as possible.
“I’m excited about our ability to deliver capabilities to the F-22 fleet faster and more affordably. I’m even more excited to see what the future holds, as we continue to revolutionize the way we think and scale this transformation to the F-16 and other Lockheed Martin products.”
MICHAEL CAWOOD, VICE PRESIDENT, F-16/F-22 PRODUCT DEVELOPMENT, LOCKHEED MARTIN
NetApp, a data management technology company, sought to improve the speed and efficiency of its IT service delivery. The company automated manual, repetitive management processes and streamlined storage provisioning using Red Hat Ansible Automation and Red Hat OpenShift Container Platform. As a result, NetApp has dramatically reduced delays and human errors — eliminating hundreds of hours of manual work — and accelerated application delivery times from weeks to minutes.
NetApp sought to improve the speed and efficiency of its IT service delivery. The company automated manual, repetitive management processes and streamlined storage provisioning using Red Hat Ansible Automation and Red Hat OpenShift Container Platform. As a result, NetApp has dramatically reduced delays and human errors — eliminating hundreds of hours of manual work — and accelerated application delivery times from weeks to minutes.
- Achieved more efficient and accurate IT infrastructure maintenance
- Reduced application delivery time from weeks to minutes
- Gained support for evolution to modern, cloud-based application architecture
“This project had occupied dozens of staff for weeks, with many more weeks to go. With Ansible, we completed it in two days.”
— DAVID FOX
SENIOR UNIX ENGINEER, NETAPP
Cisco Systems, Inc. is an American multinational technology company. Cisco develops, manufactures, and sells networking hardware, software, telecommunications equipment, and other high-technology services and products. Through its numerous acquired subsidiaries, such as OpenDNS, Webex, Jabber, and Jasper, Cisco specializes in specific tech markets, such as the Internet of Things (IoT), domain security, and energy management.
Cisco’s success depends on its ability to quickly deliver innovative IT products and solutions to customers. Delays can cost the company business. To encourage speed to market and improve satisfaction, Cisco needed to keep its 1,000+ developers fully engaged in designing and building applications and guard against high employee turnover, low productivity, and slow response times.
Cisco turned to Red Hat to design and build its LAE, a PaaS deployment that supports hundreds of apps that power a variety of business functions. The solution gives developers a self-service portal they can use to order t”he IT resources they need to develop apps, eliminating manual provisioning.
“Prior to OpenShift, we limited ourselves to a small number of technologies, and it took a long time to add new ones. OpenShift lets us provide the technologies developers want, quickly and automatically … so we can best serve the business, customers, and partners.”
I.T. ARCHITECT, Cisco