OpenShift is Red Hat’s container application platform that brings Docker and Kubernetes into play when deployed. With OpenShift, you can easily and quickly build, develop and deploy applications, irrespective of the platform being used. It is an example of a Platform as a Service.
Platform as a Service or PaaS is a cloud computing service model that reduces the complexity of building and maintaining the computing infrastructure. It gives an easy and accessible environment to create, run and deploy applications, saving developers all the chaotic work such as setting up, configuring and managing resources like servers and databases. It speeds up app development, allowing users to focus on the application itself rather than worry about the infrastructure and runtime environment.
Initially, PaaS was available only on the public cloud. Later, private and hybrid PaaS options were created. Hybrid PaaS is typically a deployment consisting of a mix of public and private deployments. PaaS services available in the cloud can be integrated with resources available on the premises.
PaaS offerings can also include facilities for application design, application development, testing and deployment. PaaS services may include team collaboration, Web service integration, marshalling, database integration, security, scalability, storage, persistence, state management, application versioning and developer community facilitation, as well as mechanisms for service management, such as monitoring, workflow management, discovery and reservation.
There are some disadvantages of using PaaS. Every user may not have access to the full range of tools or to the high-end tools like the relational database. Another problem is that PaaS is open only for certain platforms. Users need to depend on the cloud service providers to update the tools and to stay in sync with other changes in the platform. They don’t have control over this aspect.
OpenShift is an example of a PaaS and is offered by Red Hat. It provides an API to manage its services. OpenShift Origin allows you to create and manage containers. OpenShift helps you to develop, deploy and manage applications which are container-based, and enables faster development and release life cycles. Containers are standalone processes, with their own environment, and are not dependent on the operating system or the underlying infrastructure on which they run.
Types of OpenShift services
OpenShift Origin: OpenShift Origin is an open source application container platform from Red Hat, which has been released under the Apache licence. It uses the core of Docker container packaging and Kubernetes container cluster management, which enables it to provide services to create and manage containers easily. Essentially, it helps you to create, deploy and manage applications in containers that are independent of the operating system and the underlying infrastructure.
OpenShift Online: This is Red Hat’s public cloud service.
OpenShift Dedicated: As its name suggests, this is Red Hat’s offering for maintaining private clusters. Red Hat OpenShift Dedicated provides support for application images, database images, Red Hat JBoss middleware for OpenShift, and Quickstart application templates. Users can get this on the Amazon Web Services (AWS) and Google Cloud Platform (GCP) marketplaces.
OpenShift Container: OpenShift Container or OpenShift Enterprise is a private PaaS product from Red Hat. It includes the best of both worlds—containers powered by Docker and the management provided by Kubernetes. Red Hat announced OpenShift Container Platform 3.6 on August 9, 2017.
- In OpenShift, we can create applications by using programming languages such as Java, Node.js, .NET, Ruby, Python and PHP.
- OpenShift also provides templates that allow you to build (compile and create packages) and release application frameworks and databases.
- It provides service images and templates of JBoss middleware. These are available as a service on OpenShift. A user can build (compile and create packages) applications and deploy them across different environments.
- OpenShift provides full access to a private database copy with full pledge control, as well as a choice of datastores like MariaDB, MySQL, PostgreSQL, MongoDB, Redis, and SQLite.
- Users can benefit from a large community of Docker-formatted Linux containers. OpenShift has the capability to work directly with the Docker API, and unlocks a new world of content for developers.
- Simple methods are used to deploy OpenShift, such as clicking a button or entering a Git push command.
- OpenShift is designed to reduce many systems administration problems related to building and deploying containerised applications. It permits the user to fully control the deployment life cycle.
- The OpenShift platform includes Jenkins, which is an open source automation server that can be used for continuous integration and delivery. It can integrate unit test case results, promote builds, and orchestrate build jobs. This is done by using upstream and downstream jobs, and creating a pipeline of jobs.
- OpenShift supports integration with IDEs such as Eclipse, Visual Studio and JBoss Developer Studio. It is easier to use any of these IDEs and work with OpenShift.
Getting started with OpenShift Online
Let’s take a quick tour of OpenShift Online. Go to https://manage.openshift.com.
Click on Login and log in by using any social media account.
Sign in to GitHub.
Click on Authorize redhat-developer.
Provide your account details. Then verify the email address using your email account.
Next, select a starter plan, followed by the region you want. Then confirm subscription.
Now your account will be provisioned.
On the OpenShift online dashboard, click on Create Project and on the Welcome to OpenShift page, provide the name and display name. Next, click on Create. Select the language from the Browse Catalogue option. Select Red Hat JBoss Web server (Tomcat). Select the version, provide the name and the Git repository URL.
Next, click on Create. You will get the ‘Application created’ message. Click on Continue to overview. Go to the Overview section of the project created and verify the details related to the application.
By following the above steps, you have created your first project. Now, you can continue exploring further to get a better understanding of OpenShift Online.
The author is an Author of the book Implementing DevOps with Microsoft Azure available at https://goo.gl/AgcsBX . He contributes occasionally to https://clean-clouds.com and https://etutorialsworld.com.