IMPLEMENTING MICROSERVICES ARCHITECTURE: TECHNICAL CHALLENGES AND SOLUTIONS

Authors

DOI:

https://doi.org/10.35546/kntu2078-4481.2024.4.39

Keywords:

monolithic architecture, microservice architecture, service decomposition, inter-service communication, security assurance, distributed data management

Abstract

This paper examines the technical challenges faced by organizations and developers during the implementation of microservices architecture and offers solutions to overcome them. It focuses on key aspects such as service decomposition, inter-service communication, security assurance, and data management in distributed systems. Domain-Driven Design is identified as a critical strategy for segmenting monolithic applications into business-oriented microservices, thereby enhancing the system's maintainability and scalability. The discussion on inter-service communication reveals trade-offs between synchronous and asynchronous methods, noting that while synchronous communication provides immediate feedback, it can lead to delays and potential failures. In contrast, asynchronous strategies improve resilience, scalability, and loose coupling but introduce additional complexity. The research also explores security mechanisms, emphasizing the role of Single Sign-On and API Gateway in simplifying access control and enhancing security in microservice architectures. Furthermore, the paper provides recommendations for addressing the challenges of distributed data management, advocating for event-driven replication and the Saga pattern to ensure data consistency across services, alongside the use of GraphQL, API Gateway, and the CQRS pattern for efficient data aggregation and retrieval. By examining these aspects, the paper underscores the critical importance of a strategic and informed approach to implementing microservices, emphasizing the need to understand the implications of each architectural option for building resilient, scalable, and adaptive software systems.

References

Vural H., Koyuncu M. Does Domain-Driven Design Lead to Finding the Optimal Modularity of a Microservice?. IEEE Access. 2021. Vol. 9. P. 32721–32733. DOI: 10.1109/access.2021.3060895

Mihai I. S. A Systematic Evaluation of Microservice Architectures Resulting from Domain-Driven and Dataflow-Driven Decomposition. Bachelor's thesis. University of Twente, 2023. URL: https://essay.utwente.nl/95827/

Rademacher F., Sachweh S., Zündorf A. Towards a UML Profile for Domain-Driven Design of Microservice Architectures. Software Engineering and Formal Methods. Cham, 2018. P. 230–245. DOI: 10.1007/978-3-319-74781-1_17

Rudrabhatla C. K. Impacts of Decomposition Techniques on Performance and Latency of Microservices. International Journal of Advanced Computer Science and Applications. 2020. Vol. 11, no. 8. DOI: 10.14569/ijacsa.2020.0110803

Newman S. Building Microservices: Designing Fine-Grained Systems. O'Reilly Media, Incorporated, 2021. 616 p

Kazanavičius J., Mažeika D. Evaluation of Microservice Communication While Decomposing Monoliths. Computing and Informatics. 2023. Vol. 42, no. 1. P. 1–36. DOI: 10.31577/cai_2023_1_1

Shafabakhsh B., Lagerström R., Hacks S. Evaluating the Impact of Inter Process Communication in Microservice Architectures. QuASoQ@APSEC. 2020. P. 55–63. URL: https://ceur-ws.org/Vol-2767/07-QuASoQ-2020.pdf

I. Karabey Aksakalli et al Deployment and communication patterns in microservice architectures: A systematic literature review. Journal of Systems and Software. 2021. Vol. 180. P. 111014. DOI: 10.1016/j.jss.2021.111014

Interservice communication. URL: https://learn.microsoft.com/en-us/azure/architecture/microservices/design/interservice-communication

Tereshchenko O., Trintina N. Development Principles of Secure Microservices. CPITS II. 2021. P. 11–20. URL: https://ceur-ws.org/Vol-3188/paper2.pdf

de Almeida M. G., Canedo E. D. Authentication and Authorization in Microservices Architecture: A Systematic Literature Review. Applied Sciences. 2022. Vol. 12, no. 6. P. 3023. DOI: 10.3390/app12063023

Mateus-Coelho N., Cruz-Cunha M., Ferreira L. G. Security in Microservices Architectures. Procedia Computer Science. 2021. Vol. 181. P. 1225–1236. DOI: 10.1016/j.procs.2021.01.320

Chandramouli R. Security strategies for microservices-based application systems. Gaithersburg, MD : National Institute of Standards and Technology, 2019. DOI: 10.6028/nist.sp.800-204

K. Munonye and P. Martinek. Evaluation of Data Storage Patterns in Microservices Archicture. 2020 IEEE 15th International Conference of System of Systems Engineering (SoSE), Budapest, Hungary, 2020. DOI: 10.1109/sose50414.2020.9130516

Challenges and solutions for distributed data management. URL: https://learn.microsoft.com/en-us/dotnet/architecture/microservices/architect-microservice-container-applications/distributed-data-management

Published

2024-12-30