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!
cited_by
cites cdi_FETCH-LOGICAL-c251t-87fcfb09939dd6b780e1f785ec8291b4d0a129aedef06b76ab36d164302292503
container_end_page
container_issue
container_start_page 102411
container_title Performance evaluation
container_volume 164
creator Faustino, Diogo
Gonçalves, Nuno
Portela, Manuel
Rito Silva, António
description 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.
doi_str_mv 10.1016/j.peva.2024.102411
format article
fullrecord <record><control><sourceid>elsevier_cross</sourceid><recordid>TN_cdi_crossref_primary_10_1016_j_peva_2024_102411</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><els_id>S0166531624000166</els_id><sourcerecordid>S0166531624000166</sourcerecordid><originalsourceid>FETCH-LOGICAL-c251t-87fcfb09939dd6b780e1f785ec8291b4d0a129aedef06b76ab36d164302292503</originalsourceid><addsrcrecordid>eNp9UMtKBDEQDKLguvoDnvIDs3Yyb_Eiiy8QFFTwFjJJx80yM1mS7Ip_b8b14MlT011dRVURcs5gwYBVF-vFBndywYEX6cALxg7IjDU1z-qifD8ks_RUZWXOqmNyEsIaAMo6hxnpXyJuPm1AOtgPL6N1I3WGSjq40fU2rmh002aVdwH9ziqk0quVjaji1uMlfUZvnB_kOCGj_qODJgGRJmP99udySo6M7AOe_c45ebu9eV3eZ49Pdw_L68dM8ZLFrKmNMh20bd5qXXV1A8hM3ZSoGt6yrtAgGW8lajSQ4Ep2eaVZVeTAectLyOeE73Un08GjERtvB-m_BAMx9SXWYupLTH2JfV-JdLUnYXK2s-hFUBZTKm19yiq0s__RvwFJ4XY-</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Stepwise migration of a monolith to a microservice architecture: Performance and migration effort evaluation</title><source>ScienceDirect Journals</source><creator>Faustino, Diogo ; Gonçalves, Nuno ; Portela, Manuel ; Rito Silva, António</creator><creatorcontrib>Faustino, Diogo ; Gonçalves, Nuno ; Portela, Manuel ; Rito Silva, António</creatorcontrib><description>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.</description><identifier>ISSN: 0166-5316</identifier><identifier>EISSN: 1872-745X</identifier><identifier>DOI: 10.1016/j.peva.2024.102411</identifier><language>eng</language><publisher>Elsevier B.V</publisher><subject>Domain-driven design ; Microservices ; Migration effort ; Modular architecture ; Performance evaluation</subject><ispartof>Performance evaluation, 2024-05, Vol.164, p.102411, Article 102411</ispartof><rights>2024 Elsevier B.V.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c251t-87fcfb09939dd6b780e1f785ec8291b4d0a129aedef06b76ab36d164302292503</cites><orcidid>0000-0001-9840-457X</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,777,781,27905,27906</link.rule.ids></links><search><creatorcontrib>Faustino, Diogo</creatorcontrib><creatorcontrib>Gonçalves, Nuno</creatorcontrib><creatorcontrib>Portela, Manuel</creatorcontrib><creatorcontrib>Rito Silva, António</creatorcontrib><title>Stepwise migration of a monolith to a microservice architecture: Performance and migration effort evaluation</title><title>Performance evaluation</title><description>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.</description><subject>Domain-driven design</subject><subject>Microservices</subject><subject>Migration effort</subject><subject>Modular architecture</subject><subject>Performance evaluation</subject><issn>0166-5316</issn><issn>1872-745X</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><recordid>eNp9UMtKBDEQDKLguvoDnvIDs3Yyb_Eiiy8QFFTwFjJJx80yM1mS7Ip_b8b14MlT011dRVURcs5gwYBVF-vFBndywYEX6cALxg7IjDU1z-qifD8ks_RUZWXOqmNyEsIaAMo6hxnpXyJuPm1AOtgPL6N1I3WGSjq40fU2rmh002aVdwH9ziqk0quVjaji1uMlfUZvnB_kOCGj_qODJgGRJmP99udySo6M7AOe_c45ebu9eV3eZ49Pdw_L68dM8ZLFrKmNMh20bd5qXXV1A8hM3ZSoGt6yrtAgGW8lajSQ4Ep2eaVZVeTAectLyOeE73Un08GjERtvB-m_BAMx9SXWYupLTH2JfV-JdLUnYXK2s-hFUBZTKm19yiq0s__RvwFJ4XY-</recordid><startdate>202405</startdate><enddate>202405</enddate><creator>Faustino, Diogo</creator><creator>Gonçalves, Nuno</creator><creator>Portela, Manuel</creator><creator>Rito Silva, António</creator><general>Elsevier B.V</general><scope>AAYXX</scope><scope>CITATION</scope><orcidid>https://orcid.org/0000-0001-9840-457X</orcidid></search><sort><creationdate>202405</creationdate><title>Stepwise migration of a monolith to a microservice architecture: Performance and migration effort evaluation</title><author>Faustino, Diogo ; Gonçalves, Nuno ; Portela, Manuel ; Rito Silva, António</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c251t-87fcfb09939dd6b780e1f785ec8291b4d0a129aedef06b76ab36d164302292503</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>Domain-driven design</topic><topic>Microservices</topic><topic>Migration effort</topic><topic>Modular architecture</topic><topic>Performance evaluation</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Faustino, Diogo</creatorcontrib><creatorcontrib>Gonçalves, Nuno</creatorcontrib><creatorcontrib>Portela, Manuel</creatorcontrib><creatorcontrib>Rito Silva, António</creatorcontrib><collection>CrossRef</collection><jtitle>Performance evaluation</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Faustino, Diogo</au><au>Gonçalves, Nuno</au><au>Portela, Manuel</au><au>Rito Silva, António</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Stepwise migration of a monolith to a microservice architecture: Performance and migration effort evaluation</atitle><jtitle>Performance evaluation</jtitle><date>2024-05</date><risdate>2024</risdate><volume>164</volume><spage>102411</spage><pages>102411-</pages><artnum>102411</artnum><issn>0166-5316</issn><eissn>1872-745X</eissn><abstract>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.</abstract><pub>Elsevier B.V</pub><doi>10.1016/j.peva.2024.102411</doi><orcidid>https://orcid.org/0000-0001-9840-457X</orcidid></addata></record>
fulltext fulltext
identifier ISSN: 0166-5316
ispartof Performance evaluation, 2024-05, Vol.164, p.102411, Article 102411
issn 0166-5316
1872-745X
language eng
recordid cdi_crossref_primary_10_1016_j_peva_2024_102411
source ScienceDirect Journals
subjects Domain-driven design
Microservices
Migration effort
Modular architecture
Performance evaluation
title Stepwise migration of a monolith to a microservice architecture: Performance and migration effort evaluation
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-19T23%3A36%3A52IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-elsevier_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Stepwise%20migration%20of%20a%20monolith%20to%20a%20microservice%20architecture:%20Performance%20and%20migration%20effort%20evaluation&rft.jtitle=Performance%20evaluation&rft.au=Faustino,%20Diogo&rft.date=2024-05&rft.volume=164&rft.spage=102411&rft.pages=102411-&rft.artnum=102411&rft.issn=0166-5316&rft.eissn=1872-745X&rft_id=info:doi/10.1016/j.peva.2024.102411&rft_dat=%3Celsevier_cross%3ES0166531624000166%3C/elsevier_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c251t-87fcfb09939dd6b780e1f785ec8291b4d0a129aedef06b76ab36d164302292503%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true