Аналіз наявних методів і засобів забезпечення відмовостійкості мікросервісного програмного забезпечення

Ключові слова: мікросервісна архітектура, надійність програмного забезпечення, розподілені системи, тестування, методи забезпечення відмовостійкості

Анотація

Проаналізовано літературні джерела, в яких досліджено методи та засоби забезпечення відмовостійкості мікросервісного програмного забезпечення. З'ясовано, що мікросервісна архітектура пропонує переваги у масштабованості та гнучкості, але водночас створює нові виклики у забезпеченні безперебійної роботи через розподілений характер та численні потенційні точки відмови. Оцінено вплив різних класифікацій відмов (миттєві, періодичні, тривалі) на вибір та ефективність методів забезпечення відмовостійкості (англ. Fault Tolerance). Охарактеризовано закономірності розвитку методів забезпечення відмовостійкості, в т.ч. й реактивні методи (повторні спроби, вимикачі ланцюгів), які спрямовані на відновлення після збою, проактивні методи (балансування навантаження, резервування), що прагнуть запобігти збоям шляхом розподілу навантаження та створення резервних копій, а також методи тестування (функціональне тестування, інженерія хаосу), які дають змогу виявляти потенційні проблеми до їх виникнення в робочому середовищі. Докладно проаналізовано переваги та недоліки кожного з цих методів, виявлено їх особливості, а також сфери застосування. Досліджено, що хоча ці методи ефективні в певних ситуаціях, жоден з них не є універсальним рішенням для всіх типів відмов. Це вказує на потребу у комплексному підході, який би враховував специфіку мікросервісної архітектури, вимоги до системи та типи можливих відмов. Визначено ключові проблеми, що потребують подальшого дослідження, такі як розроблення комплексних підходів, що враховують специфіку мікросервісної архітектури, автоматизація процесів виявлення та виправлення помилок, а також зниження вартості запровадження методів забезпечення відмовостійкості. Запропоновано перспективні напрями досліджень, зокрема розроблення нових методів і інструментів, які враховують особливості мікросервісної архітектури та забезпечують високий рівень відмовостійкості за оптимальної вартості, а також дослідження методів раннього виявлення потенційних проблем, таких як безперервне функціональне з використанням інтеграції помилок.

Завантаження

Дані завантаження ще не доступні.

Біографії авторів

О. М. Кузьмич, Національний університет "Львівська політехніка", м. Львів

магістр, аспірант, кафедра програмного забезпечення

М. М. Сенів, Національний університет "Львівська політехніка", м. Львів

канд. техн. наук, доцент, кафедра програмного забезпечення

Посилання

Akuthota, A. (2023). Chaos Engineering for Microservices. Culminating Projects in Computer Science and Information Technology, 42, 13–21. URL: https://repository.stcloudstate.edu/csit_etds/42

Amaral, M., Pardal, M. L., Mercier, H., & Matos, M. (2020). FaultSee: Reproducible Fault Injection in Distributed Systems. 2020 16th European Dependable Computing Conference (EDCC), Munich, Germany, 25–32. https://doi.org/10.1109/edcc51268.2020.00014

Ataallah, S. M. A., Nassar, S. M., & Hemayed, E. E. (2015). Fault tolerance in cloud computing – survey. 2015 11th International Computer Engineering Conference (ICENCO). https://doi.org/10.1109/icenco.2015.7416355

Baboi, M., Iftene, A., & Gîfu, D. (2019). Dynamic Microservices to Create Scalable and Fault Tolerance Architecture. Procedia Computer Science, 159, 1035–1044. https://doi.org/10.1016/j.procs.2019.09.271

Bouizem, Y. (2022). Fault tolerance in FaaS environments. Thèse de doctorat de, Université Rennes, 135. URL: https://theses.hal.science/tel-03882666/file/BOUIZEM_Yasmina.pdf

Dubois, S. (2011). Tolerating Transient, Permanent, and Intermittent Failures. Masters thesis. Université Pierre et Marie Curie. URL: https://theses.hal.science/tel-00663317/document

Falahah, Surendro, K., & Sunindyo, W. D. (2021). Circuit Breaker in Microservices: State of the Art and Future Prospects. IOP Conference Series: Materials Science and Engineering, 1077(1). https://doi.org/10.1088/1757-899x/1077/1/012065

Garg, R., & Kumar, P. (2010). A Review of Checkpointing Fault Tolerance Techniques in Distributed Mobile Systems. International Journal on Computer Science and Engineering (IJCSE), 2(4), 1052–1063. URL: https://www.researchgate.net/publication/49619228_A_Review_of_Checkpointing_Based_Fault_Tolerance_Techniques_in_Mobile_Distributed_Systems

