According to a study published in October 2021 on the cloud native market in Germany, around three quarters of the CTOs surveyed have a different understanding of what the term “cloud native” stands for. Approximately 18 percent of the participants use the term as another designation for public cloud. Echoing the term “digital native,” 8 percent of respondents answered that cloud native refers to people who have grown up in the cloud age.
The different answers are not surprising, after all there is also no article of the cloud native term in the German version of Wikipedia up to the time of publication of this article, although a definition was formulated back in 2015 when the Cloud Native Computing Foundation (CNCF) was founded.
After all, more than a quarter of the study participants, and thus the largest group of respondents, were able to correctly assign the term. In fact, many IT experts classify the cloud native approach as the most important trend for the future of software development. But what exactly is meant by cloud native?
Cloud native is the approach in software development to conceptualize scalable applications for use in private, public or hybrid cloud environments, to develop them in an agile manner and to run them dynamically on different servers in different locations in a platform-independent manner.
The fundamental elements of the cloud native concept are microservices and container technologies. All the workflows, processes, and services required for a cloud native application are divided into many small individual tasks, each of them is developed as a microservice. Every microservice performs only a single, specific task and is combined with the libraries and configuration files required for execution in a container. In this way, the containers provide the complete runtime environment of the application and can be moved between different environments. Finally, the microservices are connected to each other via precisely defined programming interfaces (APIs) to exchange their data and information with each other.
Microservices are highly standardized, defragmented, and at the same time automated and scalable. They are deployed in a virtual, elastic infrastructure and use only as much power of the allocated cloud computing resources as they need in real time for the tasks. Automatic, intelligent orchestration of the containers ensures optimal interaction of all microservices and thus the full functionality of the application.
In this way, fault-tolerant software solutions are created that dynamically adapt to the current demand and workload. Fast-growing companies in particular benefit from the fact that their applications are created independently of the operating system or specific hardware and are easily portable. In addition, the cloud native approach also achieves the overall goal of making application development faster, more flexible, and agile, which also allows companies to respond more quickly and dynamically to changes in their market environment.
The modular architecture makes it possible for several development teams to work independently of each other and create their microservices, using the best tools to solve the task. At the same time, special emphasis is placed on keeping the code as lean and minimalistic as possible to avoid unnecessary complexity.
Each microservice has its own independent lifecycle, overseen by an agile DevOps process. To deploy and manage the cloud native application, multiple automated test, build, and delivery pipelines (CI/CD = Continuous Integration/Continuous Delivery) typically work together. In this process, the individual services are developed, tested, and put into operation at short intervals or, if necessary, corrected and repeatedly tested until an error-free version has finally been created.
If a microservice nevertheless raise an error during runtime, this will affect the functionality of the application, but will not lead into a total failure.
In contrast, in the case of monolithic applications, an error often affects the functionality of the entire application, which often affects the whole company. The effort to fix the error and to deploy the patched version is usually very time-consuming and resource intensive.
Short-term adjustments or changes that arise due to changes in the market or because of customer requirements require long-term planning and are very difficult to implement within a new release. The sum of these rigid characteristics means that those companies using monolithic applications are unable to respond quickly and flexibly to changing market requirements and are therefore at a competitive disadvantage.
After the initial confusion of terms had been cleared up, IT decision-makers showed a great affinity for the implementation of cloud native projects.
Around a quarter of the participants said they were already implementing the cloud native approach in their company. A further quarter plan to introduce it in the next twelve months. The most common motivation given was the desire for more stable systems and optimized processes.
Surprisingly, the advantages of flexibility and automatic scaling were only rarely mentioned. The result is that many companies cannot yet properly estimate the positive impact that the introduction of cloud native solutions will have on their competitiveness. In any case, the cloud native approach is not a short-lived hype, it is a trend that has come to stay. Not only in the development of new business models, but also for existing companies in coping with dynamic market developments, cloud native applications will become more and more popular.
Download the cited study for free here: „ISG Pulse Check: Status quo des Cloud-Native-Markts in Deutschland“.