e-Informatica Software Engineering Journal Migrating a Legacy System to a Microservice Architecture

Migrating a Legacy System to a Microservice Architecture

2024
[1]Kristian Tuusjärvi, Jussi Kasurinen and Sami Hyrynsalmi, "Migrating a Legacy System to a Microservice Architecture", In e-Informatica Software Engineering Journal, vol. 18, no. 1, pp. 240104, 2024. DOI: 10.37190/e-Inf240104.

Download article (PDF)Get article BibTeX file

Authors

Kristian Tuusjärvi, Jussi Kasurinen, Sami Hyrynsalmi

Abstract

Background: In software engineering, each software product has a life cycle that at some point results in a decision being made with regard to extending its maintenance or upgrading the system to a new platform and architecture via a re-engineering or migration process. However, sometimes this decision is a non-starter; the technical dept accumulates, and platforms cease to exist, meaning that there will always be a time when extending the life support of a legacy system is no longer simply an option, and the service must be modernized.

Aim: In this paper, we focus on the migration processes, where a legacy system is updated to a microservice architecture, to understand the current state-of-the-art, applied industry practices and potential pitfalls or research gaps in the topic domain. The study aims to explore previous research to find related trends and expose gaps in the literature.

Method: We conducted a systematic mapping study on the research trends within the topic of redesign and re-engineering projects related to microservice architectures to understand what we know about microservices, what the current research trends in the area are, and if possible, what the common nominators for successful migration processes are.

Results: Our observations reveal that most microservice migration research is confined to journal articles and conference proceedings. However, a severe fragmentation in publication venues exists within the field. Furthermore, the focus of the research field is primarily on the transformation phase of the re-engineering process, with the majority of the contributions being managerial in nature, particularly of the process type. Additionally, over 50 % of the research conducted is empirical in nature.

Conclusion: Based on the results, microservice migration research is maturing well; most of the research is empirical. The research field is scattered. There are
notable technical, managerial, and organizational challenges and differing motivations. To better understand the motivations and challenges of the practitioners, we are going to conduct survey and interview studies within this field.

Keywords

legacy systems, microservice architecture, monolithic architecture, microservice migration

References

1. K. Petersen, R. Feldt, S. Mujtaba, and M. Mattsson, “Systematic mapping studies in software engineering,” in 12th International Conference on Evaluation and Assessment in Software Engineering (EASE) 12, 2008, pp. 1–10.

2. A. Balalaie, A. Heydarnoori, and P. Jamshidi, “Microservices architecture enables devops: Migration to a cloud-native architecture,” IEEE Software, Vol. 33, No. 3, 2016, pp. 42–52.

3. M. Garriga, “Towards a taxonomy of microservices architectures,” in In: Cerone A., Roveri M. (eds) Software Engineering and Formal Methods. SEFM 2017. Lecture Notes in Computer Science., Vol. 10729. Springer, 2018, pp. 203–218.

4. M. Richards, “Microservices vs. service-oriented architecture,” in Computer Science – Research and Development. O’Reilly Media, 2016.

5. X. Larrucea, I. Santamaria, R. Colomo-Palacios, and C. Ebert, “Microservices,” IEEE Software, Vol. 35, No. 3, 2018, pp. 96–100.

6. N. Dragoni, S. Dustdar, S.T. Larsen, and M. Mazzara, “Microservices: Migration of a mission critical system,” arXiv preprint arXiv:1704.04173, 2017.

7. P. Jamshidi, C. Pahl, N.C. Mendonça, J. Lewis, and S. Tilkov, “Microservices: The journey so far and challenges ahead,” IEEE Software, Vol. 35, No. 3, 2018, pp. 24–35.

8. A. Balalaie, A. Heydarnoori, and P. Jamshidi, “Migrating to cloud-native architectures using microservices: an experience report,” in European Conference on Service-Oriented and Cloud Computing. Springer, 2015, pp. 201–215.

9. F. M, “Microservices guide,” martinfowler.com, Tech. Rep., 2014.

10. P. Calcado, “Building products at soundcloud—part ii: Breaking the monolith,” https://developers.soundcloud.com/blog/building-products-at-soundcloud-part-2-breaking-the-monolith, SoundCloud, Tech. Rep., 2014.

11. C. Bampis, C. Chen, A. Moorthy, and Z. Li, “Netflix video quality at scale with cosmos microservices.” https://netflixtechblog.com/netflix-video-quality-at-scale-with-cosmos-microservices-552be631c113, Medium, Tech. Rep., 2021.

