A Tertiary Study on Microservices: Research Trends and Recommendations

Z. Stojanov1, I. Hristoski2, J. Stojanov1, A. Stojkov1
1University of Novi Sad, Technical Faculty “Mihajlo Pupin” Zrenjanin, Zrenjanin, Serbia
2University “St. Kliment Ohridski”–Bitola, Faculty of Economics–Prilep, Prilep, North Macedonia

Tóm tắt

The development and adoption of microservices, as one of the most promising directions for developing heterogeneous distributed software systems, have been driven by dynamic changes in business and technology. In addition to the development of new applications, a significant aspect of microservices is the migration from legacy monolithic systems to microservice architectures. Such development trends are accompanied by an increase in the number of primary and secondary publications addressing microservices, highlighting the need to systematize research at a higher level. The objective of this study is to comprehensively analyze secondary studies in the field of microservices from the following five aspects: (1) publishing trends, (2) quality trends of secondary studies, (3) research trends, (4) domains of implementation, and (5) future research directions. The study follows the guidelines for conducting a systematic literature review. The findings were derived from 44 secondary studies published in the period from January 2016 to January 2023. These studies were organized and analyzed to address the five proposed research questions pertaining to the study objectives. The findings suggest that the most promising research directions are related to the development, implementation, and validation of new approaches, methods, and tools that encompass all the phases of the life cycle. Additionally, these research directions have applications in a variety of business and human life domains. Recommendations for further literature reviews relate to improvement of quality assessment of selected studies, more detailed review of architecture quality attributes, inquiry of human factor issues, and certain maintenance and operation issues. From the methodological aspect, recommendations relate to using social science qualitative methods for more detailed analysis of selected studies, and inclusion of gray literature that will bring the real experience of experts from industry.

Từ khóa


Tài liệu tham khảo

