OpenShift in the IBM Cloud – implementation thanks to Opsenio

24.08.2021

From this article, you will learn:

  • what is containerisation and what tools should be used to work with it?
  • what are the advantages of OpenShift?
  • why choose OpenShift over Kubernetes?
  • what is the IBM Cloud advantage?

What is containerisation?

When creating dedicated software to solve a very difficult problem, a technique used is to break up the problem into smaller ones until the complexity of the task is low enough that we can solve it effectively. Using appropriate programming languages, a set of tools and technologies and good practices, an abstract business model is implemented that meets the requirements and business goals set for the system.

The same point of view was used by the originators of containerisation when tackling issues of infrastructure and software management. The challenges were many, including:

  • optimisation of complex architecture,
  • facilitating the management of hardware resources (CPU, RAM, HD),
  • enabling easy creation of environments (development, test, UAT, production),
  • streamlining the process of software development and updating,
  • increased ability to scale services and even entire systems

The response to this was the decision to build an appropriate abstraction layer to meet the needs of the IT environment. This is how the process called containerisation came about.

Each container contains a well-defined set of dependencies, enabling it to fulfil its task. For example, a simple online shop should have: a microservice responsible for storing and searching for available products.
If the efficiency of a single container using specific hardware resources can satisfy the simultaneous searching by 5,000 customers, then in the case of a large shop, where 20,000 customers may be using the search feature at the same time, you would need to run (replicate) a minimum of 4 containers containing the “product” microservice.

When developing an e-commerce system, in addition to the “product” microservices, you will need other microservice containers, e.g. for customers, suppliers, orders, invoices, etc. The final number of different types of containers will grow as the number of requirements increases and the system is divided accordingly. The total number of containers will be the result of the current shop load and the resources made available for use.

Containerisation – useful tools

Containerisation in itself is a kind of idea that creates potential to be exploited. Docker images make it possible to remove repetitive configuration tasks throughout the software development and usage lifecycle. To fully exploit this potential, it is necessary to automate the activities associated with operating this abstract architecture.

To meet the challenges, the Red Hat OpenShift platform comes to the rescue. In technical aspects, the following elements should be emphasised within OpenShift:

  • POD – basic unit. This is the abstraction layer where containers are placed. To increase performance, it is possible to replicate (increase the number of PODs) – simply increase the number of PODs with a single button in the OpenShift UI panel, or enter a configuration that automatically balances the number of PODs depending on load
  • services – elements responsible for business continuity by linking a fixed ID to a dynamically changing number of PODs of a given type, in order for microservices to communicate with each other;
  • routes – a mechanism that allows linking services to external endpoints in order to provide access to services and applications placed in PODs for external users;
  • Source To Image – an interesting solution is the Source To Image mechanism, which creates Docker images from compiled sources. It eliminates the need to use a classic configuration file (DockerFile) which greatly reduces the possibility of errors. This mechanism also allows for continuous incremental image development, making it much easier and faster to introduce security fixes to existing apps;
  • image stream – an extremely important element of the whole, this is a service which allows containers to be automatically updated as soon as a new version of the image from which they originated is available.

Streamlining the work on containerisation is simple and achievable for everyone. All thanks to a platform in the PaaS model – OpenShift. This platform enables a very comprehensive approach to both container deployment and management. OpenShift optimises the management of the containers themselves and the processes for creating them far more than the standard Kubernetes.

Opsenio: oprogramowanie dedykowane

Advantages of OpenShift

OpenShift is a powerful solution, ideally suited for those who want to use the potential of containers efficiently. What is the strength of this platform?

  • intuitive to use – refined UI with numerous examples and tips
  • implemented mechanisms ensuring Continuous Delivery – e.g.: deployment mechanism and Image Stream
  • extensive documentation and support from the OpenShift community
  • extensive documentation and support from the OpenShift community
  • efficient management of employee access to specific projects – OAuth server
  • your own Docker image repository
  • ability to split containers into projects using the Kubernetes namespace
  • option of full separation of projects and hardware resources – multi-tenancy
  • built-in metrics server

OpenShift vs Kubernetes – which to choose?

OpenShift and Kubernetes are two very popular platforms that aim to simplify container management processes. In practice, it can be said that these solutions are very similar to each other. There are quite a few differences though, OpenShift is effectively everything Kubernetes is, but with additional functionality. We can distinguish 5 basic differences between OpenShift and Kubernetes:

  • OpenShift is a product and Kubernetes is a – the advantage of OpenShift is that it allows users to install a finished product that offers paid support with a subscription. It is developed and maintained partly by the community and primarily by Red Hat. On the other hand, Kubernetes is an ever-evolving framework. Community support is considerable, however, it does not contain many facilities, as compared to OpenShift, which lower the threshold for deployment and use in an organisation.
  • OpenShift’s security is tighter than Kubernetes – in terms of security, OpenShift’s advantage is considerable as it has more stringent rules and policies enabled by default. In addition, OpenShift offers an integrated authentication server. Both platforms provide authentication via role-based access control (RBAC). OpenShift treats it as an integral part of itself, in Kubernetes it is just an option to configure.
  • deployment approach – OpenShift offers a deployment configuration mechanism that has more configuration options and the ability to use the Image Stream service. This approach adds extended support for the software development cycle relative to Kubernetes.
  • OpenShift’s ease of management is superior to Kubernetes – the ImageStream service offered by OpenShift makes it easy to manage container images, and change image tags in the registry, and provides the ability to download entire images and change them automatically.
  • the advantage of OpenShift can also be seen in several other areas – OpenShift offers support through a built-in and configurable logging module consisting of the ETF stack (Elasticsearch, Fluent.d, Kibana). In addition, it has an integrated metrics collection mechanism. With OpenShift, switching between projects is very easy, whereas Kubernetes, in this case, requires the use of additional tools In OpenShift, the user is able to create container images with a single command and use them in different environments. In the case of Kubernetes, this is slightly more difficult.

OpenShift in the IBM Cloud – why should you?

IBM Cloud is a comprehensive platform with more than 170 products and services in areas such as artificial intelligence, data and containers, blockchain technology and the Internet of Things. OpenShift on the IBM Cloud is designed to support enterprises even in the early stages of cloud migration. This becomes easy and intuitive with the ability to develop cloud-independent software. An additional benefit is that it provides developers with access to a platform that enables containerisation and the efficient deployment of even highly loaded services. By combining these functionalities with the cloud, you can ensure that your systems are fast and reliable. With the IBM Cloud, users can manage containers in any location around the world and seamlessly create and deploy new applications. All this with a guarantee of complete data security.

OpenShift in the IBM Cloud – implementation thanks to Opsenio

Opsenio’s successful implementations are based on OpenShift technology. By choosing us, you are choosing an experienced partner who will carefully plan the steps to be taken and guarantee a fast turnaround time. By meeting agreed project milestones, we guarantee full control over the course of implementation. We create solutions for customers focussed on success using IT. Our products and services are used in the following sectors:

  • Finance
  • Transport (logistics, automotive, ports, rail, aviation)
  • Utilities (energy, water, gas)
  • Manufacturing (chemicals, heavy industry, mining)

Why is it worth working with us?

Opsenio: dedicated software

Contact us!

Opsenio Sp. z o.o.

ul. Parkowa 11

30-528 Kraków

+48 (0) 793 571 339