Microservices versus monolith Microservices versus monolith
Microservices versus monolith Microservices versus monolith
Microservices versus monolith Microservices versus monolith
Microservices versus monolith Microservices versus monolith
Microservices versus monolith Microservices versus monolith
Blog
06 June 2023

Microservices versus monolith

Which architecture should be the right choice for the development of a complex application for a large enterprise?

Companies can increase customer loyalty and become more successful than their competitors by implementing business ideas quickly. Microservices are being implemented and are proving to be an effective solution for speeding up the product development process. Rostislav Burtyle, project manager for iiiiTech (Forayz), discusses the benefits of this tried-and-tested approach.

TWO APPROACHES

Microservices are a variant of service-oriented software architecture that enables the interaction of independent, small, loosely coupled and easily modifiable modules.

A monolithic architecture is a single module that operates in an autonomous way, independent of other applications.

IN MOST CASES, MICROSERVICES ARCHITECTURE IS THE OPTIMAL SOLUTION FOR LARGE ENTERPRISES WITH A WIDE NETWORK OF BRANCHES AND A LARGE NUMBER OF ROUTINE OPERATIONS.

For example, let's take a representative from the retail sector, which not only operates in Russia but also in the countries of the Eurasian Economic Union: Belarus, Armenia and Kazakhstan.

From my experience I know: A lot of time is spent on labelling. Every year it becomes mandatory for more and more products, not only in the retail clothing sector, but also, for example, in the medical equipment segment.

In addition, labelling requirements vary not only between the countries in which the retailer's stores are located. They also change within a single country.

THE RESULT IS A NEED FOR A MINIMUM VIABLE PRODUCT (MVP) THAT CAN BE QUICKLY ADAPTED TO CHANGES, WHILE AT THE SAME TIME BEING ABLE TO EVOLVE IN TERMS OF FUNCTIONALITY.

Often, a company of this size does not have just one information system for optimising work processes. On average, it has 10 to 15 or more. This includes CRM for customer databases, one or more solutions for logistics and warehousing, document exchange with suppliers and customers, and much more.

THE ADVANTAGE OF MICROSERVICES IN THIS CASE IS HARMONIOUS INTEGRATION WITH EXISTING IT SYSTEMS.

It is more convenient to divide the integration interaction into different services within the evolving system when there are many applications to integrate.

MICROSERVICES BENEFITS

Hiring costs saved. The use of microservices enables the outsourcing of part of the work. For example, you can combine people with different skills and levels when developing or extending an application using microservices. This provides more flexibility in technologies and in finding specialists.

It also makes costing more flexible. For example, a Python developer at a mid-level will cost a lot less than a Java developer at the same level. This optimises costs. It also provides flexibility when hiring employees or contractors.

Faster testing. Microservices excel at rapidly releasing new features without having to test the entire application each time, using a regular application development approach.

Application development is not limited by the technology stack. Microservices can combine different technologies and programming languages. One service can be written in Java, another in Python.

MONOLITH: PROS AND CONS

In a monolithic architecture, even seemingly minor adjustments can take a long time. The software development cycle is the reason:

EVEN SMALL CODE CHANGES REQUIRE REGRESSION TESTING OF FUNCTIONALITY. This means that, because it is not known in advance how the changed code will affect other functions, the functionality of the entire system must be tested.

This puts an additional burden on the test team when changes are made regularly. It becomes necessary to test all architectural components, and some business processes may be interrupted during system updates.

EVEN A FEW HOURS OF DOWNTIME CAN MEAN SIGNIFICANT LOST REVENUE.

However, it is not possible to argue that a monolith is categorically unsuitable for use by large companies.

A minimum viable product (MVP) is faster to develop due to its less flexible structure, as all functions are combined on a single platform and there is no need to define interaction algorithms between separate services. It is also generally easier to maintain, as it does not require a large number of specialists with different skills.

On the other hand, a monolith is more difficult to scale, and if there are bugs in the code, they can disrupt the functionality of the entire system. A monolithic application is therefore effective in the early stages of business development.