Cerny, T., Donahoo, M.J., and Pechanec, J., Disambiguation and comparison of SOA, microservices and self-contained systems, Proc. Int. Conf. on Research in Adaptive and Convergent Systems, Krakow, 2017, pp. 228–235. https://doi.org/10.1145/3129676.3129682. Newman, S., Building Microservices: Designing Fine-Grained Systems, Sebastopol, CA: O’Reilly Media, 2021. Dragoni, N., Giallorenzo, S., Lafuente, A.L., Mazzara, M., Montesi, F., and Mustafin, R., Safina, L., Microservices: Yesterday, today, and tomorrow, in Present and Ulterior Software Engineering, Mazzara, M. and Meyer, B., Eds., Cham: Springer Int. Publ., 2017, pp. 195–216. https://doi.org/10.1007/978-3-319-67425-4_12. Alaasam, A.B., Radchenko, G., and Tchernykh, A., Refactoring the monolith workflow into independent micro-workflows to support stream processing, Program. Comput. Software, 2021, vol. 47, pp. 591–600. https://doi.org/10.1134/S0361768821080077 Baškarada, S., Nguyen, V., and Koronios, A., Architecting microservices: Practical opportunities and challenges, J. Comput. Inf. Syst., 2018, vol. 60, pp. 428–436. https://doi.org/10.1080/08874417.2018.1520056 Niño-Martínez, V.M., Ocharán-Hernández, J.O., Limón, X., and Pérez-Arrilaga, J.C., A microservice deployment guide, Program. Comput. Software, 2022, vol. 48, pp. 632–645. https://doi.org/10.1134/S0361768822080151 Larrucea, X., Santamaria, I., Colomo-Palacios, R., and Ebert, C., Microservices, IEEE Software, 2018, vol. 35, pp. 96–100. https://doi.org/10.1109/MS.2018.2141030 Ebert, C., Gallardo, G., Hernantes, J., and Serrano, N., DevOps, IEEE Software, 2016, vol. 33, pp. 4–100. Bosch, J., Continuous Software Engineering, Cham: Springer Int. Publ., 2014. Kitchenham, B., Procedures for performing systematic review, Technical Report, Keele: Keele Univ., Department of Computer Science, Software Engineering Group, 2004, no. TR/SE-0401. Petersen, K., Feldt, R., Mujtaba, S., and Mattsson, M., Systematic mapping studies in software engineering, Proc. 12th Int. Conf. on Evaluation and Assessment in Software Engineering, Bari, 2008, pp. 68–77. Petersen, K., Vakkalanka, S., and Kuzniarz, L., Guidelines for conducting systematic mapping studies in software engineering: an update, Inf. Software Technol., 2015, vol. 64, pp. 1–8. https://doi.org/10.1016/j.infsof.2015.03.007 Kitchenham, B., Budgen, D., and Brereton, P., Evidence-Based Software Engineering and Systematic Reviews, Boca Raton, FL: CRC Press, 2016. Garousi, V., Felderer, M., and Mäntylä, M.V., Guidelines for including grey literature and conducting multivocal literature reviews in software engineering, Inf. Software Technol., 2019, vol. 106, pp. 101–121. https://doi.org/10.1016/j.infsof.2018.09.006 Bruce, M. and Pereira, P.A., Microservices in Action, Shelter Island, NY: Manning Publ., 2019. Abdellatif, M., Shatnawi, A., Mili, H., Moha, N., El Boussaidi, G., Hecht, G., Privat, J., and Guéhé-neuc, Y.-G., A taxonomy of service identification approaches for legacy software systems modernization, J. Syst. Software, 2021, vol. 173, p. 110868. https://doi.org/10.1016/j.jss.2020.110868 Henry, A. and Ridene, Y., Migrating to microservices, in Microservices: Science and Engineering, Bucchiarone, A., Dragoni, N., Dustdar, S., Lago, P., Mazzara, M., Rivera, V., and Sadovykh, A., Eds., Cham: Springer Int. Publ., 2020, pp. 45–72. https://doi.org/10.1007/978-3-030-31646-4_3 Stojanov, A. and Stojanov, Z., Review of methods for migrating software systems to microservices architecture, J. Eng. Manag. Competitiveness, 2021, vol. 11, pp. 152–162. Valdivia, J.A., Lora-González, J., Limón, X., Cortes-Verdin, K., and Ocharán-Hernández, J.O., Patterns related to microservice architecture: a multivocal literature review, Program. Comput. Software, 2020, vol. 46, pp. 594–608. https://doi.org/10.1134/S0361768820080253 Abdelfattah, A.S. and Cerny, T., Roadmap to reasoning in microservice systems: a rapid review, Appl. Sci., 2023, vol. 13, p. 1838. https://doi.org/10.3390/app13031838 Alaasam, A.B., Radchenko, G., Tchernykh, A., and González Compeán, J.L., Analytic study of containerizing stateful stream processing as microservice to support digital twins in fog computing, Program. Comput. Software, 2020, vol. 46, pp. 511–525. Arvanitou, E.M., Ampatzoglou, A., Bibi, S., Chatzigeorgiou, A., and Deligiannis, I., Applying and researching DevOps: A tertiary study, IEEE Access, 2022, vol. 10, pp. 61585–61600. https://doi.org/10.1109/ACCESS.2022.3171803 Cadavid, H., Andrikopoulos, V., and Avgeriou, P., Architecting systems of systems: A tertiary study, Inf. Software Technol., 2020, vol. 118, p. 106202. https://doi.org/10.1016/j.infsof.2019.106202 Delavari, V., Shaban, E., Janssen, M., and Hassanzadeh, A., Thematic mapping of cloud computing based on a systematic review: a tertiary study, J. Enterpr. Inf. Manag., 2019, vol. 33, pp. 161–190. https://doi.org/10.1108/JEIM-02-2019-0034 Hoda, R., Salleh, N., Grundy, J., and Tee, H.M., Systematic literature reviews in agile software development: A tertiary study, Inf. Software Technol., 2017, vol. 85, pp. 60–70. https://doi.org/10.1016/j.infsof.2017.01.007 Raatikainen, M., Tiihonen, J., and Männistö, T., Software product lines and variability modeling: A tertiary study, J. Syst. Software, 2019, vol. 149, pp. 485–510. https://doi.org/10.1016/j.jss.2018.12.027 Tran, H.K.V., Unterkalmsteiner, M., Börstler, J., and bin Ali, N., Assessing test artifact quality–a tertiary study, Inf. Software Technol., 2021, vol. 139, p. 106620. https://doi.org/10.1016/j.infsof.2021.106620 Liu, X., Li, S., Zhang, H., Zhong, C., Wang, Y., Waseem, M., and Babar, M.A., Research on microservice architecture: A tertiary study, SSRN Electron. J., 2022 https://doi.org/10.2139/ssrn.4204345 Costa, D.I.C., Filho, E.P. e S., da Silva, R.F., Quaresma Gama, T.D. de C., and Cortés, M.I., Microservice architecture: a tertiary study, Proc. 14th Brazilian Symp. on Software Components, Architectures, and Reuse, Natal, 2020, pp. 61–70. https://doi.org/10.1145/3425269.3425277 Wohlin, C., Guidelines for snowballing in systematic literature studies and a replication in software engineering, Proc. 18th Int. Conf. on Evaluation and Assessment in Software Engineering, London, 2014, pp. 38:1–38:10. https://doi.org/10.1145/2601248.2601268 Zhou, X., Jin, Y., Zhang, H., Li, S., and Huang, X., A Mmap of threats to validity of systematic literature reviews in software engineering, Proc. 23rd Asia–Pacific Software Engineering Conf. (APSEC), Hamilton, 2016, pp. 153–160. https://doi.org/10.1109/APSEC.2016.031 Bryant, A. and Charmaz, K., The SAGE Handbook of Current Developments in Grounded Theory, Thousand Oaks, CA: SAGE Publ., 2019. Thomas, D.R., A general inductive approach for analyzing qualitative evaluation data, Am. J. Eval., 2006, vol. 27, pp. 237–246. https://doi.org/10.1177/1098214005283748 Braun, V. and Clarke, V., Using thematic analysis in psychology, Qual. Res. Psychol., 2006, vol. 3, pp. 77–101. https://doi.org/10.1191/1478088706qp063oa Goh, K.T. and Pentland, B.T., From actions to paths to patterning: Toward a dynamic theory of patterning in routines, Acad. Manag. J., 2019, vol. 62, pp. 1901–1929. Sjøberg, D.I.K., Dyba, T., Anda, B.C.D., and Hannay, J.E., Building theories in software engineering, in Guide to Advanced Empirical Software Engineering, Shull, F., Singer, J., and Sjøberg, D.I.K., Eds., London: Springer, 2008, pp. 312–336. https://doi.org/10.1007/978-1-84800-044-5_12.