Інформаційна система розгортання контейнерних додатків у хмарних безсерверних платформах з використанням локального реєстру та тунелювання

Автор: Стельмах Віталій Дмитрович
Кваліфікаційний рівень: магістр
Спеціальність: Інформаційні системи та технології
Інститут: Інститут комп'ютерних наук та інформаційних технологій
Форма навчання: денна
Навчальний рік: 2025-2026 н.р.
Мова захисту: українська
Анотація: У сучасному світі розробки програмного забезпечення хмарні технології, зокрема контейнеризація та безсерверні архітектури, стали домінуючими парадигмами. Платформи, такі як AWS ECS, Azure App Service for Containers та Azure Container Instances, надають розробникам потужні інструменти для створення масштабованих та ефективних додатків. Однак, попри значні переваги, існуючі процеси розгортання мають низку суттєвих недоліків. Традиційний робочий процес вимагає від розробника не тільки налаштування самого безсерверного ресурсу, але й розгортання та підтримки окремого хмарного реєстру контейнерів. Цей процес є багатоетапним та складним, вимагаючи глибоких знань специфічних інструментів кожного провайдера, таких як aws ecr або az acr. Крім того, використання хмарних реєстрів, таких як Docker Hub, AWS ECR або Azure ACR, пов’язане з прямими фінансовими витратами. Це створює фінансовий бар’єр для індивідуальних розробників та стартапів, а також генерує додаткові витрати для великих компаній. Ця операційна складність створює значне когнітивне навантаження на розробників та негативно впливає на їхній досвід (Developer Experience, DevEx). Найважливіше те, що вона руйнує швидкість ітераційного "внутрішнього циклу" (inner loop), оскільки завантаження образів через інтернет займає значний час. Саме тому виникає потреба в інструментах, які б спрощували та автоматизували цей процес, пропонуючи "безреєстровий" підхід. Ідея полягає в тому, щоб усунути залежність від постійного хмарного реєстру на етапах розробки та тестування. Розробка інструменту командного рядка (CLI), який автоматизує створення локального реєстру, забезпечує до нього тимчасовий публічний доступ через технології тунелювання (наприклад, Ngrok) і самостійно передає необхідні облікові дані хмарній платформі, є надзвичайно актуальною задачею. Об’єкт дослідження – процес розгортання контейнеризованих додатків у хмарних безсерверних обчислювальних середовищах. Предмет дослідження – методи, архітектурні рішення та програмні засоби для автоматизації процесу розгортання контейнерів, що базуються на використанні локального реєстру образів та технологій мережевого тунелювання. Мета дослідження – створення інформаційної системи розгортання контейнерних додатків у хмарних безсерверних платформах з використанням локального реєстру та тунелювання. Результати дослідження. Результатом виконання роботи є спроєктований, розроблений та протестований програмний засіб reger — інструмент командного рядка (CLI), що повністю вирішує поставлену задачу. У ході роботи було проаналізовано існуючі інструменти (Skaffold, Tilt), що підтвердило наявність незайнятої ніші для легкого інструменту, орієнтованого на безсерверні платформи. На основі системного аналізу було розроблено концептуальну модель (UML) та обрано комбінацію методів: декларативної конфігурації (через reger.yaml), оркестрації через CLI та інноваційного "безреєстрового" розгортання. Система реалізована мовою Go з використанням бібліотек Cobra, Viper та офіційних SDK для Docker, AWS і Azure. Найважливішим результатом став кількісний аналіз продуктивності, який довів, що використання reger скорочує час ітераційного циклу розробки приблизно на 45% порівняно з традиційним підходом. Це досягається за рахунок повного усунення найбільш тривалого етапу — завантаження образу до віддаленого хмарного реєстру. Створений інструмент є завершеним програмним продуктом, що покращує досвід розробника (DevEx), роблячи процес розгортання швидшим, дешевшим та ефективнішим. Ключові слова: контейнеризація, безсерверні платформи, розгортання, локальний реєстр, мережеве тунелювання, CLI, Developer Experience. Перелік використаних літературних джерел 1. Tutorial: Deploy an application to Amazon ECS. AWS Documentation: веб-сайт. URL: https://docs.aws.amazon.com/codecatalyst/latest/userguide/deploy-tut-ecs.html (дата звернення: 30.10.2025). 2. Quickstart: Run a custom container on App Service. Azure Docs: веб-сайт. URL: https://docs.azure.cn/en-us/app-service/quickstart-custom-container (дата звернення: 01.11.2025). 3. Amazon ECR Pricing. AWS: веб-сайт. URL: https://aws.amazon.com/ecr/pricing/ (дата звернення: 30.10.2025). 4. Pricing - Container Registry. Microsoft Azure: веб-сайт. URL: https://azure.microsoft.com/en-us/pricing/details/container-registry/ (дата звернення: 02.11.2025). 5. Pricing. Docker: веб-сайт. URL: https://www.docker.com/pricing/ (дата звернення: 02.11.2025). 6. Noda A., Storey M.-A., Forsgren N., Greiler M. DevEX: What Actually Drives Productivity. Communications of the ACM. 2023. Vol. 66, No. 11. P. 44–49. URL: https://cacm.acm.org/practice/devex-what-actually-drives-productivity/ (дата звернення: 03.11.2025).