For example, start-ups that need to test a hypothesis quickly and at minimal cost may be well served by such an architecture.

WHY MICROSERVICES ARE NOT BEING IMPLEMENTED ACROSS THE BOARD

Microservices architecture is not always chosen by large enterprises. It depends on the goals of the application, as they have their own set of disadvantages. For example, they are more difficult to develop in the early stages, requiring the creation of a foundation or core application.

Compared to a monolith, this takes more time with microservices. It's necessary to design the architecture of the future services and to work out how they're going to interact, such as how they're going to exchange information. Each individual service does not know what the others are doing. It has access to limited data.

These tasks are not necessary in a monolith, so microservices architecture requires higher skills from both the project architect and the developers.

Supporting a solution based on microservices may also require a higher level of expertise on the part of the engineers responsible for the operation of the application and for error detection and analysis. The distributed nature of the functions across different parts of the system makes this more challenging.

THE FACT THAT MICROSERVICES DO NOT REQUIRE HIGH LOADS AND REGULAR IMPROVEMENTS TO THE PROGRAMME IS ANOTHER REASON WHY THEY HAVE NOT BEEN WIDELY ADOPTED BY ENTERPRISES.

For example, a website or application used by a network of private clinics rarely changes. Therefore, their needs lend themselves well to a monolithic solution.

It is often necessary to ensure high availability of solutions for businesses with high loads. Horizontal scalability achieves this.

The application needs to be able to cope with a large number of users while continuing to respond.

CUSTOMERS WILL SIMPLY LEAVE WITHOUT MAKING A PURCHASE IF THE WEBSITE OR APPLICATION IS SLOW OR HAS ERRORS. THIS IS ESPECIALLY CRITICAL DURING PEAK PERIODS WHEN ONLINE STORES AND APPLICATIONS ARE OVERLOADED.

Microservices are better suited for this. They can handle higher loads. This is because their distributed nature makes them easier to scale. If the solution is a monolithic one, it will be more difficult to scale, and it may have problems at critical times.

/en/about/media/blog/butikovyy-podkhod-v-podderzhke-polzovateley-sozdanie-tsennosti-cherez-individualnost-i-kachestvo/
Blog
Бутиковый подход в поддержке пользователей: создание ценности через индивидуальность и качество
30 June 2023
/en/about/media/blog/kiberbezopasnost-dlya-onlayn-agregatorov/
Кибербезопасность для онлайн агрегаторов Кибербезопасность для онлайн агрегаторов
Кибербезопасность для онлайн агрегаторов Кибербезопасность для онлайн агрегаторов
Кибербезопасность для онлайн агрегаторов Кибербезопасность для онлайн агрегаторов
Blog
Кибербезопасность для онлайн агрегаторов
30 June 2023
/en/about/media/blog/podlezhit-markirovke-pochemu-neobkhodimo-markirovat-tovary-i-kak-v-etom-pomogayut-postavshchiki-it-r/
Подлежит маркировке: почему необходимо маркировать товары и как в этом помогают поставщики ИТ-решений Подлежит маркировке: почему необходимо маркировать товары и как в этом помогают поставщики ИТ-решений
Подлежит маркировке: почему необходимо маркировать товары и как в этом помогают поставщики ИТ-решений Подлежит маркировке: почему необходимо маркировать товары и как в этом помогают поставщики ИТ-решений
Подлежит маркировке: почему необходимо маркировать товары и как в этом помогают поставщики ИТ-решений Подлежит маркировке: почему необходимо маркировать товары и как в этом помогают поставщики ИТ-решений
Blog
Подлежит маркировке: почему необходимо маркировать товары и как в этом помогают поставщики ИТ-решений
30 June 2023
Sign up for the newsletter!
Sending only useful letters
With the click of a button, I am in agreement with the policy on the processing of personal data.
Продолжая использовать этот сайт и нажимая на кнопку «Принимаю», вы даете согласие на обработку файлов cookie