Microservices Architecture: A Comprehensive Review of Advantages, Challenges, and Best Practices

Soraya Mahmoudi1 Fateme Kermanjani2

1) 1. Master of Architecture, Islamic Azad University, Ilam branch,
2) 2. Master of Architecture, Sarab Azad University, Tabriz, Ilam Municipality Architecture Expert,

Publication : 8th.International Congress On Civil Engineering, Architecture & Urban Development(8icsau.ir)
Abstract :
Microservices architecture (MSA) is an approach to software development that has gained popularity due to its ability to improve scalability, flexibility, and maintainability of software applications. This systematic literature review aims to identify the advantages, challenges, and best practices of MSA design, implementation, and maintenance. A comprehensive search strategy was used to identify 16 articles published between 2014 and 2020, including six systematic reviews and four mapping studies. The articles were analyzed using a thematic synthesis approach, resulting in the identification of six themes: (1) MSA benefits, (2) challenges, (3) architectural considerations, (4) deployment, (5) testing and monitoring, and (6) maintenance. The review identified several advantages of MSA, including improved scalability, fault tolerance, and modularity, as well as the ability to enable rapid deployment and support continuous delivery. However, several challenges were also identified, such as increased complexity, service dependency management, and the need for specialized skills. The review highlighted the importance of considering several architectural considerations when designing MSA, including service decomposition, communication protocols, data management, and security. Moreover, the review emphasized the importance of implementing effective deployment, testing, and monitoring practices to ensure the reliability and performance of MSA. The review also identified best practices for maintaining MSA, including continuous integration and delivery, the use of containerization and orchestration technologies, and the adoption of DevOps culture. However, the review also identified several limitations of MSA, such as the potential for service sprawl, data consistency, and the lack of a standardized approach for designing and implementing MSA. The implications of these findings for theory, practice, and policy are discussed, and several future research directions are identified, such as investigating the impact of MSA on software quality attributes, the development of metrics for measuring MSA performance, and the evaluation of different architectural patterns and deployment strategies. The review also identifies potential areas for improvement in MSA, such as the development of standardized MSA design and implementation guidelines and the integration of MSA with emerging technologies, such as artificial intelligence and blockchain. Overall, this review provides a comprehensive overview of the advantages, challenges, and best practices of MSA design, implementation, and maintenance. The review offers several recommendations for practitioners and researchers working in the field of MSA, such as the importance of considering architectural considerations, effective deployment, testing and monitoring, and adopting best practices for maintenance.
Keywords : Microservices architecture software architecture systematic literature review scalability flexibility maintainability deployment testing monitoring maintenance.