Інформаційна технологія контейнеризації застосунків на основі оптимізованої та удосконаленої архітектури Docker
Автор: Ярема Ілля Віталійович
Кваліфікаційний рівень: магістр
Спеціальність: Інформаційні системи та технології
Інститут: Інститут комп'ютерних наук та інформаційних технологій
Форма навчання: денна
Навчальний рік: 2023-2024 н.р.
Мова захисту: українська
Анотація: Сучасний стан розвитку технологій накладає високі вимоги на швидкість, гнучкість та ефективність розгортання та доставки програмного забезпечення. Контейнеризація застосунків стала вирішальною відповіддю на ці вимоги, оскільки вона дозволяє розробникам пакувати і доставляти додатки швидко та надійно в різноманітні оточення. В контексті постійної еволюції та оптимізації інфраструктури, що підтримує такі технології, Docker стоїть на передовій, надаючи потужні та легкі засоби для контейнеризації [1]. Наразі багато організацій та розробників вже інтегрували Docker у свої робочі процеси, але постійно зростаючі вимоги до продуктивності, безпеки та масштабованості вимагають від цієї технології постійного удосконалення. Розробка оптимізованих та удосконалених архітектурних рішень контейнеризації є ключовим кроком до покращення цих аспектів і відкриває нові можливості для ефективності бізнесу [2]. Здійснено ґрунтовний огляд наукових публікацій, фахових матеріалів та інших ресурсів, які мають відношення до теми дипломної роботи. Аналіз цих матеріалів підкреслив важливість і виклики, з якими стикаються фахівці у сфері контейнеризації застосунків, особливо в контексті використання Docker. Виявлено, що ключовою задачею є забезпечення високої ефективності та оптимального використання ресурсів під час розгортання та управління застосунками. Здійснено системний аналіз інформаційної технології контейнеризації застосунків, що базується на оптимізованій архітектурі Docker. В основу дослідження було покладено методологію побудови дерева цілей, яке визначило головну мету - "Розробка оптимізованої системи контейнеризації застосунків". Ця мета була деталізована через розбиття на більш конкретні підцілі, кожна з яких була детально розглянута. У ході аналітичної роботи було визначено ключові якісні характеристики системи, включаючи її актуальність, інноваційність, зручність, надійність і безперервність роботи. Для досягнення високої рівня деталізації функцій та взаємодій в системі, були розроблені різні типи UML діаграм. Ці діаграми включали: діаграму варіантів використання для візуалізації основних функцій системи і їх користувачів; діаграму класів, що представляє структуру об’єктів системи та їх взаємозв’язки; діаграму кооперацій, яка показує взаємодію об’єктів при виконанні певних завдань; діаграму послідовності, що демонструє порядок взаємодії об’єктів; діаграму діяльності, яка відображає процеси в системі; діаграму компонентів, що визначає фізичну структуру системи; та діаграму розгортання, що показує розподіл системи на апаратні ресурси. Здійснено всебічне дослідження сучасних мов програмування, розглянуто різноманітні інтегровані середовища розробки та аналізовано великий спектр бібліотек для вибору оптимального інструментарію для створення інформаційної технології контейнеризації застосунків. У роботі були розглянуті мови програмування, такі як Go (Golang), Rust, C++ та інші, які широко використовуються в системному програмуванні та розробці високопродуктивних застосунків. Закінчення роботи з системою, що повертається до стану готовності до нових завдань, ілюструє ефективність контейнеризації для створення стійких і легко відновлюваних розробницьких середовищ. Це не тільки оптимізує розробку та розгортання програм, але й є ключовим елементом у процесах неперервної інтеграції та неперервної доставки (CI/CD), що є важливими для підтримки сучасних методологій розробки програмного забезпечення. Контейнеризація дозволяє ізолювати програмні компоненти та їх залежності, забезпечуючи при цьому їхню портативність між різними середовищами. Це спрощує розробку, тестування і розгортання програм, оскільки можна впаковувати всі необхідні ресурси в контейнер та запускати його на будь-якій підтримуваній платформі без великих зусиль. Об’єктом дослідження в цій роботі виступає процес контейнеризації застосунків. Предметом дослідження є методи та засоби ізоляції системних процесів. Метою дослідження постає аналіз наявних продуктів-аналогів, для того, щоб обрати їхні сильні сторони та реалізувати вирішення їх недоліків. Ключові слова – Контейнеризація, Docker, розробка, ізоляція. Перелік використаних джерел: 1. Emerging Trends, Techniques and Open Issues of Containerization: A Review, [Електронний ресурс]: https://ieeexplore.ieee.org/document/8861307 2. D. Bernstein, "Containers and cloud: From LXC to Docker to kubernetes", IEEE Cloud Comput., vol. 1, pp. 81-84, Sep. 2014.. https://ieeexplore.ieee.org/document/7036275