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

Автор: Жигаль Тарас Богданович
Кваліфікаційний рівень: магістр
Спеціальність: Інформаційні системи та технології
Інститут: Інститут комп'ютерних наук та інформаційних технологій
Форма навчання: денна
Навчальний рік: 2024-2025 н.р.
Мова захисту: українська
Анотація: Магістерська робота присвячена розробці та впровадженню інформаційної технології для автоматизації розгортання багатокористувацьких ігор у хмарній інфраструктурі. Робота використовує сучасні практики DevOps, хмарні обчислення та методології безперервної інтеграції/безперервної доставки (CI/CD) для оптимізації процесів розгортання та управління багатокористувацькими іграми [1]. Ці інновації спрямовані на вирішення критичних проблем життєвого циклу розробки ігор, включаючи масштабованість, високу доступність, швидкі ітерації та економічну ефективність. Це дослідження передбачає створення надійної системи, яка інтегрує багатокористувацьку гру, розроблену за допомогою рушія Unity, у масштабоване та відмовостійке хмарне середовище. Система використовує інструменти та технології, які автоматизують конвеєри побудови, тестування та розгортання ігрових серверів, розміщених у хмарі. Ключовою особливістю є динамічне виділення ресурсів за допомогою хмарного балансувальника навантаження та груп автоматичного масштабування, що забезпечує оптимальну продуктивність та доступність серверів при різному навантаженні гравців. Розроблена інфраструктура відстежує продуктивність ігрового сервера в режимі реального часу, збираючи такі показники, як час відгуку сервера, активні з’єднання, використання ресурсів (процесор, пам’ять, дисковий ввід/вивід) та мережеві затримки. Статус виконання конвеєрів відображається через зручний інтерфейс в інструментах CI/CD, таких як GitHub Actions та на пошті, надаючи розробникам розуміння статусу готовності нової збірки та стимулюють до постійного вдосконалення. Конвеєр автоматизації забезпечує безперервний моніторинг репозиторіїв контролю версій, автоматично запускаючи процеси збірки та розгортання при виявленні змін. Ця система підтримує синьо-зелене розгортання, що дозволяє поступово розгортати нові версії гри, мінімізуючи перебої для гравців. Крім того, впроваджене рішення забезпечує безперебійне оновлення, покращує стабільність багатокористувацького досвіду та прискорює цикли зворотного зв’язку [2]. У дослідженні розглядаються найсучасніші хмарні рішення, зокрема Microsoft Azure, для розміщення ігрових серверів завдяки їхній чудовій інтеграції з робочими процесами DevOps, надійній масштабованості та вдосконаленим інструментам для моніторингу та безпеки. Система інтегрується з GitHub Actions, що дозволяє розробникам керувати пайплайнами безпосередньо з репозиторію, спрощуючи співпрацю та підтримуючи високу ефективність робочих процесів розробки програмного забезпечення. Основною метою цієї дипломної роботи є створення автоматизованої системи розгортання багатокористувацької гри, розміщеної в хмарі, що підвищить якість та ефективність розгортання, тестування та масштабування гри. Проект фокусується на використанні комбінації Unity, хмарних сервісів Azure та методологій DevOps для задоволення вимог сучасної розробки багатокористувацьких ігор. Основними завданнями цієї роботи є: 1. Провести ретельний аналіз існуючих методів, інструментів та технологій для розгортання багатокористувацьких ігор у хмарних середовищах. 2. Виконати системний аналіз об’єкту дослідження, визначивши ключові проблеми та вимоги до масштабованого та автоматизованого розгортання. 3. Спроектувати хмарну архітектуру, придатну для розміщення серверів багатокористувацьких ігор, із застосуванням DevOps-практик для автоматизації та моніторингу. 4. Розробити систему, інтегруючи додатки ігрового сервера на основі Unity з хмарною інфраструктурою та конвеєрами CI/CD. 5. Оцінити продуктивність та доступність системи, вимірявши критичні метрики, такі як затримка, стабільність, використання ресурсів. Об’єктом дослідження є процес розгортання та підтримки серверів багатокористувацьких ігор в середовищі хмарних обчислень. Предметом дослідження є методи, інструменти та технології, що використовуються для автоматизованого розгортання багатокористувацьких ігор, з акцентом на інтеграцію CI/CD та оптимізацію хмарних ресурсів. Результатом дипломної роботи є комплексне рішення, яке поєднує в собі багатокористувацьку гру на основі Unity, гнучку до навантажень хмарну інфраструктуру та повністю автоматизований конвеєр CI/CD. Ця система значно підвищує ефективність розробки, тестування та розгортання ігор, забезпечуючи високу доступність, низьку затримку та економічно ефективність. Рішення не лише оптимізує робочі процеси розробки, але й покращує ігровий досвід гравців, мінімізуючи час простою та забезпечуючи безперебійне оновлення.