Інтелектуальна система управління динамічними середовищами розробки програмного забезпечення

Автор: Коблик Іван Андрійович
Кваліфікаційний рівень: магістр (ОНП)
Спеціальність: Системний аналіз (освітньо-наукова програма)
Інститут: Інститут комп'ютерних наук та інформаційних технологій
Форма навчання: денна
Навчальний рік: 2023-2024 н.р.
Мова захисту: українська
Анотація: Прагнення до ефективності, масштабованості та гнучкості були невпинними в умовах розробки програмного забезпечення, що постійно змінюється. З роками парадигма розробки програмного забезпечення зазнала значних змін, зумовлених технологічним прогресом і пошуком оптимального використання ресурсів. Від рудиментарних днів монолітних архітектур до сучасної ери мікросервісів і динамічних середовищ розробки, цей шлях був відзначений невпинним прагненням до інновацій та оптимізації. У динамічних середовищах розробки програмного забезпечення на базі Kubernetes швидке створення та видалення просторів імен (віртуальних кластерів) є звичайним явищем. Однак без належного керування ці простори імен можуть накопичуватися, що призводить до втрати ресурсів і неефективності роботи. Тому існує нагальна потреба в інтелектуальних системах, які могли б контролювати та очищати ці середовища на основі заздалегідь визначених критеріїв. Об’єкт дослідження – процес управління динамічними середовищами розробки програмного забезпечення. Сфера дослідження – методи та засоби управління динамічними середовищами розробки програмного забезпечення. Мета дослідження: проєктування, опис і розробка інтелектуальної системи управління динамічними середовищами розробки програмного забезпечення. Ця магістерська робота зосереджена на розробці інтелектуальної системи управління, адаптованої для динамічних середовищ розробки програмного забезпечення. Зокрема, вона спрямована на створення програми на мові Python, яка відстежує та видаляє простори імен у кластерах Kubernetes на основі попередньо визначених параметрів часу життя (TTL). Крім того, система забезпечує глибоку аналітику щодо використання та життєвого циклу цих середовищ, пропонуючи цінні дані щодо таких показників, як кількість середовищ. Запропонована система буде використовувати Kubernetes API для взаємодії з кластером, отримання інформації про простори імен і пов’язані з ними ресурси. За допомогою механізму TTL система визначить простори імен, які перевищили свій життєвий цикл, та ініціює їх видалення, таким чином оптимізуючи використання ресурсів і підтримуючи чисте та ефективне середовище розробки. Розроблена система представлена у вигляді helm чарту, що містить все необхідне для її роботи. Helm, Tekton і Python були обрані для розробки системи управління динамічним середовищем через їх взаємодоповнюючі переваги. Надійне керування пакетами Helm спрощує розгортання програми Kubernetes, що робить його ідеальним для обробки складних конфігурацій. Потужні конвеєрні можливості Tekton CI/CD забезпечують ефективну автоматизацію. Python, відомий своєю універсальністю та великими бібліотеками, сприяє швидкому розвитку та інтеграції з API Kubernetes. Разом ці інструменти забезпечують масштабоване, ефективне та гнучке рішення для розробки інтелектуальної системи для керування динамічними середовищами розробки програмного забезпечення. У сфері вирішення проблем управління ефемерними ресурсами в кластерах Kubernetes з’явилися різноманітні рішення для вирішення цього складного завдання. Під час розробки системи ці альтернативи були ретельно переглянуті, уважно розглянуті їхні переваги та обмеження. Ця комплексна оцінка гарантувала, що обраний підхід ефективно відповідатиме вимогам, збалансовуючи ефективність, масштабованість і легкість інтеграції. Цей обґрунтований процес відбору був ключовим у створенні надійної й адаптивної системи керування, адаптованої до конкретних потреб кластерів Kubernetes. Також було проведено детальний системний аналіз, визначено ключові компоненти та їх взаємозв’язки. Аналіз запевнив, що остаточне рішення буде ефективним, масштабованим та інтегрованим, відповідаючи мінливим вимогам сучасного бізнесу в галузі інформаційних технологій, одночасно оптимізуючи використання ресурсів і ефективність роботи. Також наведено конкретний приклад застосування розробленої системи, який ілюструє її ефективність і практичність в реальних умовах. Це дозволило зрозуміти, як система може бути реалізована на практиці та які переваги вона може надати користувачам. Ця система матиме значний вплив завдяки своїй здатності змінювати стратегії розробки програмного забезпечення компаній на сучасному ринку, що швидко змінюється. Надаючи інструмент, який підвищує гнучкість і ефективність керування динамічними середовищами розробки програмного забезпечення, система дозволяє бізнесу швидше виводити свої продукти та послуги на ринок. Така гнучкість є ключовою для збереження конкурентних переваг і швидкого реагування на потреби клієнтів і тенденції ринку. Ключові слова: Kubernetes, середовище розробки програмного забезпечення, час життя, кластер, простори імен.