skip to main content
research-article

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

Published: 01 May 2024 Publication History

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.

Highlights

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.

References

[1]
O’Hanlon C., A conversation with Werner vogels, Queue 4 (4) (2006) 14–22,.
[2]
Thönes J., Microservices, IEEE Softw. 32 (1) (2015) 116–116.
[4]
Villamizar M., Garcés O., Castro H., Verano M., Salamanca L., Casallas R., Gil S., Evaluating the monolithic and the microservice architecture pattern to deploy web applications in the cloud, in: 2015 10th Computing Colombian Conference, 10CCC, 2015, pp. 583–590,.
[5]
Ueda T., Nakaike T., Ohara M., Workload characterization for microservices, in: 2016 IEEE International Symposium on Workload Characterization, IISWC, 2016, pp. 1–10,.
[6]
Joy A.M., Performance comparison between linux containers and virtual machines, in: 2015 International Conference on Advances in Computer Engineering and Applications, 2015, pp. 342–346,.
[7]
Al-Debagy O., Martinek P., A comparative review of microservices and monolithic architectures, in: 2018 IEEE 18th International Symposium on Computational Intelligence and Informatics, CINTI, 2018, pp. 149–154,.
[8]
Tapia F., Mora M., Fuertes W., Aules H., Flores E., Toulkeridis T., From monolithic systems to microservices: A comparative study of performance, Appl. Sci. 10 (17) (2020),.
[9]
Di Francesco P., Lago P., Malavolta I., Migrating towards microservice architectures: An industrial survey, in: 2018 IEEE International Conference on Software Architecture, ICSA, 2018, pp. 29–2909,.
[10]
Kalske M., Mäkitalo N., Mikkonen T., Challenges when moving from monolith to microservice architecture, in: Garrigós I., Wimmer M. (Eds.), Current Trends in Web Engineering, Springer International Publishing, Cham, 2018, pp. 32–47.
[11]
Gouigoux J., Tamzalit D., From monolith to microservices: Lessons learned on an industrial migration to a web oriented architecture, in: 2017 IEEE International Conference on Software Architecture Workshops, ICSAW, 2017, pp. 62–65,.
[12]
Bucchiarone A., Dragoni N., Dustdar S., Larsen S.T., Mazzara M., From monolithic to microservices: An experience report from the banking domain, IEEE Softw. 35 (3) (2018) 50–55,.
[13]
Gomes Barbosa M.H., M. Maia P.H., Towards identifying microservice candidates from business rules implemented in stored procedures, in: 2020 IEEE International Conference on Software Architecture Companion, ICSA-C, 2020, pp. 41–48,.
[14]
Bjørndal N., Bucchiarone A., Mazzara M., Dragoni N., Dustdar S., Kessler F.B., Wien T., Migration from monolith to microservices: Benchmarking a case study, 2020,. unpublished.
[15]
Guaman D., Yaguachi L., Samanta C.C., Danilo J.H., Soto F., Performance evaluation in the migration process from a monolithic application to microservices, in: 2018 13th Iberian Conference on Information Systems and Technologies, CISTI, IEEE, 2018, pp. 1–8.
[16]
Flygare R., Holmqvist A., Performance Characteristics Between Monolithic and Microservice-Based Systems, (Bachelor’s thesis) Faculty of Computing at Blekinge Institute of Technology, 2017.
[17]
Amaral M., Polo J., Carrera D., Mohomed I., Unuvar M., Steinder M., Performance evaluation of microservices architectures using containers, in: 2015 IEEE 14th International Symposium on Network Computing and Applications, 2015, pp. 27–34,.
[18]
Hong X.J., Yang H.S., Kim Y.H., Performance analysis of RESTful API and RabbitMQ for microservice web application, in: 2018 International Conference on Information and Communication Technology Convergence, ICTC, IEEE, 2018, pp. 257–259.
[19]
Fernandes J.L., Lopes I.C., Rodrigues J.J.P.C., Ullah S., Performance evaluation of RESTful web services and AMQP protocol, in: 2013 Fifth International Conference on Ubiquitous and Future Networks, ICUFN, 2013, pp. 810–815,.
[20]
Shafabakhsh B., Lagerström R., Hacks S., Evaluating the impact of inter process communication in microservice architectures, in: QuASoQ@ APSEC, 2020, pp. 55–63.
[21]
Haywood D., In defense of the monolith, in: Microservices Vs. Monoliths - The Reality Beyond the Hype, Vol. 52, InfoQ, 2017, pp. 18–37. URL https://www.infoQ.com/minibooks/emag-microservices-monoliths.
[22]
Fowler M., Patterns of Enterprise Application Architecture, Addison-Wesley Longman Publishing Co., Inc., 2002.
[23]
Portela M., Rito Silva A., A model for a virtual LdoD, Digit. Scholarsh. Humanit. 30 (3) (2014) 354–370,.
[24]
Rito Silva A., Portela M., TEI4LdoD: Textual encoding and social editing in web 2.0 environments, J. Text Encoding Initiative 8 (2014),.
[25]
Raposo J., Rito Silva A., Portela M., LdoD visual - a visual reader for Fernando Pessoa’s book of disquiet: An in-out-in metaphor, Digit. Humanit. Q. 15 (3) (2021) 354–370. URL http://www.digitalhumanities.org/dhq/vol/15/3/000569/000569.html.
[26]
Montalvão Marques G., Rito Silva A., Portela M., Classification in the LdoD archive: A crowdsourcing and gamification approach, in: Ishita E., Pang N.L.S., Zhou L. (Eds.), Digital Libraries at Times of Massive Societal Transition, Springer International Publishing, Cham, 2020, pp. 313–319,.
[27]
Salton G., Buckley C., Term-weighting approaches in automatic text retrieval, Inf. Process. Manage. 24 (5) (1988) 513–523,.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Performance Evaluation
Performance Evaluation  Volume 164, Issue C
May 2024
183 pages

Publisher

Elsevier Science Publishers B. V.

Netherlands

Publication History

Published: 01 May 2024

Author Tags

  1. Domain-driven design
  2. Modular architecture
  3. Migration effort
  4. Performance evaluation
  5. Microservices

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Feb 2025

Other Metrics

Citations

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media