Challenges and Solution Directions of Microservice Architectures
Keywords:
microservice architecture, service decompositionAbstract
The author is of the opinion that, Microservice architectures (MSAs) is kern out to be a dominant model for designing scalable, resilient, and independently deployable software systems. But the adaptation develops new range of technical and operational challenges which includes service decomposition, inter-service communication, data consistency, fault tolerance, observability, security, and deployment complexity. This paper aims to examines the key challenges related to MSAs and explore potential solution based on peer reviewed research from prominent academic sources, identifying prevailing patterns in architectural best practices, middleware solutions, service orchestration, and emerging technologies such as service mesh and decentralized data management.
Downloads
References
D. Taibi, V. Lenarduzzi, and C. Pahl, "Microservices in agile software development: A workshop-based study into issues, advantages, and disadvantages," in Proceedings of the XP2017 Scientific Workshops, 2017.
H. Knoche and W. Hasselbring, "Drivers and Barriers for Microservice Adoption: A Survey among Professionals in Germany," Enterprise Modelling and Information Systems Architectures, vol. 14, no. 1, pp. 1–35, 2019.
N. Dragoni, S. Giallorenzo, A. L. Lafuente, M. Mazzara, F. Montesi, R. Mustafin, and L. Safina, "Microservices: Yesterday, Today, and Tomorrow," in Present and Ulterior Software Engineering, M. Mazzara and B. Meyer, Eds. Springer, 2017, pp. 195–216.
L. Chen, "Microservices: Architecting for Continuous Delivery and DevOps," in Proceedings of the IEEE International Conference on Software Architecture (ICSA), 2018, pp. 39–397.
A. Balalaie, A. Heydarnoori, and P. Jamshidi, "Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture," IEEE Software, vol. 33, no. 3, pp. 42–52, May 2016.
M. Waseem, P. Liang, M. Shahin, A. Di Salle, and G. Márquez, "Design, Monitoring, and Testing of Microservices Systems: The Practitioners' Perspective," arXiv preprint arXiv:2108.03384, 2021.
N. C. Mendonca, P. Jamshidi, D. Garlan, and C. Pahl, "Developing Self-Adaptive Microservice Systems: Challenges and Directions," IEEE Software, vol. 36, no. 2, pp. 70–79, Mar.–Apr. 2019.
R. M. Parizi, "Microservices as an Evolutionary Architecture of Component-Based Development: A Think-aloud Study," arXiv preprint arXiv:1805.11757, 2018.
D. Shadija, M. Rezai, and R. Hill, "Towards an Understanding of Microservices," arXiv preprint arXiv:1709.06912, 2017.
S. Newman, Building Microservices: Designing Fine-Grained Systems, 1st ed. O'Reilly Media, 2015.
E. Wolff, Microservices: Flexible Software Architecture, Addison-Wesley Professional, 2016.
C. Richardson, Microservices Patterns: With Examples in Java, Manning Publications, 2018.
M. Fowler, "Microservices: a definition of this new architectural term," Mar. 2014. [Online]. Available: https://martinfowler.com/articles/microservices.html
M. Waseem, P. Liang, M. Shahin, A. Di Salle, and G. Márquez, "Design, Monitoring, and Testing of Microservices Systems: The Practitioners' Perspective," arXiv preprint arXiv:2108.03384, 2021.
N. Dragoni, S. Giallorenzo, A. L. Lafuente, M. Mazzara, F. Montesi, R. Mustafin, and L. Safina, "Microservices: Yesterday, Today, and Tomorrow," in Present and Ulterior Software Engineering, M. Mazzara and B. Meyer, Eds. Springer, 2017, pp. 195–216.
L. Chen, "Microservices: Architecting for Continuous Delivery and DevOps," in Proceedings of the IEEE International Conference on Software Architecture (ICSA), 2018, pp. 39–397.
A. Balalaie, A. Heydarnoori, and P. Jamshidi, "Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture," IEEE Software, vol. 33, no. 3, pp. 42–52, May 2016.
M. Waseem, P. Liang, M. Shahin, A. Di Salle, and G. Márquez, "Design, Monitoring, and Testing of Microservices Systems: The Practitioners' Perspective," arXiv preprint arXiv:2108.03384, 2021.
N. C. Mendonca, P. Jamshidi, D. Garlan, and C. Pahl, "Developing Self-Adaptive Microservice Systems: Challenges and Directions," IEEE Software, vol. 36, no. 2, pp. 70–79, Mar.–Apr. 2019.