The benefits of digitising enterprise IT cannot be understated, but the path to getting there is not always easy. Container-as-a-service is one trend to keep in mind in this connection.
Text: David Zimmerli, first published in the Swiss IT Magazine in october 2019,
It is true that, in general, there is still little productive workload on CaaS solutions in Switzerland, yet the topic is still of great interest to most companies.
With the launch of containers in the cloud, the symphony of corporate IT also begins. Data is now being produced on a scale that would have been beyond the imagination of any company ten years ago. Data changes knowledge about production methods, user behaviour and even entire business processes. It is created in different places, in different applications and interfaces.
The task of corporate IT is to consolidate this data and store it in a meaningful form for processing. For companies that do not want to shut the door to future possibilities offered by big data, analysis tools and new business models, making the move towards the cloud is therefore inevitable.
Container technology makes an important contribution when it comes to moving classic business applications and the data they contain to the cloud, because not every application was initially created in the native cloud. Container solutions can ease the path to the cloud.
When a company heads for the cloud, it is often a hybrid journey: On the one hand the entire IT should function in the cloud, on the other hand, the handling of legacy IT must be ensured. The fact is that not every application is suitable for moving to the cloud, and defining a hybrid model is often inevitable.
If you take a look at a company's IT, you could compare a traditional monolithic application with a one-man band. One person plays all the instruments fixed to the same spot. This means the street musician sings, plays guitar and moving a rhythm instrument on his back all at the same time. He has everything under control at all times, can decide on deployment and coordination, but usually only achieves a small audience in the immediate vicinity at the moment of playing.
Translated into IT, this means a self-contained application that is entirely installed on one operating system and that runs there fixed to the spot. This usually works in practice, but it is not practical, and the rigid, inflexible structures are not sufficiently agile in today's fast-moving world to keep pace with development.
What to do, then? The first step is to make the one-man band mobile. The musician can now play anywhere, not just in his usual spot on the street corner. He can walk around and – if necessary – even play on the train. By doing so, he can achieve a larger audience and therefore also be more effective.
This is exactly what container technology makes possible: It is a step towards virtualisation. Applications are tied up with all accessories in transportable packages and transferred to the cloud. The entire application, including all required libraries and other components, is placed into a container, partly divided into sandboxes or other test and development scenarios. There are no longer any external dependencies, the application runs autonomously within the container. By eliminating these external dependencies, applications can be moved across different systems. This increases an application’s portability and flexibility.
In contrast to virtual machines (VMs), containers do not have a high overhead and thus enable more efficient use of the underlying system and resources. This constitutes a first step towards modernising workflows and differentiating between development and productive environments. In addition, any releases and testing can be carried out. The organisational journey towards modern DevOps can begin.
So far so good, but one person can't do everything, because everything still hangs on their performance. For great success, there needs to be more musicians in the orchestra and, above all, a good conductor.
This is where, for example, the container orchestrator Kubernetes (k8s) comes in, which was originally developed by Google and is now an open source solution. This tool makes it possible Replicating and orchestrating containers, planning their execution, ensuring integrity and monitoring.
In order to play a good concert, the conductor also needs the right notation. This means that the introduction of what is known as a declarative state, for example with a YAML (Yet Another Markup Language, a simplified markup language that represents associated data) file, provides a great advantage.
Sticking with the musical analogy, it is the score that indicates what and how to play. The container solution therefore consists of a master who interprets the score and does everything necessary to ensure that the containers function as desired.
In the final step, the musicians of the orchestra can now specialise: They only play one instrument, but they play it perfectly. In addition, the musicians can also be amplified individually according to their instrument, not just as a whole.
Translated into IT, this means that the monolithic application is divided into microservices. Parts of the application are released and defined as separate containers, where microservices dedicated to a single activity are created. One speaks here of horizontal elasticity, also called scale-out. This allows more flexibility in the development, because each microservice is developed independently and thus allows a considerably faster reaction time. One further advantage is the possibility of adding new microservices at any time without affecting everything else, because everything runs autonomously in its own container.
This means that data can now be used more effectively, because until now a monolithic application had to perform a specific task from A to Z. The new system is based on the same principle.
Now it is possible to think about using the data obtained by the application in a different way and re-use it. Divided and supplemented with further microservices as required, the application is rather a service network than merely the completion of tasks from A to Z. In such a service network, there can be any number of the data is made available and used for further – or even new – business processes.
Sooner or later: Containers make the development and deployment of software in the cloud more agile and efficient. With container-as-a-service, companies get a real digitisation boost. For example, developers can advance their projects much faster and more easily, make their applications available faster and optimise resources.
Container solutions help corporate IT in various areas to take a big step towards digitisation. On the one hand, operational teams can simplify support, developers can focus on their core business, and infrastructure and performance concerns can take a back seat. For the business, a faster go-to-market and clear scaling according to customer needs is now possible – much to the delight of customers and users of the applications.
In the long term, however, companies should nevertheless ensure that they modernise their applications. Although containerisation is a first step in the right direction, it also has its limits. It is important to understand that containerisation does not simply involve direct splitting into microservices – an application must also first be laid out and usually re-encoded.
Conclusion: Companies are now starting to containerise and thus initialise the process of application modernisation. Container services provide means to support DevOps models. Organisational development opportunities must therefore be taken into account, as containers enable faster provision and optimum use of resources. And don't forget third-party software provisioning: they are the actual drivers in container development, because offering software from containers is now their most preferred and reliable option. This turns container services into the central IT hub. As a "symphony of cloud services" they meet the many demands of the interest groups involved.
Other readers are also interested in: