Архітектура сервера автоматизації для оркестрації задач у хмарному середовищі

Автор(и)

  • В. Кінчур КПІ ім. Ігоря Сікорського, Україна
  • І. Стеценко КПІ ім. Ігоря Сікорського, Україна

DOI:

https://doi.org/10.20535/1560-8956.46.2025.323766

Ключові слова:

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

Анотація

Сьогодні більшість інструментів автоматизації реалізує виконання процесів автоматизації в хмарі. Однак кожен з них вимагає внесення постійних чи тимчасових змін до хмарної інфраструктури, що полягає у встановленні агентного (agent/runner) ПЗ в її межах. Це ускладнює первинне налаштування і подальший супровід інструментів. Власне тому актуальною є ідея створення сервера автоматизації, що дозволить виконання процесів автоматизації в межах хмарного середовища без необхідності внесення змін до інфраструктури. У даному науковому дослідженні запропоновано архітектуру сервера автоматизації, що реалізує односторонню взаємодію з хмарою за допомогою нативних засобів оркестраторів контейнерів, не вдаючись до комунікації з окремими вузлами. Таке рішення не вимагає внесення змін до хмарної інфраструктури для її використання сервером автоматизації, тому спрощує налаштування сервера і зменшує кількість використовуваного обчислювального ресурсу. Сервер використовує програмні задачі для опису процесів автоматизації. Кожна задача включає три основних елементи: тригер, середовище виконання, кроки процесу автоматизації. Архітектура сервера автоматизації базується на шаблоні
“Плагін”, в межах якого виділяються два основних елементи – ядро та плагіни. Кожен з плагінів вирішує одну з функціональних задач сервера автоматизації. До таких задач належать інтеграція з середовищем виконання, контроль ходу і розкладу виконання задач, обробка логів і метрик, управління конфігурацією. Розроблена архітектура
може бути використаною для більшості оркестраторів контейнерів, зокрема, у дослідженні розглядається Kubernetes. Сервер використовує Kubernertes API для створення й моніторингу програмних задач у вигляді Kubernetes Pod. Реалізує інтеграцію з Kubernetes Metrics Server та Prometheus для отримання метрик. Налаштування сервера автоматизації полягає у вказанні параметрів підключення до кластера – адреси кластера й токена відповідного Service Account.

Бібл. 16, іл. 3, табл. 2

Посилання

Jenkins User Documentation. URL: https://www.jenkins.io/doc/

GitHub Actions Documentation. URL: https://docs.github.com/en/actions

Use CI/CD to build your application – GitLab. URL: https://docs.gitlab.com/ee/ci/

Bitbucket Cloud Resources. URL: https://support.atlassian.com/bitbucketcloud/resources/

Fowler M., Foemmel M. Continuous integration. 2006

A. Kanitz et al. The GA4GH Task Execution API: Enabling Easy Multi Cloud Task Execution. 2024

Malawski M. Towards Serverless Execution of Scientific Workflows – HyperFlow Case Study. WORKS 2016 Workshop. 2016

H. Zhao et al. Supporting Multi-Cloud in Serverless Computing 2022 IEEE/ACM 15th International Conference on Utility and Cloud Computing

Koskela L. Platform independent job workload management: Master of Science Thesis. 2020. URL: https://trepo.tuni.fi/bitstream/handle/10024/123555/KoskelaLauri.pdf

T. Kiss et al. A cloud-agnostic queuing system to support the implementation of deadline-based application execution policies Elsevier. 2019

Kubernetes Documentation: https://kubernetes.io/docs/home

Fowler M. Plugin. Patterns of enterprise application architecture: pattern Enterpr Applica Arch. 2012. P. 499

Docker Docs. URL: https://docs.docker.com/

Node.js documentation. URL: https://nodejs.org/api/stream.html

Kubernetes Metrics Server. URL: https://kubernetes-sigs.github.io/15/

Overview – Prometheus. URL: https://prometheus.io/docs/introduction/overview/

##submission.downloads##

Опубліковано

2025-02-26