Abstract
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.
REFERENCES
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.
Funding
This work was supported by ongoing institutional funding. No additional grants to carry out or direct this particular research were obtained.
Author information
Authors and Affiliations
Corresponding authors
Ethics declarations
The authors declare that they have no conflicts of interest.
Additional information
Publisher’s Note.
Pleiades Publishing remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
APPENDIX A
LIST OF SECONDARY STUDIES
[SS01] Tighilt, R., Abdellatif, M., Moha, N., Mili, H., Boussaidi, G.E., Privat, J., and Guéhéneuc, Y.G. (2020). On the study of microservices antipatterns: A catalog proposal. In Proceedings of the European Conference on Pattern Languages of Programs 2020 (pp. 1–13). https://doi.org/10.1145/3424771.3424812
[SS02] Chávez, K., Cedillo, P., Espinoza, M., and Saquicela, V. (2019). A systematic literature review on composition of microservices through the use of semantic annotations: solutions and techniques. In 2019 International Conference on Information Systems and Computer Science (INCISCOS) (pp. 311–318). https://doi.org/10.1109/INCISCOS49368.2019.00056
[SS03] Valdivia, J.A., Limón, X., and Cortes-Verdin, K. (2019). Quality attributes in patterns related to microservice architecture: a Systematic Literature Review. In 2019 7th International Conference in Software Engineering Research and Innovation (CONISOFT) (pp. 181–190). https://doi.org/10.1109/10.1109/CONISOFT.2019.00034
[SS04] Schmidt, R.A. and Thiry, M. (2020, June). Microservices identification strategies: A review focused on Model Driven Engineering and Domain Driven Design approaches. In 2020 15th Iberian Conference on Information Systems and Technologies (CISTI) (pp. 1–6). https://doi.org/10.23919/CISTI49556.2020.9141150
[SS05] Prasetyo, Y.A. and Suhardi (2018). Microservice Platform for Smart City: Concepts, Services and Technology. In 2018 International Conference on Information Technology Systems and Innovation (ICITSI) (pp. 358–363). https://doi.org/10.1109/ICITSI.2018.8695927
[SS06] Karabey Aksakalli, I., Çelik, T., Can, A.B., and Tekinerdogan, B. (2021). Deployment and communication patterns in microservice architectures: A systematic literature review. Journal of Systems and Software, 180, 111014. https://doi.org/10.1016/j.jss.2021.111014.
[SS07] Li, S., Zhang, H., Jia, Z., Zhong, C., Zhang, C., Shan, Z., … and Babar, M.A. (2021). Understanding and addressing quality attributes of microservices architecture: A Systematic literature review. Information and software technology, 131, 106449. https://doi.org/10.1016/j.infsof.2020.106449.
[SS08] Garriga, M. (2017). Towards a taxonomy of microservices architectures. In International conference on software engineering and formal methods (pp. 203–218). https://doi.org/10.1007/978-3-319-74781-1_15.
[SS09] Fritzsch, J., Bogner, J., Zimmermann, A., and Wagner, S. (2019). From monolith to microservices: A classification of refactoring approaches. In International Workshop on Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment (pp. 128–141). https://doi.org/10.1007/978-3-030-06019-0_10.
[SS10] Razzaq, A. (2020). A systematic review on software architectures for IoT systems and future direction to the adoption of microservices architecture. SN Computer Science, 1(6), 1–30. https://doi.org/10.1007/s42979020-00359-w.
[SS11] Wang, L., Jiang, Y.X., Wang, Z., Huo, Q.E., Dai, J., Xie, S.L., … and Jiang, Z.P. (2022). The operation and maintenance governance of microservices architecture systems: A systematic literature review. Journal of Software: Evolution and Process, e2433. https://doi.org/0.1002/smr.2433.
[SS12] Jawaddi, S.N.A., Johari, M.H., and Ismail, A. (2022). A review of microservices autoscaling with formal verification perspective. Software: Practice and Experience, 52(11), 2476–2495. https://doi.org/10.1002/spe.3135.
[SS13] Nguyen, H.X., Zhu, S., and Liu, M. (2022). A Survey on Graph Neural Networks for Microservice-Based Cloud Applications. Sensors, 22(23), 9492. https://doi.org/10.3390/s22239492.
[SS14] Söylemez, M., Tekinerdogan, B., and Kolukısa Tarhan, A. (2022). Challenges and Solution Directions of Microservice Architectures: A Systematic Literature Review. Applied Sciences, 12(11), 5507. https://doi.org/10.3390/app12115507.
[SS15] de Almeida, M.G. and Canedo, E.D. (2022). Authentication and Authorization in Microservices Architecture: A Systematic Literature Review. Applied Sciences, 12(6), 3023. https://doi.org/10.3390/app12063023.
[SS16] Berardi, D., Giallorenzo, S., Mauro, J., Melis, A., Montesi, F., and Prandini, M. (2022). Microservice security: A systematic literature review. PeerJ Computer Science, 8, e779. https://doi.org/10.7717/peerj-cs.779.
[SS17] Vera-Rivera, F.H., Gaona, C., and Astudillo, H. (2021). Defining and measuring microservice granularity–a literature overview. PeerJ Computer Science, 7, e695. https://doi.org/10.7717/peerj-cs.695.
[SS18] Leines-Vite, L., Pérez-Arriaga, J.C., and Limón, X. (2021). Confidentiality and Integrity Mechanisms for Microservices Communication. International Journal of Network Security and Its Applications, 13(6), 85–103. https://doi.org/10.5121/ijnsa.2021.13607.
[SS19] Osses, F., Márquez, G., and Astudillo, H. (2018). An exploratory study of academic architectural tactics and patterns in microservices: A systematic literature review. Avances en Ingenieria de Software a Nivel Iberoamericano, CIbSE, 2018, pp. 71–84.
[SS20] Staegemann, D., Volk, M., Shakir, A., Lautenschläger, E., and Turowski, K. (2021). Examining the Interplay Between Big Data and Microservices–A Bibliometric Review. Complex Systems Informatics and Modeling Quarterly, (27), pp. 87–118. https://doi.org/10.7250/csimq.2021-27.04.
[SS21] Nunes, J.P.K., Bianchi, T., Iwasaki, A.Y., and Nakagawa, E.Y. (2021). State of the art on microservices autoscaling: An overview. Anais do XLVIII Seminário Integrado de Software e Hardware, 30-38. https://doi.org/10.5753/semish.2021.15804.
[SS22] Lelovic, L., Mathews, M., Elsayed, A., Cerny, T., Frajtak, K., Tisnovsky, P., and Taibi, D. (2022). Architectural languages in the microservice era: a systematic mapping study. In Proceedings of the Conference on Research in Adaptive and Convergent Systems (pp. 39–46). https://doi.org/10.1145/3538641.3561486.
[SS23] Cerny, T., Donahoo, M.J., and Trnka, M. (2018). Contextual understanding of microservice architecture: Current and future directions. ACM SIGAPP Applied Computing Review, 17(4), 29–45. https://doi.org/10.1145/3183628.3183631.
[SS24] Wolfart, D., Assunção, W.K., da Silva, I.F., Domingos, D.C., Schmeing, E., Villaca, G.L.D., and Paza, D.D.N. (2021). Modernizing legacy systems with microservices: A roadmap. In Evaluation and Assessment in Software Engineering (pp. 149–159). https://doi.org/10.1145/3463274.3463334.
[SS25] Waseem, M., Liang, P., Márquez, G., and Di Salle, A. (2020). Testing microservices architecture-based applications: A systematic mapping study. In 2020 27th Asia-Pacific Software Engineering Conference (APSEC) (pp. 119–128). https://doi.org/10.1109/APSEC51365.2020.00020.
[SS26] Velepucha, V., and Flores, P. (2021). Monoliths to microservices-Migration Problems and Challenges: A SMS. In 2021 Second International Conference on Information Systems and Software Technologies (ICI2ST) (pp. 135–142). https://doi.org/10.1109/ICI2ST51859.2021.00027.
[SS27] Di Francesco, P., Malavolta, I., and Lago, P. (2017). Research on architecting microservices: Trends, focus, and potential for industrial adoption. In 2017 IEEE International Conference on Software Architecture (ICSA) (pp. 21–30). https://doi.org/10.1109/ICSA.2017.24.
[SS28] Pereira-Vale, A., Márquez, G., Astudillo, H., and Fernandez, E.B. (2019). Security mechanisms used in microservices-based systems: A systematic mapping. In 2019 XLV Latin American Computing Conference (CLEI) (pp. 01–10). https://doi.org/10.1109/CLEI47609.2019.235060.
[SS29] Alshuqayran, N., Ali, N., and Evans, R. (2016). A systematic mapping study in microservice architecture. Proceedings-2016 IEEE 9th International Conference on Service-Oriented Computing and Applications, SOCA 2016 pp. 44–51. https://doi.org/10.1109/SOCA.2016.15.
[SS30] Gortney, M.E., Harris, P.E., Cerny, T., Al Maruf, A., Bures, M., Taibi, D., and Tisnovsky, P. (2022). Visualizing Microservice Architecture in the Dynamic Perspective: A Systematic Mapping Study. IEEE Access, 10, 119999–120012. https://doi.org/10.1109/ACCESS.2022.3221130.
[SS31] Santos, R., Soares, P., Rodrigues, E., Maia, P.H.M., and Silveira, A. (2022). How Blockchain and Microservices are Being Used Together: a Systematic Mapping Study. In 2022 IEEE/ACM 5th International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB) (pp. 39–46). https://doi.org/10.1145/3528226.3528371.
[SS32] Niño-Martínez, V.M., Ocharán-Hernández, J.O., Limón, X., and Pérez-Arriaga, J.C. (2021, October). Microservices Deployment: A Systematic Mapping Study. In 2021 9th International Conference in Software Engineering Research and Innovation (CONISOFT) (pp. 24–33). https://doi.org/10.1109/CONISOFT52520.2021.00016.
[SS33] Waseem, M., Liang, P., and Shahin, M. (2020). A systematic mapping study on microservices architecture in DevOps. Journal of Systems and Software, 170, 110798. https://doi.org/10.1016/j.jss.2020.110798.
[SS34] Di Francesco, P., Lago, P., and Malavolta, I. (2019). Architecting with microservices: A systematic mapping study. Journal of Systems and Software, 150, 77–97. https://doi.org/10.1016/j.jss.2019.01.001.
[SS35] Hannousse, A. and Yahiouche, S. (2021). Securing microservices and microservice architectures: A systematic mapping study. Computer Science Review, 41, 100415. https://doi.org/10.1016/j.cosrev.2021.100415.
[SS36] Vural, H., Koyuncu, M., and Guney, S. (2017). A systematic literature review on microservices. In International Conference on Computational Science and Its Applications (pp. 203–217). https://doi.org/10.1007/978-3-319-62407-5_14.
[SS37] Taibi, D., Lenarduzzi, V., and Pahl, C. (2019). Continuous architecting with microservices and DevOps: A systematic mapping study. In International Conference on Cloud Computing and Services Science (pp. 126–151). https://doi.org/10.1007/978-3-030-29193-8_7.
[SS38] Razzaq, A. and Ghayyur, S.A. (2022). A systematic mapping study: The new age of software architecture from monolithic to microservice architecture–awareness and challenges. Computer Applications in Engineering Education. https://doi.org/10.1002/cae.22586.
[SS39] Bushong, V., Abdelfattah, A.S., Maruf, A.A., Das, D., Lehman, A., Jaroszewski, E., … and Bures, M. (2021). On microservice analysis and architecture evolution: A systematic mapping study. Applied Sciences, 11(17), 7856. https://doi.org/10.3390/app11177856.
[SS40] Ghani, I., Wan-Kadir, W.M., Mustafa, A., and Babir, M.I. (2019). Microservice testing approaches: A systematic literature review. International Journal of Integrated Engineering, 11(8), 65–80. https://doi.org/10.30880/ijie.2019.11.08.008.
[SS41] Velepucha, V., Flores, P., and Torres, J. (2019). Migration of monolithic applications towards microservices under the vision of the information hiding principle: a systematic mapping study. In the International Conference on Advances in Emerging Trends and Technologies (pp. 90–100). https://doi.org/10.1007/978-3030-32022-5_9.
[SS42] Yu, D., Jin, Y., Zhang, Y., and Zheng, X. (2019). A survey on security issues in services communication of Microservices-enabled fog applications. Concurrency and Computation: Practice and Experience, 31(22), e4436. https://doi.org/10.1002/cpe.4436.
[SS43] Pahl, C. and Jamshidi, P. (2016). Microservices: A Systematic Mapping Study. In the 6th International Conference on Cloud Computing and Services Science (CLOSER 2016) CLOSER (1), 137–146.
[SS44] Parker, G., Kim, S., Al Maruf, A., Cerny, T., Frajtak, K., Tisnovsky, P., and Taibi, D. (2023). Visualizing Anti-Patterns in Microservices at Runtime: A Systematic Mapping Study. IEEE Access, 11, 4434–4442. https://doi.org/10.1109/ACCESS.2023.3236165.
Rights and permissions
About this article
Cite this article
Stojanov, Z., Hristoski, I., Stojanov, J. et al. A Tertiary Study on Microservices: Research Trends and Recommendations. Program Comput Soft 49, 796–821 (2023). https://doi.org/10.1134/S0361768823080200
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768823080200