Vijaya R Varma Pothuri, Rama C Koppula, 2024. "Scalable Microservices Architectures: Building Resilient Distributed Systems for the Modern Web" ESP International Journal of Advancements in Computational Technology (ESP-IJACT) Volume 2, Issue 3: 101-109.
The advancement of technologies on the web and the constant need for modern applications in today’s world made the architects go with the microservices architecture. This architectural style is about decomposing monumental applications into a set of microservices that can be developed, deployed, and scaled separately. Microservices architecture is very beneficial for different SOAs, as it provides better scalability, fault tolerance, and maintainability. However, it is also associated with problems like inter-service communication, consistently replicated data and service discovery. The objective of this paper is to offer a detailed handbook on achieving horizontally scalable and fault-tolerant microservices systems. We start by presenting the main ideas of microservices, including decomposition, data ownership, and fault tolerance. Having established the architectural layers in the cloud foundry platform, we expand into the architectural components: the service registry, the API gateway, the load balancer and the service mesh, and we look at some of the tools that enable the implementation of these components; Docker, Kubernetes, Istio and Jenkins, among others.
[1] Hasselbring, W., & Steinacker, G. (2017, April). Microservice architectures for scalability, agility and reliability in e-commerce. In 2017 IEEE International Conference on Software Architecture Workshops (ICSAW) (pp. 243-246). IEEE..
[2] Salah, T., Zemerly, M. J., Yeun, C. Y., Al-Qutayri, M., & Al-Hammadi, Y. (2016, December). The evolution of distributed systems towards microservices architecture. In 2016 11th International Conference for Internet Technology and Secured Transactions (ICITST) (pp. 318-325). IEEE.
[3] Lewis, J., & Fowler, M. (2014). Microservices: A definition of this new architectural term. Martin Fowler website..
[4] Nginx Inc. (2020). Microservices Reference Architecture. Nginx.
[5] Red Hat. (2018). Building microservices with Istio and Kubernetes.
[6] Pahl, C., & Jamshidi, P. (2016). Microservices: A systematic mapping study. International Conference on Cloud Computing and Services Science.
[7] Scalable Web Architectures Concepts & Design, medium, online. https://medium.com/distributed-knowledge/scalable-web-architectures-concepts-design-6fd372ee4541
[8] Richardson, C. (2016). Microservices Patterns: With examples in Java. Manning Publications.
[9] Newman, S. (2015). Building Microservices: Designing Fine-Grained Systems. O’Reilly Media..
[10] This structure provides a comprehensive and detailed exploration of building scalable microservices architectures, incorporating multiple sub-headings, figures, tables, and flowcharts to elucidate key concepts and practices.
[11] Resiliency in Microservices: A Guide to Circuit Breaker Pattern, Medium, online. https://dip-mazumder.medium.com/best-practices-for-error-handling-a-guide-to-circuit-breaker-patterns-41d45ffc02ac
[12] Guide to Microservices Resilience Patterns, JRebel, online. https://www.jrebel.com/blog/microservices-resilience-patterns
[13] What is Scalability in Cloud Computing? Types, Benefits, and Practical Advice, Nops, online. https://www.nops.io/blog/cloud-scalability/
[14] How to Build Resilient Distributed Systems, axelerant, 2024. Online. https://www.axelerant.com/blog/how-to-build-resilient-distributed-systems
[15] Vemasani, P., & Modi, S. Building Resilient Distributed Systems: Fault-Tolerant Design Patterns for Stateful Workflows.
[16] Tyszberowicz, S., Heinrich, R., Liu, B., & Liu, Z. (2018). Identifying microservices using functional decomposition. In Dependable Software Engineering. Theories, Tools, and Applications: 4th International Symposium, SETTA 2018, Beijing, China, September 4-6, 2018, Proceedings 4 (pp. 50-65). Springer International Publishing.
[17] Asynchronous vs Synchronous Communication: Definitions, Differences, and Examples, Getguru, online. Link
[18] Laigner, R., Zhou, Y., Salles, M. A. V., Liu, Y., & Kalinowski, M. (2021). Data management in microservices: State of the practice, challenges, and research directions. arXiv preprint arXiv:2103.00170.
[19] Malavalli, D., & Sathappan, S. (2015, November). Scalable microservice based architecture for enabling DMTF profiles. In 2015 11th International Conference on Network and Service Management (CNSM) (pp. 428-432). IEEE.
[20] Del Esposte, A. M., Kon, F., Costa, F. M., & Lago, N. (2017, April). Interscity: A scalable microservice-based open source platform for smart cities. In International Conference on Smart Cities and Green ICT Systems (Vol. 2, pp. 35-46). SciTePress.
Microservices, Scalability, Resilience, Distributed Systems, API Gateway, Service Mesh, Container Orchestration, Observability.