Статья опубликована в рамках: CLXXXVIII Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 16 мая 2024 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
МАСШТАБИРОВАНИЕ ВЫЧИСЛИТЕЛЬНЫХ МОЩНОСТЕЙ РАСПРЕДЕЛЕННОЙ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ МОНИТОРИНГА РАСХОДА ТОПЛИВА В ТРАНСПОРТНОЙ КОМПАНИИ.
SCALING THE COMPUTING POWER OF A DISTRIBUTED AUTOMATED FUEL CONSUMPTION MONITORING SYSTEM IN A TRANSPORT COMPANY
Nikita Zabelin
student, Department of Computational Mathematics and Programming, Moscow Aviation Institute,
Russia, Moscow
Tatiana Chernova
scientific supervisor, Dr. Tech. sciences, associate professor, Moscow Aviation Institute,
Russia, Moscow
АННОТАЦИЯ
В условиях современных реалий, каждая компания, работающая с потоками данных, отличающихся по интенсивности, должна решить проблему перерасхода или недостатка вычислительных ресурсов. Горизонтальное масштабирование с применением модуля, осуществляющего мониторинг нагрузки и регулирование количества мощностей системы – это решение данной проблемы.
ABSTRACT
In the conditions of modern realities, every company working with data streams that differ in intensity must solve the problem of overspending or lack of computing resources. Horizontal scaling using a module that monitors the load and regulates the amount of system capacity is the solution to this problem.
Ключевые слова: масштабируемость, облачные платформы, горизонтальное масштабирование, мониторинг нагрузки, Kubernetes.
Keywords: scalability, cloud platforms, horizontal scaling, load monitoring, Kubernetes.
ВВЕДЕНИЕ
На данный момент очень большое количество компаний работают с непрерывным потоком данных от клиентов, собственных филиалов или “Интернет вещей”. В какой-то момент перед каждой из них встает вопрос: “Как можно финансово оптимизировать этот процесс без ухудшения качества обслуживания?”. Ответом на поставленный вопрос будет перемещение затрагиваемой инфраструктуры на облачные платформы и организация там динамически масштабируемой системы. Далее возникает непредвиденная сложность, алгоритмы динамического масштабирования могут не подходить для потребностей конкретно взятой компании.
ПРОБЛЕМАТИКА ПОТОКА ДАННЫХ ТРАНСПОРТНОЙ КОМПАНИИ
Как мы выяснили ранее, не всем компаниям подходят алгоритмы динамического масштабирования, предложенные современными облачными решениями. Заключается это в интенсивности получения информации транспортной компании – она может сильно варьироваться, в течение дня, месяца, года. Стандартные средства облачных платформ не предоставляют возможности гибкой настройки количества рабочих мощностей в определенный период времени при определенной нагрузке. С решением данной проблемы может справиться дополнительный программный модуль с доступом, как к информации о текущем входящем потоке данных, так и к управлению количеством рабочих мощностей.
ВЫБОР ТЕХНОЛОГИЙ
Для выполнения всех вышеперечисленных условий выберем облачную платформу Yandex Cloud и системы контейнеризации Docker, орекстровки Kubernetes и мониторинга Prometheus. Каждая из них была отобрана по ряду критериев. Yandex Cloud – отечественная облачная платформа с возможностью развертывания высоконагруженных распределенных систем, Docker – позволит унифицировать наши рабочие мощности, для их быстрого размещения, Kubernetes – система, предоставляющая управление развернутыми мощностями и балансировку нагрузки между ними, Prometheus – гибкое решение для получения необходимой информации о текущем состоянии каждого узла в системе.
КОНТРОЛИРУЮЩИЙ МОДУЛЬ
Самой важной частью данной системы является контролирующий модуль. Модулем он является так как он присоединяется к API выбранных ранее систем и на прямую не вмешивается в процесс их работы. Из себя он представляет часть непосредственного мониторинга и регулирования и “frontend” для визуализации и конфигурирования процесса работы.
Наиболее интересной частью является файл конфигурации модуля. По сути своей это набор определенных правил, по которым будут регулироваться вычислительные мощности. Всего есть три вида правил: количество запросов в секунду, используемое процессорное время и шаблон даты. Последнее правило работает по принципу подходящей по шаблону дате, например, если в правиле записан шаблон {“year”: “2024”, “month”: “01”}, это значит, что оно применяется для всего января 2024 года. Первые два правила работаю по принципу соответствия запросов в секунду или использования процессора и количества рабочих мощностей для них. В случае если правила пересекаются друг с другом коллизию можно разрешить определенной политикой: в пользу большего значения, в пользу меньшего значения или вычисление среднего между ними. Также в файле конфигурации присутствуют значения интервала времени между запросами метрик системы и максимальным шагом наращивания или отключения рабочих мощностей. Последнее значение предназначено для нивелирования скачкообразных изменений потока данных.
Рисунок 1. Пример конфигурации
ДЕМОНСТРАЦИЯ РАБОТЫ
Так как администратор данной системы должен иметь возможность удобно ей пользоваться, “frontend” часть отображает графики нагрузки и соответствующее им количество развернутых мощностей.
Проведем два различных теста: первый будет заключаться в изначальном конфигурировании модуля на определенную нагрузку в определенное время, а второй в подборе более точного соответствия рабочих мощностей входящему потоку данных.
Рисунок 2. Нагрузка на мощности в 1 варианте
Рисунок 3. Нагрузка на мощности во 2 варианте
Мы можем здесь наблюдать, что первый вариант лучше справился со предупреждением нагрузки, но не всегда есть возможность достоверно точно предсказать необходимое количество развернутых узлов. Тем не менее даже второй вариант дал лучший результат, чем классическое увеличение числа мощностей, производя мониторинг нагрузки.
ЗАКЛЮЧЕНИЕ
Динамическое масштабирование вычислительных мощностей является неотъемлемой частью любой современной крупной компании, работающей с изменяющимся потоком входящих данных. К сожалению, далеко не все платформы предоставляют возможность регулировать численность рабочих узлов в соответствии с требованиями их пользователей. Решением данной проблемы является программный модуль, который производит мониторинг заданных метрик и, в соответствии с ними, регулирует необходимое количество развернутых мощностей. В совокупности с визуализацией работы и возможностью конфигурирования в режиме реального времени, такой подход можно назвать наиболее оптимальным.
Список литературы:
- Сидоров, О. В. Реализация алгоритмов динамического горизонтального автомасштабирования в распределенных системах // Конференция "Вычислительные методы и вычислительная математика". - 2015. - С. 220-225.
- Тихонов, П. С. Моделирование процессов динамического горизонтального автомасштабирования // Журнал "Информационные технологии в управлении". - 2014. - №9. - C. 32-37.
- Ушаков, И. Р. Структура систем динамического горизонтального автомасштабирования // Сборник "Системный анализ и управление в информационных технологиях". - 2009. - С. 142-147.
- Федоров, В. Н. Эффективность применения динамического горизонтального автомасштабирования в вычислительных системах // Конференция "Информационные технологии и телекоммуникации". - 2016. - С. 250-255.
дипломов
Оставить комментарий