12. E. Haddad, “Service-oriented architecture: Scaling the uber engineering codebase as we grow.” https://eng.uber.com/service-oriented-architecture/, Uber, Tech. Rep., 2015.

13. N. Alshuqayran, N. Ali, and R. Evans, “A systematic mapping study in microservice architecture.” in IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA)., Vol. 9. IEEE, 2016, pp. 44–51.

14. D.S. Linthicum, “Practical use of microservices in moving workloads to the cloud,” IEEE Cloud Computing, Vol. 3, No. 5, 2016, pp. 6–9.

15. W. Hasselbring and G. Steinacker, “Microservice architectures for scalability, agility and reliability in e-commerce,” in 2017 IEEE International Conference on Software Architecture Workshops (ICSAW). IEEE, 2017.

16. A. Carrasco, B.V. Bladel, and S. Demeyer, “Migrating towards microservices: Migration and architecture smells,” in Proceedings of the 2nd International Workshop on Refactoring. ACM, 2018, pp. 1–6.

17. H. Knoche and W. Hasselbring, “Drivers and barriers for microservice adoption – a survey among professionals in germany. enterprise modelling and information systems architectures,” IEEE Software, Vol. 14, 2019, pp. 1–35.

18. V. Velepucha, P. Flores, J. Torres, M. Botto-Tobar, J. León-Acurio et al., “Migration of monolithic applications towards microservices under the vision of the information hiding principle: A systematic mapping study,” in Advances in Emerging Trends and Technologies. Springer, 2020, pp. 90–100.

19. R. Wieringa, N. Maiden, N. Mead, and C. Rolland, “Requirements engineering paper classification and evaluation criteria: a proposal and a discussion,” Requirements engineering, Vol. 11, No. 1, 2006, pp. 102–107.

20. S. Hassan, R. Bahsoon, and R. Kazman, “Microservice transition and its granularity problem: A systematic mapping study,” Software: Practice and Experience, Vol. 50, 2020, pp. 1651–1681.

21. H. Knoche and W. Hasselbring, “From monolithic systems to microservices: An assessment framework,” Information and Software Technology, Vol. 137, 2021.

22. A. Razzaq and S.A.K. Ghayyur, “A systematic mapping study: The new age of software architecture from monolithic to microservice architecture—awareness and challenges,” Computer Applications in Engineering Education, Vol. 31, No. 2, 2023, pp. 421–451. [Online]. https://onlinelibrary.wiley.com/doi/abs/10.1002/cae.22586

23. C. Pahl and P. Jamshidi, “Microservices: A systematic mapping study,” in 6th International Conference on Cloud Computing and Services Science, Vol. 1. ACM, 2016, pp. 137–146.

24. P. Di Francesco, P. Lago, and I. Malavolta, “Architecting with microservices: A systematic mapping study,” Journal of Systems and Software, Vol. 150, 2019, pp. 77–97.

25. M. Waseem, P. Liang, and M. Shahin, “A systematic mapping study on microservices architecture in devops,” Journal of Systems and Software, Vol. 170, 2020.

26. B. Kitchenham and S. Charters, “Guidelines for performing systematic literature reviews in software engineering,” EBSE, Tech. Rep., 2007.

27. E. Vanhala, J. Kasurinen, A. Knutas, and A. Herala, “The application domains of systematic mapping studies: A mapping study of the first decade of practice with the method,” IEEE Access, Vol. 10, 2022, pp. 37 924–37 937.

28. J. Bailey, D. Budgen, M. Turner, B. Kitchenham, P. Brereton et al., “Evidence relating to object-oriented software design: A survey,” in First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007). IEEE, 2007, pp. 482–484.

29. R. Kazman, S. Woods, and C. S.J, “Requirements for integrating software architecture and reengineering models: Corum ii,” in Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261). IEEE, 1998.

30. M. Bangert, Research Guides: Google Scholar: Advanced Searching. [Online]. https://semo.libguides.com/google-scholar/advanced-searching

31. S.H.S. University, What is Google Scholar and how do I use it?, 2022. [Online]. https://www.shsu.edu/research/guides/tutorials/googlescholar/index.html

32. E. de Vargas Agilar, R.B. de Almeida, and E.D. Canedo, “A systematic mapping study on legacy system modernization,” SEKE, 2016, pp. 345–350.

33. C. Wohlin, P. Runeson, M. Höst, M.C. Ohlsson, B. Regnell et al., Experimentation in Software Engineering. Springer. [Online]. http://link.springer.com/10.1007/978-3-642-29044-2

©2015 e-Informatyka.pl, All rights reserved.

Built on WordPress Theme: Mediaphase Lite by ThemeFurnace.