Висока доступність в мікросервісній архітектурі
Анотація
Метою роботи було дослідження підходів до забезпечення високої доступності мікросервісних систем з акцентом на стійкість до відмов, масштабування і безперервну роботу сервісів. У дослідженні застосовано порівняльно-аналітичний метод, аналізу технічних рішень забезпечення високої доступності, систематизації характеристик платформ оркестрації контейнерів і оцінки інструментів балансування навантаження за критеріями продуктивності, гнучкості, надійності та інтеграційної зручності. Досліджено fault-tolerance патерни – retry, circuit breaker і fallback – які забезпечують гнучке управління помилками, знижують ризик каскадних відмов і підтримують безперервність роботи систем. Встановлено, що поведінка fault-tolerance патернів залежить від конфігурації параметрів виконання, таких як таймаути, ліміти повторних спроб і умови активації fallback-механізмів. Оцінено ефективність таких інструментів, як NGINX, HAProxy, Envoy та Amazon Web Services Elastic Load Balancing, з огляду на їх вплив на масштабованість і стійкість архітектури, а також можливості автоматичного масштабування на прикладі хмарних платформ Amazon Web Services і Google Cloud. Виявлено, що вбудовані сервіси autoscaling забезпечують стабільну роботу сервісів при змінному навантаженні та дозволяють оперативно реагувати на пікові навантаження. Надано огляд оркестраторів контейнерів (Kubernetes, OpenShift, Amazon EСS), серед яких Kubernetes визнано найбільш ефективним завдяки підтримці механізмів самовідновлення, розподіленого розгортання, health checks та інтеграції з CI/CD. Результати дослідження можуть слугувати аналітичною основою для проєктування стійких мікросервісних архітектур у хмарному та корпоративному середовищах з метою підвищення надійності, масштабованості та безперервності бізнес-процесів
Ключові слова
платформа оркестрації контейнерів; розподілене розгортання; масштабування; моніторинг; балансування навантаження
Використані джерела
- Al-Harbi, F., & Al-Qahtani, A. (2024). Software-defined storage (SDS): Architecture, benefits, and leading platforms. International Journal of Informatics and Data Science Research, 1(8), 36-49.
- Arugula, B. (2024). Architecting for resilience: Designing fault-tolerant systems in multi-cloud environments. International Journal of Emerging Trends in Computer Science and Information Technology, 5(2), 113-121. doi: 10.63282/3050-9246.IJETCSIT-V5I2P112.
- Bagai, R. (2024). Comparative analysis of AWS model deployment services. International Journal of Computer Trends and Technology, 72(5), 102-110. doi: 10.14445/22312803/ijctt-v72i5p113.
- Barua, B., & Kaiser, M.S. (2024). Enhancing resilience and scalability in travel booking systems: A microservices approach to fault tolerance, load balancing, and service discovery. ArXiv. doi: 10.48550/ arXiv.2410.19701.
- De Souza Miranda, F., dos Santos, D.S., Vilela, R.F., Guez Assunção, W.K., dos Santos, R.C., & Costa Pinto, V.H.S. (2024). A proposed catalog of development patterns for fault-tolerant microservices. In SBQS ‘24: Proceedings of the XXIII Brazilian symposium on software quality (pp. 406-416). New York: Association for Computing Machinery.doi: 10.1145/3701625.3701678.
- Foka, M.K. (2024). Research on the effectiveness and advantages of microservice architecture in Web applications. (Master’s thesis, Zaporizhzhia National University, Zaporizhzhia, Ukraine).
- Kansal, S., & Balasubramaniam, V.S. (2024). Microservices architecture in large-scale distributed systems: Performance and efficiency gains. Journal of Quantum Science and Technology (JQST), 1(4), 633-663. doi: 10.63345/ jqst.v1i4.139.
- Kovalenko, A.M. (2021). Methods and tools for auditing the security of the Kubernetes automatic container orchestration system. (Masters’s dissertation, Igor Sikorsky Kyiv Polytechnic Institute, Kyiv, Ukraine).
- Kuppam, M. (2024). The resilient design techniques. In Enterprise digital reliability (pp. 87-115). Berkley: Apress. doi: 10.1007/979-8-8688-1032-9_4.
- Li, J. (2025). Research on optimization model of high availability and flexibility of blockchain system based on microservice architecture. Procedia Computer Science, 261, 207-216. doi: 10.1016/j.procs.2025.04.191.
- Liu, G., Huang, B., Liang, Z., Qin, M., Zhou, H., & Li, Z. (2020). Microservices: Architecture, container, and challenges. In 2020 IEEE 20th international conference on software quality, reliability and security companion (QRS-C) (pp. 629-635). Macau: IEEE. doi: 10.1109/QRS-C51114.2020.00107.
- Márquez, G., Soldani, J., Ponce, F., & Astudillo, H. (2020). Frameworks and high-availability in microservices: An industrial survey. In Proceedings of the XXIII Ibero-American conference on software engineering (CIbSE) (pp. 57-70). Montevideo: Curran Associates.
- Mustyala, A. (2022). CI/CD pipelines in Kubernetes: Accelerating software development and deployment. International Journal of Science and Engineering, 8(3), 1-11. doi: 10.53555/ephijse.v8i3.238.
- Paz, S., & Bernardino, J. (2018). Web platform assessment tools: An experimental evaluation. In T.A. Majchrzak, P. Traverso, K.-H. Krempels & V. Monfort (Eds.), Web information systems and technologies (pp. 45-63). Cham: Springer. doi: 10.1007/978-3-319-93527-0_3.
- Rabiu, S., Yong, C.H., & Mohamad, S.M.S. (2022). A cloud-based container microservices: A review on loadbalancing and auto-scaling issues. International Journal on Data Science, 3(2), 80-92. doi: 10.18517/ ijods.3.2.80-92.2022.
- Raj, P., & David, G.S.S. (2021). Engineering resilient microservices toward system reliability: The technologies and tools. In R. Achary & P. Raj (Eds.), Cloud reliability engineering: Technologies and tools (pp. 77-116). Bora Raton: CRC Press. doi: 10.1201/9781003030973-3.
- Roda-Sanchez, L., Garrido-Hidalgo, C., Royo, F., Maté-Gómez, J.L., Olivares, T., & Fernández-Caballero, A. (2023). Cloud-edge microservices architecture and service orchestration: An integral solution for a real-world deployment experience. Internet of Things, 22, article number 100777. doi: 10.1016/j.iot.2023.100777.
- Rossi, D. (2020). Consistency and availability in microservice architectures. In M.J. Escalona, F.D. Mayo, T.A. Majchrzak & V. Monfort (Eds.), Web information systems and technologies (pp. 39-55). Cham: Springer. doi: 10.1007/978-3-030-35330-8_3.
- Saboor, A., Hassan, M.F., Akbar, R., Shah, S.N.M., Hassan, F., Magsi, S.A., & Siddiqui, M.A. (2022). Containerized microservices orchestration and provisioning in cloud computing: A conceptual framework and future perspectives. Applied Sciences, 12(12), article number 5793. doi: 10.3390/app12125793.
- Seliviorstrova, T., & Krasnoshapka, N. (2023). Aspects of designing scalable microservices architecture for web services. Information Technology Computer Science Software Engineering and Cyber Security, 4, 58-66. doi: 10.32782/it/2023-4-7.
- Singh, N., Hamid, Y., Juneja, S., Srivastava, G., Dhiman, G., Gadekallu, T.R., & Shah, M.A. (2023). Load balancing and service discovery using Docker Swarm for microservice based big data applications. Journal of Cloud Computing Advances Systems and Applications, 12, article number 4. doi: 10.1186/s13677022-00358-7.
- Suleiman, N., & Murtaza, Y. (2024). Scaling microservices for enterprise applications: Comprehensive strategies for achieving high availability, performance optimization, resilience, and seamless integration in large-scale distributed systems and complex cloud environments. Applied Research in Artificial Intelligence and Cloud Computing, 7(6), 46-82.
- Talaver, O.V., & Vakaliuk, T.A. (2023). Reliable distributed systems: Review of modern approaches. Journal of Edge Computing, 2(1), 84-101. doi: 10.55056/jec.586.
- Truyen, E., van Landuyt, D., Preuveneers, D., Lagaisse, B., & Joosen, W. (2019). A comprehensive feature comparison study of open-source container orchestration frameworks. Applied Sciences, 9(5), article number 931. doi: 10.3390/app9050931.
- Vangala, R.R. (2018). Adaptive resilience framework: A comprehensive study on dynamic orchestration and auto-scaling of microservices in cloud-native systems. International Journal of Computer Engineering and Technology, 9(6), 278-288.
- Wang, Y., Kadiyala, H., & Rubin, J. (2021). Promises and challenges of microservices: An exploratory study. Empirical Software Engineering, 26, article number 63. doi: 10.1007/s10664-020-09910-y.
- Waseem, M., Liang, P., Shahin, M., Di Salle, A., & Márquez, G. (2021). Design, monitoring, and testing of microservices systems: The practitioners’ perspective. Journal of Systems and Software, 182, article number 111061. doi: 10.1016/j.jss.2021.111061.
- Zhou, N., Georgiou, Y., Pospieszny, M., Zhong, L., Zhou, H., Niethammer, C., Pejak, B., Marko, O., & Hoppe, D. (2021). Container orchestration on HPC systems through Kubernetes. Journal of Cloud Computing Advances Systems and Applications, 10, article number 16. doi: 10.1186/s13677-021-00231-z.