Giamattei, L., Guerriero, A., Pietrantuono, R., & Russo, S. (2023, January). Automated functional and robustness testing of microservice architectures. Journal of Systems and Software, 207. https://doi.org/10.1016/j.jss.2023.111857

ISO/IEC. (2023). Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – Product quality model (ISO/IEC 25010: 2023). URL: https://www.iso.org/obp/ui/#iso:std:iso-iec:25010:ed-2:v1:en

Khuran, D., & Shukla, A. (2016). A Survey on Fault Injection and Bebugging. International Journal of Innovations in Engineering and Technology (IJIET), 7(3), 283–288. URL: https://ijiet.com/wp-content/uploads/2017/01/40.pdf

Kozlov, M. (2022). Increasing the reliability of the microservice architecture of the educational platform. Masters thesis. Odesa I.I. Mechnikov National University. URL: https://dspace.onu.edu.ua/items/3de1b788-e1ab-4794-9221-e6ee0edb632 f

Kozlov, M., & Petrushuna, T. (2022). Analysis of some methods of increasing the reliability of the microservice architecture of a web application. Informatics, Information Systems and Technologies. Nineteenth All-Ukrainian Conference of Students and Young Scientists, 103–104. URL: https://onu.edu.ua/pub/bank/userfiles/files/fmfit/naukova_diyalnist/konferenc/Zbirka_tez_IIS_T-2022.pdf

Kumari, P., & Kaur, P. (2018). A survey of fault tolerance in cloud computing. Journal of King Saud University – Computer and Information Sciences, 33(10), 1159–1176. https://doi.org/10.1016/j.jksuci.2018.09.021

Kuzmych, O. M., Lakhai, V. Y., & Seniv, M. M. (2023). Improved approach to automated software integration testing under the conditions of serverless architecture. Scientific Bulletin of UNFU, 33(3), 97–101. https://doi.org/10.36930/40330314

Livora, T. (2016). Fault Tolerance in Microservices. Masters thesis, Masaryk University, 76. URL: https://is.muni.cz/th/ubkja/masters-thesis.pdf

Loukides, M. (2023). Technology Trends for 2023. What OReilly Learning Platform Usage Tells Us About Where the Industry Is Headed. OReilly. URL: https://www.oreilly.com/radar/technology-trends-for-2023/

Miraj, M., & Fajar, A. (2022). Model-based resilience pattern analysis for fault tolerance in reactive microservice. Journal of Theoretical and Applied Information Technology, 100(9), 3075–3093. URL: https://www.jatit.org/volumes/Vol100No9/30Vol100No9.pdf

Mohammadian, V., Navimipour, N. J., Hosseinzadeh, M., & Darwesh, A. (2022). Fault-Tolerant Load Balancing in Cloud Computing: A Systematic Literature Review. Access, 10, 12714–12731. https://doi.org/10.1109/access.2021.3139730

Molchanov, H., & Zhmaiev, A. (2018). CIRCUIT BREAKER IN SYSTEMS BASED ON MICROSERVICES ARCHITECTURE. Advanced Information Systems, 2(4), 74–77. https://doi.org/10.20998/2522-9052.2018.4.13

Sharma, P., & Prasad, R. (2023). Techniques for Implementing Fault Tolerance in Modern Software Systems to Enhance Availability, Durability, and Reliability. Eigenpub Review of Science and Technology, 7(1), 239–251. URL: https://studies.eigenpub.com/index.php/erst/article/view/33

Troubitsyna, E. (2019). Model-Driven Engineering of Fault Tolerant Microservices. The Fourteenth International Conference on Internet and Web Applications and Services (ICIW). URL: https://personales.upv.es/thinkmind/dl/conferences/iciw/iciw_2019/iciw_2019_1_10_20069.pdf

Ugrynovsky, B. (2022). Methods and means of increasing the reliability of software, taking into account the process of its software aging. Thesis paper for achievement of the scientific degree Doctor of Philosophy in the specialty 121 Software Engineering. Lviv Polytechnic National University, 194. URL: https://lpnu.ua/sites/default/files/2022/radaphd/19620/dissertation-uhrynovskyi-rc-6.pdf

Опубліковано
2024-05-23
Як цитувати
Кузьмич, О. М., & Сенів, М. М. (2024). Аналіз наявних методів і засобів забезпечення відмовостійкості мікросервісного програмного забезпечення. Scientific Bulletin of UNFU, 34(5), 84-89. https://doi.org/10.36930/40340511
Розділ
Інформаційні технології

Статті цього автора (авторів), які найбільше читають