Challenges and Solution Directions of Microservice Architectures: A Systematic Literature Review
Source abstract
Abstract
Microservice architecture (MSA) is an architectural style for distributed software systems, which promotes the use of fine-grained services with their own lifecycles. Several benefits of MSA have been reported in the literature, including increased modularity, flexible configuration, easier development, easier maintenance, and increased productivity. On the other hand, the adoption of MSA for a specific software system is not trivial and a number of challenges have been reported in the literature. These challenges should be evaluated carefully concerning project requirements before successful MSA adoption. Unfortunately, there has been no attempt to systematically review and categorize these challenges and the potential solution directions. This article aims at identifying the state of the art of MSA and describing the challenges in applying MSA together with the identified solution directions. A systematic literature review (SLR) is performed using the published literature since the introduction of MSA in 2014. Overall, 3842 papers were discovered using a well-planned review protocol, and 85 of them were selected as primary studies and analyzed regarding research questions. Nine basic categories of challenges were identified and detailed into 40 sub-categories, for which potential solution directions were explored. MSA seems feasible, but the identified challenges could impede the expected benefits when not taken into account. This study identifies and synthesizes the reported challenges and solution directions, but further research on these directions is needed to leverage the successful MSA adoption.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Software System Performance and Reliability · Software Engineering Research · Advanced Software Engineering Methodologies
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
Department of Computer Engineering, Hacettepe University, 06800 Ankara, Turkey
Information Technology Group, Wageningen University & Research, 6706 PB Wageningen, The Netherlands
References (30)
Show source-provided references
1. Josuttis, N. (2007). Soa in Practice: The Art of Distributed System Design, O’Reilly Media, Inc.
2. Fowler, M., and Lewis, J. (2022, March 17). Microservices. Available online: https://martinfowler.com/articles/microservices.html.
3. Newman, S. (2015). Building Microservices, O’Reilly Media, Inc.. [1st ed.].
4. Evans, E. (2004). Domain-Driven Design: Tackling Complexity in the Heart of Software, Addison-Wesley.
5. Tekinerdogan, B., and Aksit, M. (2002). Classifying and evaluating architecture design methods. Software Architectures and Component Technology, Springer.10.1007/978-1-4615-0883-0_1 ↗
6. Architecting with Microservices: A Systematic Mapping Study10.1016/j.jss.2019.01.001 ↗
7. Villamizar, M., Garcés, O., Castro, H., Verano, M., Salamanca, L., Casallas, R., and Gil, S. (2015, January 21–25). Evaluating the Monolithic and the Microservice Architecture Pattern to Deploy Web Applications in the Cloud. Proceedings of the 2015 10th Computing Colombian Conference (10CCC), Bogota, Colombia.10.1109/ColumbianCC.2015.7333476 ↗
8. Guidelines for Performing Systematic Literature Reviews in Software Engineering
9. Continuous Software Engineering—A Microservices Architecture Perspective10.1002/smr.1866 ↗
10. Microservices Tenets
11. Shadija, D., Rezai, M., and Hill, R. (2017, January 7–8). Towards an Understanding of Microservices. Proceedings of the ICAC 2017—2017 23rd IEEE International Conference on Automation and Computing: Addressing Global Challenges through Automation and Computing, Huddersfield, UK.10.23919/IConAC.2017.8082018 ↗
12. Benevides, R. (2022, March 17). Istio on Kubernetes. Available online: http://bit.ly/istio-kubernetes%0A.
13. Microservices: The Journey so Far and Challenges Ahead10.1109/MS.2018.2141039 ↗
14. Cloud Container Technologies: A State-of-the-Art Review10.1109/TCC.2017.2702586 ↗
15. Systematic Literature Reviews in Software Engineering—A Systematic Literature Review10.1016/j.infsof.2008.09.009 ↗
16. (2022, March 17). Pattern: Saga. Available online: https://microservices.io/patterns/data/saga.html.
17. CAP Twelve Years Later: How the “Rules” Have Changed10.1109/MC.2012.37 ↗
18. Dybå, T., and Dingsøyr, T. (2008, January 9–10). Strength of Evidence in Systematic Reviews in Software Engineering. Proceedings of the 2008 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, Kaiserslautern, Germany.10.1145/1414004.1414034 ↗
19. Tyszberowicz, S., Heinrich, R., Liu, B., and Liu, Z. (2018). Identifying Microservices Using Functional Decomposition, Springer.10.1007/978-3-319-99933-3_4 ↗
20. Aßmann, U., Aksit, M., and Rensink, A. (2005). Integrating Platform Selection Rules in the Model Driven Architecture Approach. Model Driven Architecture. Lecture Notes in Computer Science, Springer.10.1007/11538097 ↗
21. Aksakalli, I.K., Celik, T., Can, A.B., and Tekinerdogan, B. (2021). A Model-Driven Architecture for Automated Deployment of Microservices. Appl. Sci., 11.10.3390/app11209617 ↗
22. Söylemez, M., Tekinerdogan, B., and Kolukısa Tarhan, A. (2022). Feature-Driven Characterization of Microservice Architectures: A Survey of the State of the Practice. Appl. Sci., 12.10.3390/app12094424 ↗
23. 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 ↗
24. The Journal of Systems and Software The Pains and Gains of Microservices: A Systematic Grey Literature Review10.1016/j.jss.2018.09.082 ↗
25. 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 ↗
26. Vural, H., Koyuncu, M., and Guney, S. (2017). A Systematic Literature Review on Microservices, Springer.10.1007/978-3-319-62407-5_14 ↗
27. Bushong, V., Abdelfattah, A.S., Maruf, A.A., Das, D., Lehman, A., Jaroszewski, E., Coffey, M., Cerny, T., Frajtak, K., and Tisnovsky, P. (2021). On Microservice Analysis and Architecture Evolution: A Systematic Mapping Study. Appl. Sci., 11.10.3390/app11177856 ↗
28. A systematic mapping study on microservices architecture in devops10.1016/j.jss.2020.110798 ↗
29. Contextual understanding of microservice architecture: Current and future directions10.1145/3183628.3183631 ↗
30. Mazzara, M., and Meyer, B. (2017). Microservices: Yesterday, Today, and Tomorrow. Present and Ulterior Software Engineering, Springer.10.1007/978-3-319-67425-4 ↗