On Microservice Analysis and Architecture Evolution: A Systematic Mapping Study
Abstract
:1. Introduction
- challenges in the analysis of the system architecture;
- fault detection, prevention, and root cause analysis of failure states;
- the practice of migration of monolithic systems into microservices;
- analysis role in system evolution, technical debt, and architecture degradation;
- how quality aspects are analyzed in microservices,
- the relationship between microservices and other architectures.
2. Related Work
3. Methods and Materials
- RQ1
- What methods and techniques are used in microservice analysis?
- RQ2
- What are the problems or opportunities that are addressed using microservice analysis techniques?
- RQ3
- Does microservice analysis overlap with other areas of software analysis, or are new methods or paradigms needed?
- RQ4
- What potential future research directions are open in the area of microservice analysis?
- Papers that performed program analysis on microservice-based systems in some capacity with the goal of extracting some information about the system.
- Papers with analysis that was designed for or was being discussed in the context of microservices specifically.
- Papers that discussed and addressed challenges associated with microservice analysis.
- Papers that described a benchmark microservice system intended for use as a testbed.
- Papers with full text available in the selected databases.
- Papers published in last three years (2018–2021).
- Papers that presented tools or methods designed to directly assist or participate in the operation of the microservice system (as opposed to strictly analyzing and extracting information from it).
- Papers describing a specific implementation of a real-world microservice system not intended as a benchmark.
- Papers without specific output, suggestions, or opinions regarding microservice analysis without experiments or robust proposed methods.
- Papers without full text available in the selected databases.
- Papers not presented in the English language.
- Papers not from peer-reviewed sources.
4. Review of the Selected Studies
4.1. Approaches and Tools
4.1.1. Static Analysis
4.1.2. Dynamic Analysis
4.1.3. Combined Dynamic and Static Analysis
4.1.4. Model-Based Analysis
4.1.5. Graph-Based Analysis
4.1.6. Pattern-Based Analysis
4.1.7. Tools
4.2. Challenges and Goals
4.2.1. Architectural Analysis
4.2.2. Migration to Microservices
4.2.3. Software Architecture Reconstruction (SAR)
4.2.4. Technical Debt Analysis
4.2.5. Microservice Evolution
4.2.6. Quality Attribute Analysis
4.2.7. Fault Analysis
4.2.8. Surveys
5. Results and Discussion
5.1. RQ1: Methods and Techniques Used
5.2. RQ2: Goals Addressed by the Papers
5.3. RQ3: Relationship between Microservices and Other Architectures
5.4. RQ4: Future Research Directions
6. Threats to Validity
6.1. Construct Validity
6.2. Internal Validity
6.3. External Validity
6.4. Conclusions Validity
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Conflicts of Interest
References
- Cerny, T.; Donahoo, M.J.; Trnka, M. Contextual Understanding of Microservice Architecture: Current and Future Directions. SIGAPP Appl. Comput. Rev. 2018, 17, 29–45. [Google Scholar] [CrossRef]
- Ma, S.P.; Fan, C.Y.; Chuang, Y.; Liu, I.H.; Lan, C.W. Graph-based and scenario-driven microservice analysis, retrieval, and testing. Future Gener. Comput. Syst. 2019, 100, 724–735. [Google Scholar] [CrossRef]
- Soldani, J.; Tamburri, D.A.; Van Den Heuvel, W.J. The pains and gains of microservices: A systematic grey literature review. J. Syst. Softw. 2018, 146, 215–232. [Google Scholar] [CrossRef]
- Alshuqayran, N.; Ali, N.; Evans, R. A systematic mapping study in microservice architecture. In Proceedings of the 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA), Macau, China, 4–6 November 2016; pp. 44–51. [Google Scholar]
- Pahl, C.; Jamshidi, P. Microservices: A Systematic Mapping Study. In Proceedings of the 6th International Conference on Cloud Computing and Services Science, Rome, Italy, 23–25 April 2016; pp. 137–146. [Google Scholar]
- Pease, A.; Niles, I.; Li, J. The suggested upper merged ontology: A large ontology for the semantic web and its applications. In Proceedings of the Working Notes of the AAAI-2002 Workshop on Ontologies and the Semantic Web, Edmonton, AB, Canada, 28–29 July 2002; Volume 28, pp. 7–10. [Google Scholar]
- Di Francesco, P.; Malavolta, I.; Lago, P. Research on architecting microservices: Trends, focus, and potential for industrial adoption. In Proceedings of the 2017 IEEE International Conference on Software Architecture (ICSA), Gothenburg, Sweden, 3–7 April 2017; pp. 21–30. [Google Scholar]
- Di Francesco, P.; Lago, P.; Malavolta, I. Architecting with microservices: A systematic mapping study. J. Syst. Softw. 2019, 150, 77–97. [Google Scholar] [CrossRef] [Green Version]
- Taibi, D.; Lenarduzzi, V.; Pahl, C. Architectural Patterns for Microservices: A Systematic Mapping Study. In Proceedings of the 8th International Conference on Cloud Computing and Services Science, Madeira, Portugal, 19–21 March 2018; pp. 221–232. [Google Scholar]
- Taibi, D.; Lenarduzzi, V.; Pahl, C. Continuous architecting with microservices and devops: A systematic mapping study. In International Conference on Cloud Computing and Services Science; Springer: Berlin/Heidelberg, Germany, 2018; pp. 126–151. [Google Scholar]
- Waseem, M.; Liang, P.; Shahin, M. A systematic mapping study on microservices architecture in devops. J. Syst. Softw. 2020, 170, 110798. [Google Scholar] [CrossRef]
- Brondolin, R.; Santambrogio, M.D. A Black-Box Monitoring Approach to Measure Microservices Runtime Performance. ACM Trans. Archit. Code Optim. 2020, 17. [Google Scholar] [CrossRef]
- Petersen, K.; Vakkalanka, S.; Kuzniarz, L. Guidelines for conducting systematic mapping studies in software engineering: An update. Inf. Softw. Technol. 2015, 64, 1–18. [Google Scholar] [CrossRef]
- Cerny, T.; Svacina, J.; Das, D.; Bushong, V.; Bures, M.; Tisnovsky, P.; Frajtak, K.; Shin, D.; Huang, J. On Code Analysis Opportunities and Challenges for Enterprise Systems and Microservices. IEEE Access 2020, 8, 159449–159470. [Google Scholar] [CrossRef]
- Baresi, L.; Garriga, M.; De Renzis, A. Microservices Identification Through Interface Analysis. In Service-Oriented and Cloud Computing; De Paoli, F., Schulte, S., Broch Johnsen, E., Eds.; Springer International Publishing: Cham, Switzerland, 2017; pp. 19–33. [Google Scholar]
- Saidani, I.; Ouni, A.; Mkaouer, M.W.; Saied, A. Towards Automated Microservices Extraction Using Muti-objective Evolutionary Search. In Service-Oriented Computing; Yangui, S., Bouassida Rodriguez, I., Drira, K., Tari, Z., Eds.; Springer International Publishing: Cham, Switzerland, 2019; pp. 58–63. [Google Scholar]
- Kamimura, M.; Yano, K.; Hatano, T.; Matsuo, A. Extracting candidates of microservices from monolithic application code. In Proceedings of the 2018 25th Asia-Pacific Software Engineering Conference (APSEC), Nara, Japan, 4–7 December 2018; pp. 571–580. [Google Scholar]
- Furda, A.; Fidge, C.; Barros, A. A practical approach for detecting multi-tenancy data interference. Sci. Comput. Program. 2018, 163, 160–173. [Google Scholar] [CrossRef]
- De Alwis, A.A.C.; Barros, A.; Fidge, C.; Polyvyanyy, A. Availability and Scalability Optimized Microservice Discovery from Enterprise Systems. In On the Move to Meaningful Internet Systems: OTM 2019 Conferences; Panetto, H., Debruyne, C., Hepp, M., Lewis, D., Ardagna, C.A., Meersman, R., Eds.; Springer International Publishing: Cham, Switzerland, 2019; pp. 496–514. [Google Scholar]
- De Alwis, A.A.C.; Barros, A.; Fidge, C.; Polyvyanyy, A. Microservice Remodularisation of Monolithic Enterprise Systems for Embedding in Industrial IoT Networks. In Advanced Information Systems Engineering; La Rosa, M., Sadiq, S., Teniente, E., Eds.; Springer International Publishing: Cham, Switzerland, 2021; pp. 432–448. [Google Scholar]
- Matias, T.; Correia, F.F.; Fritzsch, J.; Bogner, J.; Ferreira, H.S.; Restivo, A. Determining Microservice Boundaries: A Case Study Using Static and Dynamic Software Analysis. In Software Architecture; Jansen, A., Malavolta, I., Muccini, H., Ozkaya, I., Zimmermann, O., Eds.; Springer International Publishing: Cham, Switzerland, 2020; pp. 315–332. [Google Scholar]
- Soldani, J.; Muntoni, G.; Neri, D.; Brogi, A. The μTOSCA toolchain: Mining, analyzing, and refactoring microservice-based architectures. Softw. Pract. Exp. 2021, 51, 1591–1621. [Google Scholar] [CrossRef]
- Eski, S.; Buzluca, F. An Automatic Extraction Approach: Transition to Microservices Architecture from Monolithic Application. In Proceedings of the 19th International Conference on Agile Software Development: Companion, Porto, Portugal, 21–25 May 2018; Association for Computing Machinery: New York, NY, USA, 2018. [Google Scholar] [CrossRef]
- Ren, Z.; Wang, W.; Wu, G.; Gao, C.; Chen, W.; Wei, J.; Huang, T. Migrating Web Applications from Monolithic Structure to Microservices Architecture. In Proceedings of the Tenth Asia-Pacific Symposium on Internetware, Beijing, China, 16 September 2018; Association for Computing Machinery: New York, NY, USA, 2018. [Google Scholar] [CrossRef]
- Ma, S.P.; Fan, C.Y.; Chuang, Y.; Lee, W.T.; Lee, S.J.; Hsueh, N.L. Using service dependency graph to analyze and test microservices. In Proceedings of the 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), Tokyo, Japan, 23–27 July 2018; Volume 2, pp. 81–86. [Google Scholar]
- Walker, A.; Laird, I.; Cerny, T. On Automatic Software Architecture Reconstruction of Microservice Applications. In Information Science and Applications; Kim, H., Kim, K.J., Park, S., Eds.; Springer: Singapore, 2021; pp. 223–234. [Google Scholar]
- Walker, A.; Das, D.; Cerny, T. Automated Microservice Code-Smell Detection. In Information Science and Applications; Kim, H., Kim, K.J., Park, S., Eds.; Springer: Singapore, 2021; pp. 211–221. [Google Scholar]
- Walker, A.; Das, D.; Cerny, T. Automated Code-Smell Detection in Microservices Through Static Analysis: A Case Study. Appl. Sci. 2020, 10, 7800. [Google Scholar] [CrossRef]
- Pigazzini, I.; Fontana, F.A.; Lenarduzzi, V.; Taibi, D. Towards Microservice Smells Detection. In Proceedings of the 3rd International Conference on Technical Debt, Xiamen, China, 28 June 2020; Association for Computing Machinery: New York, NY, USA, 2020; pp. 92–97. [Google Scholar] [CrossRef]
- Márquez, G.; Astudillo, H. Identifying Availability Tactics to Support Security Architectural Design of Microservice-Based Systems. In Proceedings of the 13th European Conference on Software Architecture—Volume 2; Association for Computing Machinery: New York, NY, USA, 2019; pp. 123–129. [Google Scholar] [CrossRef]
- Tighilt, R.; Abdellatif, M.; Moha, N.; Mili, H.; Boussaidi, G.E.; Privat, J.; Guéhéneuc, Y.G. On the Study of Microservices Antipatterns: A Catalog Proposal. In Proceedings of the European Conference on Pattern Languages of Programs, Online, 1–4 July 2020; Association for Computing Machinery: New York, NY, USA, 2020. [Google Scholar] [CrossRef]
- Kecskemeti, G.; Kertesz, A.; Marosi, A.C. Towards a Methodology to Form Microservices from Monolithic Ones. In Euro-Par 2016: Parallel Processing Workshops; Desprez, F., Dutot, P.F., Kaklamanis, C., Marchal, L., Molitorisz, K., Ricci, L., Scarano, V., Vega-Rodríguez, M.A., Varbanescu, A.L., Hunold, S., et al., Eds.; Springer International Publishing: Cham, Switzerland, 2017; pp. 284–295. [Google Scholar]
- Jin, W.; Liu, T.; Zheng, Q.; Cui, D.; Cai, Y. Functionality-oriented microservice extraction based on execution trace clustering. In Proceedings of the 2018 IEEE International Conference on Web Services (ICWS), San Francisco, CA, USA, 2–7 July 2018; pp. 211–218. [Google Scholar]
- Kleehaus, M.; Uludağ, Ö.; Schäfer, P.; Matthes, F. MICROLYZE: A Framework for Recovering the Software Architecture in Microservice-Based Environments. In Information Systems in the Big Data Era; Mendling, J., Mouratidis, H., Eds.; Springer International Publishing: Cham, Switzerland, 2018; pp. 148–162. [Google Scholar]
- Jiang, Y.; Zhang, N.; Ren, Z. Research on Intelligent Monitoring Scheme for Microservice Application Systems. In Proceedings of the 2020 International Conference on Intelligent Transportation, Big Data Smart City (ICITBS), Vientiane, Laos, 11–12 January 2020; pp. 791–794. [Google Scholar] [CrossRef]
- Somashekar, G.; Gandhi, A. Towards Optimal Configuration of Microservices. In Proceedings of the 1st Workshop on Machine Learning and Systems, Online, 26 April 2021; Association for Computing Machinery: New York, NY, USA, 2021; pp. 7–14. [Google Scholar] [CrossRef]
- Ravichandiran, R.; Bannazadeh, H.; Leon-Garcia, A. Anomaly detection using resource behaviour analysis for autoscaling systems. In Proceedings of the 2018 4th IEEE Conference on Network Softwarization and Workshops (NetSoft), Montreal, QC, Canada, 25–29 June 2018; pp. 192–196. [Google Scholar]
- Chen, H.; Chen, P.; Yu, G. A Framework of Virtual War Room and Matrix Sketch-Based Streaming Anomaly Detection for Microservice Systems. IEEE Access 2020, 8, 43413–43426. [Google Scholar] [CrossRef]
- Bogner, J.; Schlinger, S.; Wagner, S.; Zimmermann, A. A Modular Approach to Calculate Service-Based Maintainability Metrics from Runtime Data of Microservices. In Product-Focused Software Process Improvement; Franch, X., Männistö, T., Martínez-Fernández, S., Eds.; Springer International Publishing: Cham, Swizterland, 2019; pp. 489–496. [Google Scholar]
- Samardžić, M.; Šajina, R.; Tanković, N.; Grbac, T.G. Microservice Performance Degradation Correlation. In Proceedings of the 2020 43rd International Convention on Information, Communication and Electronic Technology (MIPRO), Opatija, Croatia, 28 September–2 October 2020; pp. 1623–1626. [Google Scholar] [CrossRef]
- Du, Q.; Xie, T.; He, Y. Anomaly Detection and Diagnosis for Container-Based Microservices with Performance Monitoring. In Algorithms and Architectures for Parallel Processing; Vaidya, J., Li, J., Eds.; Springer International Publishing: Cham, Switzerland, 2018; pp. 560–572. [Google Scholar]
- Meng, L.; Sun, Y.; Zhang, S. Midiag: A Sequential Trace-Based Fault Diagnosis Framework for Microservices. In Services Computing—SCC 2020; Wang, Q., Xia, Y., Seshadri, S., Zhang, L.J., Eds.; Springer International Publishing: Cham, Switzerland, 2020; pp. 137–144. [Google Scholar]
- Jin, M.; Lv, A.; Zhu, Y.; Wen, Z.; Zhong, Y.; Zhao, Z.; Wu, J.; Li, H.; He, H.; Chen, F. An Anomaly Detection Algorithm for Microservice Architecture Based on Robust Principal Component Analysis. IEEE Access 2020, 8, 226397–226408. [Google Scholar] [CrossRef]
- Zuo, Y.; Wu, Y.; Min, G.; Huang, C.; Pei, K. An Intelligent Anomaly Detection Scheme for Micro-Services Architectures With Temporal and Spatial Data Analysis. IEEE Trans. Cogn. Commun. Netw. 2020, 6, 548–561. [Google Scholar] [CrossRef]
- Zhou, X.; Peng, X.; Xie, T.; Sun, J.; Ji, C.; Li, W.; Ding, D. Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System, and Empirical Study. IEEE Trans. Softw. Eng. 2021, 47, 243–260. [Google Scholar] [CrossRef] [Green Version]
- Guo, X.; Peng, X.; Wang, H.; Li, W.; Jiang, H.; Ding, D.; Xie, T.; Su, L. Graph-Based Trace Analysis for Microservice Architecture Understanding and Problem Diagnosis. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Online, 8–13 November 2020; Association for Computing Machinery: New York, NY, USA, 2020; pp. 1387–1397. [Google Scholar] [CrossRef]
- Brandón, Á.; Solé, M.; Huélamo, A.; Solans, D.; Pérez, M.S.; Muntés-Mulero, V. Graph-based root cause analysis for service-oriented and microservice architectures. J. Syst. Softw. 2020, 159, 110432. [Google Scholar] [CrossRef]
- Christoforou, A.; Garriga, M.; Andreou, A.S.; Baresi, L. Supporting the Decision of Migrating to Microservices Through Multi-layer Fuzzy Cognitive Maps. In Service-Oriented Computing; Maximilien, M., Vallecillo, A., Wang, J., Oriol, M., Eds.; Springer International Publishing: Cham, Switzerland, 2017; pp. 471–480. [Google Scholar]
- Nunes, L.; Santos, N.; Rito Silva, A. From a Monolith to a Microservices Architecture: An Approach Based on Transactional Contexts. In Software Architecture; Bures, T., Duchien, L., Inverardi, P., Eds.; Springer International Publishing: Cham, Switzerland, 2019; pp. 37–52. [Google Scholar]
- Li, S.; Zhang, H.; Jia, Z.; Li, Z.; Zhang, C.; Li, J.; Gao, Q.; Ge, J.; Shan, Z. A dataflow-driven approach to identifying microservices from monolithic applications. J. Syst. Softw. 2019, 157, 110380. [Google Scholar] [CrossRef]
- Stojanovic, T.D.; Lazarevic, S.D.; Milic, M.; Antovic, I. Identifying microservices using structured system analysis. In Proceedings of the 2020 24th International Conference on Information Technology (IT), Zabljak, Montenegro, 18–22 February 2020; pp. 1–4. [Google Scholar]
- Guan, Z.; Lin, J.; Chen, P. On Anomaly Detection and Root Cause Analysis of Microservice Systems. In Service-Oriented Computing—ICSOC 2018 Workshops; Liu, X., Mrissa, M., Zhang, L., Benslimane, D., Ghose, A., Wang, Z., Bucchiarone, A., Zhang, W., Zou, Y., Yu, Q., Eds.; Springer International Publishing: Cham, Switzerland, 2019; pp. 465–469. [Google Scholar]
- Liu, H.; Zhang, J.; Shan, H.; Li, M.; Chen, Y.; He, X.; Li, X. JCallGraph: Tracing Microservices in Very Large Scale Container Cloud Platforms. In Cloud Computing—CLOUD 2019; Da Silva, D., Wang, Q., Zhang, L.J., Eds.; Springer International Publishing: Cham, Switzerland, 2019; pp. 287–302. [Google Scholar]
- Meng, Y.; Zhang, S.; Sun, Y.; Zhang, R.; Hu, Z.; Zhang, Y.; Jia, C.; Wang, Z.; Pei, D. Localizing Failure Root Causes in a Microservice through Causality Inference. In Proceedings of the 2020 IEEE/ACM 28th International Symposium on Quality of Service (IWQoS), Hang Zhou, China, 15–17 June 2020; pp. 1–10. [Google Scholar] [CrossRef]
- Wu, L.; Tordsson, J.; Elmroth, E.; Kao, O. MicroRCA: Root Cause Localization of Performance Issues in Microservices. In Proceedings of the NOMS 2020—2020 IEEE/IFIP Network Operations and Management Symposium, Budapest, Hungary, 20–24 April 2020; pp. 1–9. [Google Scholar] [CrossRef]
- Sun, C.A.; Wang, J.; Guo, J.; Wang, Z.; Duan, L. A Reconfigurable Microservice-Based Migration Technique for IoT Systems. In Service-Oriented Computing—ICSOC 2019 Workshops; Yangui, S., Bouguettaya, A., Xue, X., Faci, N., Gaaloul, W., Yu, Q., Zhou, Z., Hernandez, N., Nakagawa, E.Y., Eds.; Springer International Publishing: Cham, Switzerland, 2020; pp. 142–155. [Google Scholar]
- Rademacher, F.; Sachweh, S.; Zündorf, A. A Modeling Method for Systematic Architecture Reconstruction of Microservice-Based Software Systems. In Enterprise, Business-Process and Information Systems Modeling; Nurcan, S., Reinhartz-Berger, I., Soffer, P., Zdravkovic, J., Eds.; Springer International Publishing: Cham, Switzerland, 2020; pp. 311–326. [Google Scholar]
- Khazaei, H.; Barna, C.; Beigi-Mohammadi, N.; Litoiu, M. Efficiency Analysis of Provisioning Microservices. In Proceedings of the 2016 IEEE International Conference on Cloud Computing Technology and Science (CloudCom), Luxembourg, 12–15 December 2016; pp. 261–268. [Google Scholar] [CrossRef]
- Chondamrongkul, N.; Sun, J.; Warren, I. Automated Security Analysis for Microservice Architecture. In Proceedings of the 2020 IEEE International Conference on Software Architecture Companion (ICSA-C), Salvador, Brazil, 16–20 March 2020; pp. 79–82. [Google Scholar] [CrossRef]
- Klinaku, F.; Bilgery, D.; Becker, S. The Applicability of Palladio for Assessing the Quality of Cloud-Based Microservice Architectures. In Proceedings of the 13th European Conference on Software Architecture—Volume 2; Association for Computing Machinery: New York, NY, USA, 2019; pp. 34–37. [Google Scholar] [CrossRef]
- Mendonca, N.C.; Aderaldo, C.M.; Camara, J.; Garlan, D. Model-Based Analysis of Microservice Resiliency Patterns. In Proceedings of the 2020 IEEE International Conference on Software Architecture (ICSA), Salvador, Brazil, 16–20 March 2020; pp. 114–124. [Google Scholar] [CrossRef]
- McZara, J.; Kafle, S.; Shin, D. Modeling and Analysis of Dependencies between Microservices in DevSecOps. In Proceedings of the 2020 IEEE International Conference on Smart Cloud (SmartCloud), Washington, DC, USA, 6–8 November 2020; pp. 140–147. [Google Scholar] [CrossRef]
- de Toledo, S.S.; Martini, A.; Sjøberg, D.I. Identifying architectural technical debt, principal, and interest in microservices: A multiple-case study. J. Syst. Softw. 2021, 177, 110968. [Google Scholar] [CrossRef]
- Auer, F.; Lenarduzzi, V.; Felderer, M.; Taibi, D. From monolithic systems to Microservices: An assessment framework. Inf. Softw. Technol. 2021, 137, 106600. [Google Scholar] [CrossRef]
- Bogner, J.; Fritzsch, J.; Wagner, S.; Zimmermann, A. Limiting Technical Debt with Maintainability Assurance: An Industry Survey on Used Techniques and Differences with Service- and Microservice-Based Systems. In Proceedings of the 2018 International Conference on Technical Debt, Gothenburg, Sweden, 27 May–3 June 2018; Association for Computing Machinery: New York, NY, USA, 2018; pp. 125–133. [Google Scholar] [CrossRef]
- Kobayashi, K.; Kamimura, M.; Kato, K.; Yano, K.; Matsuo, A. Feature-gathering dependency-based software clustering using dedication and modularity. In Proceedings of the 2012 28th IEEE International Conference on Software Maintenance (ICSM), Trento, Italy, 23–28 September 2012; pp. 462–471. [Google Scholar]
- Lin, T.; Park, B.; Bannazadeh, H.; Leon-Garcia, A. Savi testbed architecture and federation. In Future Access Enablers of Ubiquitous and Intelligent Infrastructures; Springer: Berlin/Heidelberg, Germany, 2015; pp. 3–10. [Google Scholar]
- Palladio. Available online: https://www.palladio-simulator.com (accessed on 16 August 2021).
- Wohlin, C. Experimentation in Software Engineering: An Introduction; International Series in Engineering and Computer Science; Kluwer Academic: Boston, MA, USA, 2000. [Google Scholar]
- Bogner, J.; Fritzsch, J.; Wagner, S.; Zimmermann, A. Industry practices and challenges for the evolvability assurance of microservices. Empir. Softw. Eng. 2021, 26, 104. [Google Scholar] [CrossRef]
Reference | Research Questions |
---|---|
How much evidence of microservices experimentation from industry is available online? | |
[3] | What are the technical and operational “pains” of microservices? |
What are the technical and operational “gains” of microservices? | |
What are the architectural challenges that microservices systems face? | |
[4] | What architectural diagrams/views are used to represent microservices architectures? |
What quality attributes related to microservices are presented in the literature? | |
[5] | What are the main practical motivations behind using microservices? |
What are the different types of microservice architectures involved? | |
What are the existing methods, techniques and tool support to enable microservice architecture development and operation? | |
What are the existing research issues and what should be the future research agenda? | |
[7,8] | What are the publication trends of research studies about architecting with microservices? |
What is the focus of research on architecting with microservices? | |
What is the potential for industrial adoption of existing research on architecting with microservices? | |
[9] | Which are the different microservices-based architecture patterns? |
Which advantages and disadvantages have been highlighted for these patterns? | |
[10] | Which are the different microservices-based architectural styles? |
What are the differences among the existing architectural styles? | |
Which advantages and disadvantages have been highlighted in implementations described in the literature for the identified architectural styles | |
What are the different DevOps-related techniques applied in the microservices context? | |
[12] | What is the frequency and type of published research on microservices in DevOps? |
What are the existing research themes on microservices in DevOps and how can they be classified and mapped? | |
What problems have been reported when implementing microservices in DevOps? | |
What solutions have been employed to address the problems? | |
What challenges have been reported when implementing microservices in DevOps? | |
What methods are used to describe microservices in DevOps? | |
What microservices design patterns are used in DevOps? | |
What quality attributes are affected when employing microservices in DevOps? | |
What tools are available to support microservices in DevOps? | |
What are the application domains that employ microservices in DevOps? |
Indexer | All Search Results | Filtered Works Used in This Study |
---|---|---|
ACM DL | 785 | 11 |
IEEE Xplore | 364 | 17 |
ScienceDirect | 650 | 6 |
SpringerLink | 368 | 19 |
MDPI | 28 | 1 |
Wiley | 13 | 1 |
Total | 2208 | 55 |
Approaches and Tools | Challenges and Goals | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
References | Static Analysis | Dynamic Analysis | Graph-Based Analysis | Model-Based Analysis | Pattern-Based Analysis | Architectural Analysis | Microservice Migration | SAR | Technical Debt Analysis | Quality Attribute Analysis | Fault Analysis | Evolution | Surveys |
Cerny et al. [14] | ✓ | ✓ | ✓ | ||||||||||
Baresi [15] | ✓ | ✓ | |||||||||||
Saidani [16] | ✓ | ✓ | |||||||||||
Kamimura et al. [17] | ✓ | ✓ | |||||||||||
Furda et al. [18] | ✓ | ✓ | |||||||||||
De Alwis et al. [19] | ✓ | ✓ | ✓ | ||||||||||
De Alwis et al. [20] | ✓ | ✓ | ✓ | ||||||||||
Matias et al. [21] | ✓ | ✓ | ✓ | ||||||||||
Soldani et al. [22] | ✓ | ✓ | ✓ | ||||||||||
Eski et al. [23] | ✓ | ✓ | ✓ | ✓ | |||||||||
Ren et al. [24] | ✓ | ✓ | ✓ | ✓ | |||||||||
Ma et al. [25] | ✓ | ✓ | ✓ | ✓ | |||||||||
Walker et al. [26] | ✓ | ✓ | ✓ | ✓ | |||||||||
Walker et al. [27] | ✓ | ✓ | ✓ | ✓ | |||||||||
Walker et al. [28] | ✓ | ✓ | ✓ | ✓ | |||||||||
Pigazzini et al. [29] | ✓ | ✓ | ✓ | ✓ | |||||||||
Marquez et al. [30] | ✓ | ✓ | ✓ | ✓ | |||||||||
Tighilt et al. [31] | ✓ | ✓ | ✓ | ||||||||||
Kecskemeti et al. [32] | ✓ | ✓ | |||||||||||
Jin et al. [33] | ✓ | ✓ | |||||||||||
Kleehaus et al. [34] | ✓ | ✓ | ✓ | ||||||||||
Jiang et al. [35] | ✓ | ✓ | |||||||||||
Somashekar et al. [36] | ✓ | ✓ | |||||||||||
Brondolin et al. [12] | ✓ | ✓ | |||||||||||
Ravichandiran et al. [37] | ✓ | ✓ | |||||||||||
Chen et al. [38] | ✓ | ✓ | ✓ | ||||||||||
Bogner et al. [39] | ✓ | ✓ | ✓ | ||||||||||
Samardzic et al. [40] | ✓ | ✓ | ✓ | ||||||||||
Du et al. [41] | ✓ | ✓ | |||||||||||
Meng et al. [42] | ✓ | ✓ | |||||||||||
Jin et al. [43] | ✓ | ✓ | |||||||||||
Zuo et al. [44] | ✓ | ✓ | |||||||||||
Zhou et al. [45] | ✓ | ✓ | ✓ | ||||||||||
Guo et al. [46] | ✓ | ✓ | ✓ | ||||||||||
Brandon et al. [47] | ✓ | ✓ | ✓ | ||||||||||
Christoforou et al. [48] | ✓ | ✓ | |||||||||||
Nunes et al. [49] | ✓ | ✓ | |||||||||||
Li et al. [50] | ✓ | ✓ | |||||||||||
Stojanovic et al. [51] | ✓ | ✓ | |||||||||||
Guan et al. [52] | ✓ | ✓ | |||||||||||
Liu et al. [53] | ✓ | ✓ | |||||||||||
Meng et al. [54] | ✓ | ✓ | |||||||||||
Wu et al. [55] | ✓ | ✓ | |||||||||||
Ma et al. [2] | ✓ | ✓ | ✓ | ||||||||||
Sun et al. [56] | ✓ | ✓ | |||||||||||
Rademacher [57] | ✓ | ✓ | ✓ | ||||||||||
Khazaei et al. [58] | ✓ | ✓ | |||||||||||
Chondamrongkul et al. [59] | ✓ | ✓ | |||||||||||
Klinaku et al. [60] | ✓ | ✓ | |||||||||||
Mendonca et al. [61] | ✓ | ✓ | |||||||||||
Mczara et al. [62] | ✓ | ✓ | |||||||||||
Toledo et al. [63] | ✓ | ✓ | ✓ | ✓ | |||||||||
Cerny et al. [1] | ✓ | ✓ | |||||||||||
Auer et al. [64] | ✓ | ✓ | |||||||||||
Bogner et al. [65] | ✓ | ✓ | ✓ |
Tool | Reference | Newly Developed | Purpose |
---|---|---|---|
Arcan | [29] | No | Code smells detection |
MSExtractor | [16] | Yes | Monolithic decomposition |
MSANose | [27] | Yes | Code smells detection |
MICROLYZE | [34] | Yes | Architecture reconstruction |
Dapper | [44] | No | Query tracing |
Zipkin | [44] | No | Query tracing |
Osoprofiler | [44] | No | Query tracing |
Microscope | [52] | No | Graph generation |
JCallGraph | [53] | Yes | Tracing and analytics |
TOSCA | [22] | Yes | Architectural smells detection |
Palladio | [68] | No | Performance analysis |
Method | References | Total |
---|---|---|
Static analysis | [14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31] | 17 |
Dynamic analysis | [12,19,20,21,22,23,24,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46] | 22 |
↪Log analysis | [35,40,44,46] | ↪ 4 |
↪Execution trace analysis | [33,35,43,44] | ↪ 4 |
Graph-based analysis | [2,25,26,27,28,46,47,48,49,50,52,53,54,55] | 14 |
Model-based techniques | [51,56,57,58,59,60,61,62] | 8 |
Pattern-based analysis | [27,28,29,30,31,61,62] | 7 |
Goal | References | Total |
---|---|---|
Microservice migration | [15,16,17,18,19,20,21,23,24,32,33,48,49,50,51,56,64] | 17 |
Technical debt identification | [29,39,63] | 3 |
SAR | [25,26,34,57] | 4 |
Architectural analysis | [1,14,28,47,63] | 5 |
Quality attribute analysis | [12,30,35,36,37,38,39,40,58,59,60] | 11 |
Evolution analysis | [2,22,26,27,28,29,31,34,40,57,63,65] | 12 |
Fault analysis | [2,30,38,41,42,43,44,45,46,47,54,55] | 14 |
↪Root cause analysis | [43,47,54,55] | ↪ 4 |
Survey works | [1,14,45,63,64,65] | 6 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Bushong, V.; Abdelfattah, A.S.; Maruf, A.A.; Das, D.; Lehman, A.; Jaroszewski, E.; Coffey, M.; Cerny, T.; Frajtak, K.; Tisnovsky, P.; et al. On Microservice Analysis and Architecture Evolution: A Systematic Mapping Study. Appl. Sci. 2021, 11, 7856. https://doi.org/10.3390/app11177856
Bushong V, Abdelfattah AS, Maruf AA, Das D, Lehman A, Jaroszewski E, Coffey M, Cerny T, Frajtak K, Tisnovsky P, et al. On Microservice Analysis and Architecture Evolution: A Systematic Mapping Study. Applied Sciences. 2021; 11(17):7856. https://doi.org/10.3390/app11177856
Chicago/Turabian StyleBushong, Vincent, Amr S. Abdelfattah, Abdullah A. Maruf, Dipta Das, Austin Lehman, Eric Jaroszewski, Michael Coffey, Tomas Cerny, Karel Frajtak, Pavel Tisnovsky, and et al. 2021. "On Microservice Analysis and Architecture Evolution: A Systematic Mapping Study" Applied Sciences 11, no. 17: 7856. https://doi.org/10.3390/app11177856
APA StyleBushong, V., Abdelfattah, A. S., Maruf, A. A., Das, D., Lehman, A., Jaroszewski, E., Coffey, M., Cerny, T., Frajtak, K., Tisnovsky, P., & Bures, M. (2021). On Microservice Analysis and Architecture Evolution: A Systematic Mapping Study. Applied Sciences, 11(17), 7856. https://doi.org/10.3390/app11177856