Today’s modern-day applications demand high availability, resilience, security, scalability, and fault tolerance. These are the drivers for the change from a monolithic architecture to a distributed architecture based on microservices. Microservices running the application need a right level of isolation, which can be achieved using containers. Containers need to be scaled in / out based on the demand. The scaling can be achieved orchestration technologies like Kubernetes.
OpenShift platform leverages Kubernetes to provide a ready to start container platform that can hosts microservices based applications.
Devops is a methodology that enables management of application software code and infrastructure definition code in a single cohesive way.
Today’s infrastructure technology has allowed the user to order virtual machine on demand. The software running on the virtual machines, can be deployed using continuous integration and continuous delivery methodologies.
The OpenShift platform organizes the resources required for the deployment as a walled namespace, termed as Project. The source control management (SCM) like GitHub integrates well with OpenShift, so the code can be built directly from OpenShift using ‘Build’ feature. The Build feature will build and deploy the code to a POD. The Deployment feature can be used to configure the POD for the application configuration like database connection, single sign on (SSO), using the ‘ConfigMap’ feature. The application is exposed to the business users using ‘Route’ feature. The entire infrastructure can be expressed as infrastructure-as-a-code for the Deployment, Route, ConfigMap, Secret, Build and POD.
This paper tries to evaluate the OpenShift platform for ‘Devops’.