Digital transformation, new capabilities of digital tools and modern IT systems architecture create a paradigm of modern technologies (New IT, as Accenture calls it). It includes the most advanced technologies (clouds, AI, data analytics, machine learning, etc.) and processes (Agile,DevOps and Design Thinking), and also involves several stages of transforming complex IT infrastructure of large companies. One of the first steps towards its implementation is the adaptation of the IT microservice layer based on existing legacy platforms.

The article tells how to work with microservices, supporting the development of the old IT infrastructure and creating the flexibility of its new elements in the most effective way.

Microservices for a great IT future

The term “microservice architecture” ( Microservice Architecture ) has gained popularity in the past few years. This is a way to develop applications through the integration of independently deployed IT services. This approach allows building a standalone service around existing business processes and needs. Thanks to the use of standard interaction protocols, such as HTTP calls through the API and message brokers, microservices can be written in different programming languages ​​and use different database storage technologies.

In the traditional approach to the creation of an IT system on the principle of “monolith” management focuses more on technology. Teams are formed according to the technological principle – developers, database administrators, data analytics, etc. This approach causes serious difficulties in implementing business functionality in an IT system, since they need to be produced through cross-team interaction.

Microservices allow you to form agile cross-functional teams with a focus on a specific business task instead of technology. Such teams are self-sufficient, well-focused, use the approaches and technologies that are most effective in a particular case and allow you to switch from “project management” to “product”.

In microservices, each element performs only one function and can be “delivered to production” independently of other services, therefore, in order to make changes to the solution, it is not necessary to rebuild the entire algorithm. If there is a need for updating, restructuring, debugging and other adjustments, then it is enough to carry them out on a specific part of the IT system. For example, if you need to add a new method of delivery or payment on the website of an online store, it is enough to make changes in one module.

In reality, adding a new function or process somehow affects the rest, but the principle of microservice architecture allows you to release ready releases at different times and gives each team the opportunity to work in their own rhythm. That is, two functionalities can be developed in parallel, for example, search and delivery methods, while changes in one can occur at least every day, and changes in the other take more time – for example, because the release must be synchronized with the launch of business processes. As part of the microservice approach, it takes about one week to go into the production phase.

In essence, microservices are a layer between the existing IT infrastructure and the client part of the interface. It can be successfully used in almost any area and for solving a wide variety of tasks. Also, when choosing a company’s IT development strategy in favor of completely abandoning the “boxed” approach, microservices can become a reliable and effective core of a new digital platform for successful business growth in the 21st century.

6 main advantages of microservice architecture

  1. New quality scalability. When a corresponding need arises, it is not necessary to scale the whole system, dismantling it to the ground, it is enough to make the necessary changes only in a certain area.
  2. Increased stability. Since microservices are independent of each other, failures and defects in one of them do not affect the work of the others, the system functions with minimal disruptions and downtime.
  3. Simplify Instead of a single and highly complex IT array, companies work with a more manageable architecture, where each component is responsible for its function.
  4. Multiplatform. Microservices can work on any device, as well as on-premise and cloud environments.
  5. Reuse Microservices can be redeveloped for other purposes and tasks after the initial launch.
  6. Ability to use different technologies. Agile teams in companies can work as small startups, not limited to one specific platform or technology thanks to microservices. Through microservices, organizations can combine various technologies to create truly the best of all possible solutions at the moment, which significantly speeds up innovation.

Difficulties in implementing microservices

Compared with the “monoliths” microservices open the next level of flexibility of operations through the creation of new business processes around the existing legacy-systems. That is why today many people are focused on microservice transformation – its advantages are too obvious.

However, there are a number of pitfalls in the implementation of such a transition.

Preserving the integrity of the company

The main challenge is not to lose useful achievements, accumulated data and experience of past years, while maintaining capital investments in the IT infrastructure of the past generation. That is, the company must accelerate its development and “not fall apart” in the process of transformation to the modern approach.

A large number of microservices

When companies need 10–20 microservices, their adaptation and development is not so difficult to manage. But if an organization requires the implementation of 100+ microservices for its tasks, a previously existing class of tasks appears. How to avoid duplication of functionality, maintain scalability and manageability, as well as prevent the transformation of the new architecture into the same monolith from which they initially tried to escape?

For organizations, these challenges and their various forms add up to modern IT, when the approach “build what the system allows” makes a qualitative leap to “develop the system so that we have new opportunities for business restructuring”. A company that recognizes the need to adapt microservices does not aim at increasing profits, traffic, or other quantitative KPIs, but at deep changes in which the growth of KPI is an organic consequence of the overall transformation.

Balance of flexibility and chaos

The third problem of microservices is a high level of flexibility when working on the development of the platform. This is a necessary condition for the microservice approach, but if it is not controlled, the risk of chaos in the system architecture increases dramatically. Understand the principles of such “chaos”, which arose in the framework of work on microservice projects, is often a separate IT project. It is more correct to restrict the framework from the very beginning of work, even if it will postpone the release of the first functionality a little, so that you do not spend several months dismantling the fossils from microservices.

The transition to microservices in the framework of the concept of enterprise agility is also a matter of corporate culture, which helps to maintain the necessary balance of freedom and control.

Free creativity and practical effect are compatible only with cultural shifts in the work of the company. Architecture, processes, personnel – all the necessary factors for the development of microservices should be built in a complex.

Time and results

Translating the IT landscape of organizations into a new architecture does not happen overnight. On the contrary, sometimes it takes quite a long time, in some cases whole years. Few things in the modern world are as complex as modern IT systems adapted to the business models of companies, as well as specific ways of linking them to each other. Nevertheless, despite the overall complexity of dismantling legacy systems, to rely on “old school” IT in an era when the New IT paradigm is developing by leaps and bounds – means to condemn business to slow agony. Hence the need for microservice architecture.

Advanced microservice architectures in their exemplary performance are presented today in companies such as Google, Amazon and Netflix. So, Amazon makes changes to its products every 11.6 seconds, and Netflix constantly conducts selective shutdowns of computing nodes to check the impact of such accidents on the overall quality of the product received by subscribers.

Obviously, more conservative organizations will have to make such a transition. They combine the old architecture and the latest approaches to the deployment of applications, which in the terminology of Gartner is called Bimodal IT – something like a transitional phase, combining elements of legacy and modern IT systems.

Meanwhile, in the next 10–20 years, legacy models should be completely replaced by the latest solutions by companies that want to maintain their competitiveness. In this perspective, microservices and monolithic systems can coexist as a grafted branch and trunk of a tree on which it will sprout and in the future replace the dying base. Such an approach ensures that the root system remains unaffected and slowly but surely moves from the old owner (legacy systems) to the new one (microservices and the New IT paradigm)