РОЗРОБКА ПЛАТФОРМИ ДЛЯ ДОСЛІДЖЕННЯ АВТОМАТИЧНОГО МАСШТАБУВАННЯ КОНТЕЙНЕРІВ ТА БАЛАНСУВАННЯ НАВАНТАЖЕННЯ У РОЗПОДІЛЕНИХ СИСТЕМАХ

1
Lviv Polytechnic National University
2
Національний університет «Львівська політехніка»
3
Lviv Polytechnic National University
4
Lviv Polytechnic National University
5
Національний університет «Львівська політехніка»

Забезпечення якості обслуговування (Quality of Service, QoS) визначено як ключове завдання для розподілених систем, оскільки задоволення потреб користувачів є важливим аспектом їх успішного функціонування. Більшість рішень для автомасштабування контейнерів зосереджені на оптимізації ресурсів та управлінні витратами. Проте ці рішення часто не враховують динамічні вимоги користувачів до якості обслуговування (QoS), що призводить до затримок у виділенні ресурсів та зниження якості обслуговування. Існуючі алгоритми автомасштабування та балансування навантаження неадекватно враховують динаміку навантаження, що є суттєвою проблемою. Крім того, традиційні платформи для тестування нових алгоритмів, такі як Azure та AWS, є комерційними та закритими, що обмежує можливості для перевірки інноваційних підходів. У зв’язку з цим існує потреба у відкритих та доступних платформах, які дозволяють дослідникам та розробникам ефективно тестувати та впроваджувати нові алгоритми балансування навантаження та автоматичного масштабування. Для вирішення цих проблем необхідний новий підхід, заснований на глибокому розумінні контексту використання ресурсів та потреб користувачів, що забезпечить високу якість обслуговування та підвищить ефективність розподілених систем. Новизна даної роботи полягає у розробці нової платформи для дослідження методів автоматичного масштабування контейнерів та алгоритмів балансування навантаження. Створена віртуалізована сервісна платформа дозволила на практиці оцінити переваги та недоліки алгоритмів у реальних умовах. Наприклад, використання алгоритму "Round Robin" при затримці запитів у 50 мс призводило до завантаження серверів на 96.2% і середнього часу затримки у 679 мс. Впровадження алгоритму "Weighted Round Robin" та автоматичного масштабування контейнерів дозволило зменшити завантаження серверів до 56.1% та середню затримку до 11.8 мс. Отримані результати можуть стати основою для подальшого розроблення та впровадження алгоритмів у розподілених системах, що дозволить покращити якість обслуговування та загальну ефективність цих систем.

[1]   S. N. Srirama, M. Adhikari, and S. Paul, “Application deployment using containers with auto-scaling for microservices in cloud environment,” J. Netw. Comput. Appl., vol. 160, no. 102629, p. 102629, 2020. https://doi.org/10.1016/j.jnca.2020.102629 .

[2]   E. Casalicchio, “A study on performance measures for auto-scaling CPU-intensive containerized applications,” Cluster Comput., vol. 22, no. 3, pp. 995–1006, 2019, doi: 10.1007/s10586-018-02890-1.

[3]   R. Sampaio, I. Beschastnikh, D. Maier, D. Bourne and V. Sundaresen, "Auto-tuning elastic applications in production," 2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), Melbourne, Australia, 2023, pp. 355-367, doi: 10.1109/ICSE-SEIP58684.2023.00038.

[4]   N. Cruz Coulson, S. Sotiriadis and N. Bessis, "Adaptive Microservice Scaling for Elastic Applications," in IEEE Internet of Things Journal, vol. 7, no. 5, pp. 4195-4202, May 2020, doi: 10.1109/JIOT.2020.2964405.

[5]   M. Klymash, V. Romanchuk, M. Beshley and P. Arthur, "Investigation and simulation of system for data flow processing in multiservice nodes using virtualization mechanisms," 2017 IEEE First Ukraine Conference on Electrical and Computer Engineering (UKRCON), Kyiv, UKraine, 2017, pp. 989-992, doi: 10.1109/UKRCON.2017.8100397.

[6]   M. Beshley, V. Romanchuk, M. Seliuchenko and A. Masiuk, "Investigation the modified priority queuing method based on virtualized network test bed," The Experience of Designing and Application of CAD Systems in Microelectronics, Lviv, Ukraine, 2015, pp. 1-4, doi: 10.1109/CADSM.2015.7230779.

[7]   T. Lorido-Botran, J. Miguel-Alonso, and J. A. Lozano, “A review of auto-scaling techniques for elastic applications in cloud environments,” J. Grid Comput., vol. 12, no. 4, pp. 559–592, 2014, doi: 10.1007/s10723-014-9314-7.

[8]   “Autoscaling,” Microsoft.com. https://learn.microsoft.com/en-us/azure/architecture/best-practices/auto... (accessed Nov. 18, 2023).

[9]   S. Taherizadeh and M. Grobelnik, “Key influencing factors of the Kubernetes auto-scaler for computing-intensive microservice-native cloud-based applications,” Adv. Eng. Softw., vol. 140, no. 102734, p. 102734, 2020, doi: 10.1016/j.advengsoft.2019.102734.

[10]S. Taherizadeh, V. Stankovski and J. Cho, "Dynamic Multi-level Auto-scaling Rules for Containerized Applications," in The Computer Journal, vol. 62, no. 2, pp. 174-197, Feb. 2019, doi: 10.1093/comjnl/bxy043.

[11]J. Dogani, R. Namvar, and F. Khunjush, “Auto-scaling techniques in container-based cloud and edge/fog computing: Taxonomy and survey,” Comput. Commun., vol. 209, pp. 120–150, 2023, doi: 10.1016/j.comcom.2023.06.010.