ГРУПУВАННЯ МІКРОПОСЛУГ ДЛЯ ВИКОРИСТАННЯ НЕПОВНО ЗАЛУЧЕНИХ РЕСУРСІВ
DOI:
https://doi.org/10.17721/AIT.2024.1.08Ключові слова:
групування мікросервісів, процесорна ефективність, оптимізація використання енергії, хмарні системи, мікросервісна архітектура.Анотація
В с т у п . Завдання оптимізації використання ресурсів хмарних систем має високий пріоритет, оскільки ця технологія стала широко розповсюдженою та легкодоступною. Поширеною практикою є створення ефективних сервісів, які легко адаптуються до різних типів продуктів, наприклад, безсерверні (serverless) технології, пропрієтарні бази даних і програмне забезпечення, оптимізоване для хмари. Тестування продуктивності хмарних застосунків стало значно простішим із появою Docker і Kubernetes, що додатково збільшило попит на хмарні ресурси. Оскільки значна кількість ресурсів витрачається на розроблення й обслуговування хмарної інфраструктури, важливо розуміти, як ці ресурси можна оптимізувати. М е т о д и . Основна ідея полягає в реорганізації хмарної інфраструктури так, щоб програмне забезпечення розподілялося по серверних групах, а не серверах, за принципом комплементарності, що означає наближення навантаження на апаратне забезпечення до повного. Для формування комплементарних груп використовують методи кластеризації (K-Means), задача про множинний рюкзак, жадібний алгоритм, сортування, бінарний пошук, перемішування та поділ на основі середнього значення та стандартного відхилення. Додатково для візуалізації пропонують алгоритми FastDTW та Z-масштабування. Р е з у л ь т а т и . Розглянуто ключові характеристики комп’ютерних систем, які можна виміряти та на які можна впливати. Ці характеристики включають пропускну здатність каналів передачі, оцінку продуктивності на основі затримки, обсяг оперативної та постійної пам’яті, обчислювальну потужність і кількість ядер. Запропоновано алгоритм для визначення комплементарних екземплярів мікросервісів, які могли б ефективно використовувати серверні ресурси. Спочатку екземпляри мікросервісів класифікують за їх місткістю ключового ресурсу. В и с н о в к и . Запропоновано алгоритм, який оптимізує використання ресурсів хмарної системи за допомогою ефективного розподілу навантаження доповнених мікросервісів між різними серверними групами. Оптимізація полягає в максимізації застосування серверних ресурсів шляхом заповнення його вільного часу іншими мікросервісами й, отже, зменшенням простою серверів. Це, своєю чергою, сприятиме покращенню загальної продуктивності хмари та зменшенню витрат на обслуговування хмарних інфраструктур. Наведений підхід застосовують як до мікросервісів, так і до монолітів, з описаними мінімальними змінами. Цей алгоритм може бути корисним для постачальників хмарних послуг та організацій, які використовують хмарні середовища для розгортання своїх застосунків.Завантажити
Посилання
Aspire Systems. (2023, June 22). Microservices Architecture: The Foundation of Cloud-Native Applications. Software Engineering. https://blog.aspiresys.com/ software-product-engineering/microservices-architecture-the-foundation-of-cloud-native-applications/
Cacchiani, V., Iori, M., Locatelli, A., & Martello, S. (2022). Knapsack problems – An overview of recent advances. Part II: Multiple, multidimensional, and quadratic knapsack problems. Computers & Operations Research,143, 105693. https://doi.org/10.1016/j.cor.2021.105693
Dmytrenko, O., & Skulysh, M. (2024a). Method of Grouping Complementary Microservices Using Fuzzy Lattice Theory. In E. Siemens (Eds). International Conference on Applied Innovations in IT (ICAIIT), 12(1), 11–18. Anhalt University of Applied Sciences Bernburg / Koethen / Dessau. https://doi.org/10.25673/115636
Dmytrenko, О., & Skulysh, M. (2024b). Methods of data collection and implementation of accomplishing loads algorithm. Control, Navigation and Communication Systems. Academic Journal, 4(78), Article 78. https://doi.org/10.26906/SUNZ.2024.4.056
Dmytrenko, O., Skulysh, M., & Globa, L. (2024). Microservice Complimentary Groups Determination Algorithm for the Effective Resource Usage. In I. Sinitsyn & P. Andon (Eds.), Proceedings of the 14th International Scientific and Practical Programming Conference (UkrPROG 2024) (Vol. 3806, pp. 180–201). CEUR. https://ceur-ws.org/Vol-3806/#S_55_Dmytrenko_Skulysh_Globa
Levitin, G., Xing, L., & Dai, Y. (2014). Cold vs. Hot standby mission operation cost minimization for 1-out-of-N systems. European Journal of Operational Research, 234(1), 155–162. https://doi.org/10.1016/j.ejor.2013.10.051
Ozdemir, S., & Susarla, D. (2018). Feature Engineering Made Easy. Packt Publishing. https://www.oreilly.com/library/view/feature-engineering-made/9781787287600/ Salvador, S., & Chan, P. (2004). Toward Accurate Dynamic Time Warping in Linear Time and Space. In Intelligent Data Analysis (Vol. 11, p. 80).
Sharma, Y. (2023, September 26). Key Strategies for Implementing AWS Network Load Balancer [AWS Community Builders]. DEV Community. https://dev.to/aws-builders/key-strategies-for-implementing-aws-network-load-balancer-35fc
Skulysh, M. A., & Dmytrenko, O. A. (2024). A Method оf Organisation оf Microservices оn Kubernetes Server Groups. Scientific notes of Taurida National
V. I. Vernadsky University. Series: Technical Sciences, 1(5), 291–297. https://doi.org/10.32782/2663-5941/2024.5.1/41
Zieffler, A., & Catalysts for Change. (2019). Statistical Thinking: A Simulation Approach to Modeling Uncertainty (UM STAT 216 edition) (4.2). ). In National Science Foundation (Eds.). MN: Catalyst Press. https://bookdown.org/frederick_peck/textbook/the-mean-and-standard-deviation.html MN: Catalyst Press. https://bookdown.org/frederick_peck/textbook/the-mean-and-standard-deviation.html
United Nations Development Programme. (2024). Goals of sustainable development. UNDP. https://www.undp.org/uk/ukraine/tsili-staloho-rozvytku
Опубліковано
Номер
Розділ
Ліцензія
Авторське право (c) 2025 Сучасні інформаційні технології
Ця робота ліцензується відповідно до ліцензії Creative Commons Attribution 4.0 International License.