Loading…

Stepwise migration of a monolith to a microservice architecture: Performance and migration effort evaluation

Due to scalability requirements and the split of large software development projects into small agile teams, there is a current trend toward the migration of monolith systems to the microservice architecture. However, the split of the monolith into microservices, its encapsulation through well-defin...

Full description

Saved in:
Bibliographic Details
Published in:Performance evaluation 2024-05, Vol.164, p.102411, Article 102411
Main Authors: Faustino, Diogo, Gonçalves, Nuno, Portela, Manuel, Rito Silva, António
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Due to scalability requirements and the split of large software development projects into small agile teams, there is a current trend toward the migration of monolith systems to the microservice architecture. However, the split of the monolith into microservices, its encapsulation through well-defined interfaces, and the introduction of inter-microservice communication add a cost in terms of performance. In this paper, we describe a case study of the migration of a monolith to a microservice architecture, where a modular monolith architecture is used as an intermediate step. The impact on migration effort and performance is measured for both steps. Current state-of-the-art analyses the migration of monolith systems to a microservice architecture, but we observed that migration effort and performance issues are already significant in the migration to a modular monolith. Therefore, a clear distinction is established for each of the steps, which may inform software architects on the planning of the migration of monolith systems. In particular, we consider the trade-offs of doing all the migration process or just migrating to a modular monolith. •A modular monolith for a stepwise monolith migration to a microservice architecture.•The impact on performance is already significantly noticeable in modular monolith.•Performance penalties require deep architectural changes and extensive use of caches.•End user perceived behavior of the application change due to data consistency issues.•Migration of a complex monolith is fully discussed.
ISSN:0166-5316
1872-745X
DOI:10.1016/j.peva.2024.102411