On Microservice Analysis and Architecture Evolution: A Systematic Mapping Study
Source abstract
Abstract
Microservice architecture has become the leading design for cloud-native systems. The highly decentralized approach to software development consists of relatively independent services, which provides benefits such as faster deployment cycles, better scalability, and good separation of concerns among services. With this new architecture, one can naturally expect a broad range of advancements and simplifications over legacy systems. However, microservice system design remains challenging, as it is still difficult for engineers to understand the system module boundaries. Thus, understanding and explaining the microservice systems might not be as easy as initially thought. This study aims to classify recently published approaches and techniques to analyze microservice systems. It also looks at the evolutionary perspective of such systems and their analysis. Furthermore, the identified approaches target various challenges and goals, which this study analyzed. Thus, it provides the reader with a roadmap to the discipline, tools, techniques, and open challenges for future work. It provides a guide towards choices when aiming for analyzing cloud-native systems. The results indicate five analytical approaches commonly used in the literature, possibly in combination, towards problems classified into seven categories.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Software System Performance and Reliability · Cloud Computing and Resource Management · IoT and Edge/Fog Computing
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
Computer Science, Baylor University, One Bear Place #97141, Waco, TX 76798, USA
Computer Science, Faculty of Electrical Engineering, Czech Technical University, Karlovo Nam. 13, 121 35 Prague, Czech Republic
Red Hat, Purkynova 99, 612 00 Brno, Czech Republic
Funding
National Science Foundation · Red Hat Research
References (70)
Show source-provided references
1. Contextual Understanding of Microservice Architecture: Current and Future Directions10.1145/3183628.3183631 ↗
2. Graph-based and scenario-driven microservice analysis, retrieval, and testing10.1016/j.future.2019.05.048 ↗
3. The pains and gains of microservices: A systematic grey literature review10.1016/j.jss.2018.09.082 ↗
4. Alshuqayran, N., Ali, N., and Evans, R. (2016, January 4–6). A systematic mapping study in microservice architecture. Proceedings of the 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA), Macau, China.10.1109/SOCA.2016.15 ↗
5. Pahl, C., and Jamshidi, P. (2016, January 23–25). Microservices: A Systematic Mapping Study. Proceedings of the 6th International Conference on Cloud Computing and Services Science, Rome, Italy.10.5220/0005785501370146 ↗
6. Pease, A., Niles, I., and Li, J. (2002, January 28–29). The suggested upper merged ontology: A large ontology for the semantic web and its applications. Proceedings of the Working Notes of the AAAI-2002 Workshop on Ontologies and the Semantic Web, Edmonton, AB, Canada.
7. Di Francesco, P., Malavolta, I., and Lago, P. (2017, January 3–7). Research on architecting microservices: Trends, focus, and potential for industrial adoption. Proceedings of the 2017 IEEE International Conference on Software Architecture (ICSA), Gothenburg, Sweden.10.1109/ICSA.2017.24 ↗
8. Architecting with microservices: A systematic mapping study10.1016/j.jss.2019.01.001 ↗
9. Taibi, D., Lenarduzzi, V., and Pahl, C. (2018, January 19–21). Architectural Patterns for Microservices: A Systematic Mapping Study. Proceedings of the 8th International Conference on Cloud Computing and Services Science, Madeira, Portugal.10.5220/0006798302210232 ↗
10. Taibi, D., Lenarduzzi, V., and Pahl, C. (2018). Continuous architecting with microservices and devops: A systematic mapping study. International Conference on Cloud Computing and Services Science, Springer.10.5220/0006798302210232 ↗
11. A systematic mapping study on microservices architecture in devops10.1016/j.jss.2020.110798 ↗
12. Brondolin, R., and Santambrogio, M.D. (2020). A Black-Box Monitoring Approach to Measure Microservices Runtime Performance. ACM Trans. Archit. Code Optim., 17.10.1145/3418899 ↗
13. Guidelines for conducting systematic mapping studies in software engineering: An update10.1016/j.infsof.2015.03.007 ↗
14. On Code Analysis Opportunities and Challenges for Enterprise Systems and Microservices10.1109/ACCESS.2020.3019985 ↗
15. De Paoli, F., Schulte, S., and Broch Johnsen, E. (2017). Microservices Identification Through Interface Analysis. Service-Oriented and Cloud Computing, Springer International Publishing.10.1007/978-3-319-67262-5 ↗
16. Yangui, S., Bouassida Rodriguez, I., Drira, K., and Tari, Z. (2019). Towards Automated Microservices Extraction Using Muti-objective Evolutionary Search. Service-Oriented Computing, Springer International Publishing.10.1007/978-3-030-33702-5 ↗
17. Kamimura, M., Yano, K., Hatano, T., and Matsuo, A. (2018, January 4–7). Extracting candidates of microservices from monolithic application code. Proceedings of the 2018 25th Asia-Pacific Software Engineering Conference (APSEC), Nara, Japan.10.1109/APSEC.2018.00072 ↗
18. A practical approach for detecting multi-tenancy data interference10.1016/j.scico.2018.04.006 ↗
19. Panetto, H., Debruyne, C., Hepp, M., Lewis, D., Ardagna, C.A., and Meersman, R. (2019). Availability and Scalability Optimized Microservice Discovery from Enterprise Systems. On the Move to Meaningful Internet Systems: OTM 2019 Conferences, Springer International Publishing.10.1007/978-3-030-33246-4_47 ↗
20. La Rosa, M., Sadiq, S., and Teniente, E. (2021). Microservice Remodularisation of Monolithic Enterprise Systems for Embedding in Industrial IoT Networks. Advanced Information Systems Engineering, Springer International Publishing.
21. Jansen, A., Malavolta, I., Muccini, H., Ozkaya, I., and Zimmermann, O. (2020). Determining Microservice Boundaries: A Case Study Using Static and Dynamic Software Analysis. Software Architecture, Springer International Publishing.10.1007/978-3-030-58923-3 ↗
22. The μTOSCA toolchain: Mining, analyzing, and refactoring microservice-based architectures10.1002/spe.2974 ↗
23. Eski, S., and Buzluca, F. (2018, January 21–25). An Automatic Extraction Approach: Transition to Microservices Architecture from Monolithic Application. Proceedings of the 19th International Conference on Agile Software Development: Companion, Porto, Portugal.10.1145/3234152.3234195 ↗
24. Ren, Z., Wang, W., Wu, G., Gao, C., Chen, W., Wei, J., and Huang, T. (2018, January 16). Migrating Web Applications from Monolithic Structure to Microservices Architecture. Proceedings of the Tenth Asia-Pacific Symposium on Internetware, Beijing, China.10.1145/3275219.3275230 ↗
25. Ma, S.P., Fan, C.Y., Chuang, Y., Lee, W.T., Lee, S.J., and Hsueh, N.L. (2018, January 23–27). Using service dependency graph to analyze and test microservices. Proceedings of the 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), Tokyo, Japan.10.1109/COMPSAC.2018.10207 ↗
26. Kim, H., Kim, K.J., and Park, S. (2021). On Automatic Software Architecture Reconstruction of Microservice Applications. Information Science and Applications, Springer.
27. Kim, H., Kim, K.J., and Park, S. (2021). Automated Microservice Code-Smell Detection. Information Science and Applications, Springer.
28. Walker, A., Das, D., and Cerny, T. (2020). Automated Code-Smell Detection in Microservices Through Static Analysis: A Case Study. Appl. Sci., 10.10.3390/app10217800 ↗
29. Pigazzini, I., Fontana, F.A., Lenarduzzi, V., and Taibi, D. (2020, January 28). Towards Microservice Smells Detection. Proceedings of the 3rd International Conference on Technical Debt, Xiamen, China.10.1145/3387906.3388625 ↗
30. Márquez, G., and Astudillo, H. (2019). Identifying Availability Tactics to Support Security Architectural Design of Microservice-Based Systems. Proceedings of the 13th European Conference on Software Architecture—Volume 2, Association for Computing Machinery.10.1145/3344948.3344996 ↗
31. Tighilt, R., Abdellatif, M., Moha, N., Mili, H., Boussaidi, G.E., Privat, J., and Guéhéneuc, Y.G. (2020, January 1–4). On the Study of Microservices Antipatterns: A Catalog Proposal. Proceedings of the European Conference on Pattern Languages of Programs, Online.10.1145/3424771.3424812 ↗
32. Desprez, F., Dutot, P.F., Kaklamanis, C., Marchal, L., Molitorisz, K., Ricci, L., Scarano, V., Vega-Rodríguez, M.A., Varbanescu, A.L., and Hunold, S. (2017). Towards a Methodology to Form Microservices from Monolithic Ones. Euro-Par 2016: Parallel Processing Workshops, Springer International Publishing.10.1007/978-3-319-58943-5 ↗
33. Jin, W., Liu, T., Zheng, Q., Cui, D., and Cai, Y. (2018, January 2–7). Functionality-oriented microservice extraction based on execution trace clustering. Proceedings of the 2018 IEEE International Conference on Web Services (ICWS), San Francisco, CA, USA.10.1109/ICWS.2018.00034 ↗
34. Mendling, J., and Mouratidis, H. (2018). MICROLYZE: A Framework for Recovering the Software Architecture in Microservice-Based Environments. Information Systems in the Big Data Era, Springer International Publishing.
35. Jiang, Y., Zhang, N., and Ren, Z. (2020, January 11–12). Research on Intelligent Monitoring Scheme for Microservice Application Systems. Proceedings of the 2020 International Conference on Intelligent Transportation, Big Data Smart City (ICITBS), Vientiane, Laos.10.1109/ICITBS49701.2020.00173 ↗
36. Somashekar, G., and Gandhi, A. (2021, January 26). Towards Optimal Configuration of Microservices. Proceedings of the 1st Workshop on Machine Learning and Systems, Online.10.1145/3437984.3458828 ↗
37. Ravichandiran, R., Bannazadeh, H., and Leon-Garcia, A. (2018, January 25–29). Anomaly detection using resource behaviour analysis for autoscaling systems. Proceedings of the 2018 4th IEEE Conference on Network Softwarization and Workshops (NetSoft), Montreal, QC, Canada.10.1109/NETSOFT.2018.8460025 ↗
38. A Framework of Virtual War Room and Matrix Sketch-Based Streaming Anomaly Detection for Microservice Systems10.1109/ACCESS.2020.2977464 ↗
39. Franch, X., Männistö, T., and Martínez-Fernández, S. (2019). A Modular Approach to Calculate Service-Based Maintainability Metrics from Runtime Data of Microservices. Product-Focused Software Process Improvement, Springer International Publishing.
40. Samardžić, M., Šajina, R., Tanković, N., and Grbac, T.G. (October, January 28). Microservice Performance Degradation Correlation. Proceedings of the 2020 43rd International Convention on Information, Communication and Electronic Technology (MIPRO), Opatija, Croatia.10.23919/MIPRO48935.2020.9245234 ↗
41. Vaidya, J., and Li, J. (2018). Anomaly Detection and Diagnosis for Container-Based Microservices with Performance Monitoring. Algorithms and Architectures for Parallel Processing, Springer International Publishing.
42. Wang, Q., Xia, Y., Seshadri, S., and Zhang, L.J. (2020). Midiag: A Sequential Trace-Based Fault Diagnosis Framework for Microservices. Services Computing—SCC 2020, Springer International Publishing.10.1007/978-3-030-59592-0 ↗
43. An Anomaly Detection Algorithm for Microservice Architecture Based on Robust Principal Component Analysis10.1109/ACCESS.2020.3044610 ↗
44. An Intelligent Anomaly Detection Scheme for Micro-Services Architectures With Temporal and Spatial Data Analysis10.1109/TCCN.2020.2966615 ↗
45. Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System, and Empirical Study10.1109/TSE.2018.2887384 ↗
46. Guo, X., Peng, X., Wang, H., Li, W., Jiang, H., Ding, D., Xie, T., and Su, L. (2020, January 8–13). Graph-Based Trace Analysis for Microservice Architecture Understanding and Problem Diagnosis. Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Online.10.1145/3368089.3417066 ↗
47. Graph-based root cause analysis for service-oriented and microservice architectures10.1016/j.jss.2019.110432 ↗
48. Maximilien, M., Vallecillo, A., Wang, J., and Oriol, M. (2017). Supporting the Decision of Migrating to Microservices Through Multi-layer Fuzzy Cognitive Maps. Service-Oriented Computing, Springer International Publishing.10.1007/978-3-319-69035-3 ↗
49. Bures, T., Duchien, L., and Inverardi, P. (2019). From a Monolith to a Microservices Architecture: An Approach Based on Transactional Contexts. Software Architecture, Springer International Publishing.
50. A dataflow-driven approach to identifying microservices from monolithic applications10.1016/j.jss.2019.07.008 ↗
51. Stojanovic, T.D., Lazarevic, S.D., Milic, M., and Antovic, I. (2020, January 18–22). Identifying microservices using structured system analysis. Proceedings of the 2020 24th International Conference on Information Technology (IT), Zabljak, Montenegro.10.1109/IT48810.2020.9070652 ↗
52. Liu, X., Mrissa, M., Zhang, L., Benslimane, D., Ghose, A., Wang, Z., Bucchiarone, A., Zhang, W., Zou, Y., and Yu, Q. (2019). On Anomaly Detection and Root Cause Analysis of Microservice Systems. Service-Oriented Computing—ICSOC 2018 Workshops, Springer International Publishing.10.1007/978-3-030-17642-6 ↗
53. Da Silva, D., Wang, Q., and Zhang, L.J. (2019). JCallGraph: Tracing Microservices in Very Large Scale Container Cloud Platforms. Cloud Computing—CLOUD 2019, Springer International Publishing.10.1007/978-3-030-23502-4 ↗
54. Meng, Y., Zhang, S., Sun, Y., Zhang, R., Hu, Z., Zhang, Y., Jia, C., Wang, Z., and Pei, D. (2020, January 15–17). Localizing Failure Root Causes in a Microservice through Causality Inference. Proceedings of the 2020 IEEE/ACM 28th International Symposium on Quality of Service (IWQoS), Hang Zhou, China.10.1109/IWQoS49365.2020.9213058 ↗
55. Wu, L., Tordsson, J., Elmroth, E., and Kao, O. (2020, January 20–24). MicroRCA: Root Cause Localization of Performance Issues in Microservices. Proceedings of the NOMS 2020—2020 IEEE/IFIP Network Operations and Management Symposium, Budapest, Hungary.10.1109/NOMS47738.2020.9110353 ↗
56. Yangui, S., Bouguettaya, A., Xue, X., Faci, N., Gaaloul, W., Yu, Q., Zhou, Z., Hernandez, N., and Nakagawa, E.Y. (2020). A Reconfigurable Microservice-Based Migration Technique for IoT Systems. Service-Oriented Computing—ICSOC 2019 Workshops, Springer International Publishing.10.1007/978-3-030-45989-5 ↗
57. Nurcan, S., Reinhartz-Berger, I., Soffer, P., and Zdravkovic, J. (2020). A Modeling Method for Systematic Architecture Reconstruction of Microservice-Based Software Systems. Enterprise, Business-Process and Information Systems Modeling, Springer International Publishing.10.1007/978-3-030-49418-6 ↗
58. Khazaei, H., Barna, C., Beigi-Mohammadi, N., and Litoiu, M. (2016, January 12–15). Efficiency Analysis of Provisioning Microservices. Proceedings of the 2016 IEEE International Conference on Cloud Computing Technology and Science (CloudCom), Luxembourg.10.1109/CloudCom.2016.0051 ↗
59. Chondamrongkul, N., Sun, J., and Warren, I. (2020, January 16–20). Automated Security Analysis for Microservice Architecture. Proceedings of the 2020 IEEE International Conference on Software Architecture Companion (ICSA-C), Salvador, Brazil.10.1109/ICSA-C50368.2020.00024 ↗
60. Klinaku, F., Bilgery, D., and Becker, S. (2019). The Applicability of Palladio for Assessing the Quality of Cloud-Based Microservice Architectures. Proceedings of the 13th European Conference on Software Architecture—Volume 2, Association for Computing Machinery.10.1145/3344948.3344961 ↗
61. Mendonca, N.C., Aderaldo, C.M., Camara, J., and Garlan, D. (2020, January 16–20). Model-Based Analysis of Microservice Resiliency Patterns. Proceedings of the 2020 IEEE International Conference on Software Architecture (ICSA), Salvador, Brazil.10.1109/ICSA47634.2020.00019 ↗
62. McZara, J., Kafle, S., and Shin, D. (2020, January 6–8). Modeling and Analysis of Dependencies between Microservices in DevSecOps. Proceedings of the 2020 IEEE International Conference on Smart Cloud (SmartCloud), Washington, DC, USA.10.1109/SmartCloud49737.2020.00034 ↗
63. Identifying architectural technical debt, principal, and interest in microservices: A multiple-case study10.1016/j.jss.2021.110968 ↗
64. From monolithic systems to Microservices: An assessment framework10.1016/j.infsof.2021.106600 ↗
65. Bogner, J., Fritzsch, J., Wagner, S., and Zimmermann, A. (June, January 27). Limiting Technical Debt with Maintainability Assurance: An Industry Survey on Used Techniques and Differences with Service- and Microservice-Based Systems. Proceedings of the 2018 International Conference on Technical Debt, Gothenburg, Sweden.10.1145/3194164.3194166 ↗
66. Kobayashi, K., Kamimura, M., Kato, K., Yano, K., and Matsuo, A. (2012, January 23–28). Feature-gathering dependency-based software clustering using dedication and modularity. Proceedings of the 2012 28th IEEE International Conference on Software Maintenance (ICSM), Trento, Italy.10.1109/ICSM.2012.6405308 ↗
67. Lin, T., Park, B., Bannazadeh, H., and Leon-Garcia, A. (2015). Savi testbed architecture and federation. Future Access Enablers of Ubiquitous and Intelligent Infrastructures, Springer.10.1007/978-3-319-27072-2_1 ↗
68. (2021, August 16). Palladio. Available online: https://www.palladio-simulator.com.
69. Wohlin, C. (2000). Experimentation in Software Engineering: An Introduction, Kluwer Academic.10.1007/978-1-4615-4625-2 ↗
70. Industry practices and challenges for the evolvability assurance of microservices10.1007/s10664-021-09999-9 ↗