Інформаційна технологія контейнеризації застосунків на основі оптимізованої та удосконаленої архітектури Docker
dc.contributor.advisor | Пелещак, Роман Михайлович | |
dc.contributor.affiliation | Національний університет "Львівська політехніка" | |
dc.contributor.author | Ярема, Ілля Віталійович | |
dc.contributor.author | Yarema, Illia Vitaliiovych | |
dc.coverage.placename | Львів | |
dc.date.accessioned | 2025-03-04T13:00:30Z | |
dc.date.created | 2023 | |
dc.date.issued | 2023 | |
dc.description.abstract | Сучасний стан розвитку технологій накладає високі вимоги на швидкість, гнучкість та ефективність розгортання та доставки програмного забезпечення. Контейнеризація застосунків стала вирішальною відповіддю на ці вимоги, оскільки вона дозволяє розробникам пакувати і доставляти додатки швидко та надійно в різноманітні оточення. В контексті постійної еволюції та оптимізації інфраструктури, що підтримує такі технології, Docker стоїть на передовій, надаючи потужні та легкі засоби для контейнеризації [1]. Наразі багато організацій та розробників вже інтегрували Docker у свої робочі процеси, але постійно зростаючі вимоги до продуктивності, безпеки та масштабованості вимагають від цієї технології постійного удосконалення. Розробка оптимізованих та удосконалених архітектурних рішень контейнеризації є ключовим кроком до покращення цих аспектів і відкриває нові можливості для ефективності бізнесу [2]. Здійснено ґрунтовний огляд наукових публікацій, фахових матеріалів та інших ресурсів, які мають відношення до теми дипломної роботи. Аналіз цих матеріалів підкреслив важливість і виклики, з якими стикаються фахівці у сфері контейнеризації застосунків, особливо в контексті використання Docker. Виявлено, що ключовою задачею є забезпечення високої ефективності та оптимального використання ресурсів під час розгортання та управління застосунками. Здійснено системний аналіз інформаційної технології контейнеризації застосунків, що базується на оптимізованій архітектурі Docker. В основу дослідження було покладено методологію побудови дерева цілей, яке визначило головну мету - "Розробка оптимізованої системи контейнеризації застосунків". Ця мета була деталізована через розбиття на більш конкретні підцілі, кожна з яких була детально розглянута. У ході аналітичної роботи було визначено ключові якісні характеристики системи, включаючи її актуальність, інноваційність, зручність, надійність і безперервність роботи. Для досягнення високої рівня деталізації функцій та взаємодій в системі, були розроблені різні типи UML діаграм. Ці діаграми включали: діаграму варіантів використання для візуалізації основних функцій системи і їх користувачів; діаграму класів, що представляє структуру об'єктів системи та їх взаємозв'язки; діаграму кооперацій, яка показує взаємодію об'єктів при виконанні певних завдань; діаграму послідовності, що демонструє порядок взаємодії об'єктів; діаграму діяльності, яка відображає процеси в системі; діаграму компонентів, що визначає фізичну структуру системи; та діаграму розгортання, що показує розподіл системи на апаратні ресурси. Здійснено всебічне дослідження сучасних мов програмування, розглянуто різноманітні інтегровані середовища розробки та аналізовано великий спектр бібліотек для вибору оптимального інструментарію для створення інформаційної технології контейнеризації застосунків. У роботі були розглянуті мови програмування, такі як Go (Golang), Rust, C++ та інші, які широко використовуються в системному програмуванні та розробці високопродуктивних застосунків. Закінчення роботи з системою, що повертається до стану готовності до нових завдань, ілюструє ефективність контейнеризації для створення стійких і легко відновлюваних розробницьких середовищ. Це не тільки оптимізує розробку та розгортання програм, але й є ключовим елементом у процесах неперервної інтеграції та неперервної доставки (CI/CD), що є важливими для підтримки сучасних методологій розробки програмного забезпечення. Контейнеризація дозволяє ізолювати програмні компоненти та їх залежності, забезпечуючи при цьому їхню портативність між різними середовищами. Це спрощує розробку, тестування і розгортання програм, оскільки можна впаковувати всі необхідні ресурси в контейнер та запускати його на будь-якій підтримуваній платформі без великих зусиль. Об’єктом дослідження в цій роботі виступає процес контейнеризації застосунків. Предметом дослідження є методи та засоби ізоляції системних процесів. Метою дослідження постає аналіз наявних продуктів-аналогів, для того, щоб обрати їхні сильні сторони та реалізувати вирішення їх недоліків. | |
dc.description.abstract | The current state of technology development imposes high demands on the speed, flexibility and efficiency of software deployment and delivery. Application containerization has become a critical response to these demands, as it allows developers to package and deliver applications quickly and reliably to a variety of environments. In the context of constant evolution and optimization of the infrastructure supporting such technologies, Docker is at the forefront, providing powerful and lightweight tools for containerization [1]. By now, many organizations and developers have already integrated Docker into their workflows, but ever-increasing requirements for performance, security, and scalability require this technology to continuously improve. The development of optimized and improved containerization architectural solutions is a key step to improve these aspects and opens up new opportunities for business efficiency [2]. A thorough review of scientific publications, professional materials and other resources related to the topic of the thesis was carried out. Analysis of these materials highlighted the importance and challenges faced by professionals in the field of application containerization, especially in the context of using Docker. It was found that the key task is to ensure high efficiency and optimal use of resources during the deployment and management of applications. A system analysis of the information technology of application containerization, based on the optimized Docker architecture, was carried out. The research was based on the methodology of building a tree of goals, which determined the main goal - "Development of an optimized application containerization system." This objective has been detailed by breaking it down into more specific sub-objectives, each of which has been examined in detail. During the analytical work, the key quality characteristics of the system were determined, including its relevance, innovation, convenience, reliability and continuity of work. To achieve a high level of detail of functions and interactions in the system, various types of UML diagrams were developed. These diagrams included: a diagram of use cases to visualize the main functions of the system and their users; class diagram representing the structure of system objects and their relationships; cooperation diagram, which shows the interaction of objects when performing certain tasks; a sequence diagram showing the order of interaction of objects; an activity diagram that reflects the processes in the system; component diagram defining the physical structure of the system; and a deployment diagram showing the allocation of system hardware resources. A comprehensive study of modern programming languages was carried out, various integrated development environments were considered, and a wide range of libraries was analyzed to select the optimal toolkit for creating information technology of application containerization. Programming languages such as Go (Golang), Rust, C++ and others, which are widely used in system programming and development of high-performance applications, were considered in the work. Ending work with a system returning to a state ready for new tasks illustrates the effectiveness of containerization for creating sustainable and easily recoverable development environments. This not only streamlines application development and deployment, but is a key element in the continuous integration and continuous delivery (CI/CD) processes that are essential to support modern software development methodologies. Containerization allows you to isolate software components and their dependencies, while ensuring their portability between different environments. This simplifies the development, testing and deployment of applications, as you can pack all the necessary resources into a container and run it on any supported platform without much effort. The object of research in this work is the application containerization process. The subject of research is methods and means of isolating system processes. The purpose of the research is to analyze the available analog products in order to choose their strengths and implement solutions to their shortcomings. | |
dc.format.pages | 114 | |
dc.identifier.citation | Ярема І. В. Інформаційна технологія контейнеризації застосунків на основі оптимізованої та удосконаленої архітектури Docker : кваліфікаційна робота на здобуття освітнього ступеня магістр за спеціальністю „8.126.00.01 — Інформаційні системи та технології“ / Ілля Віталійович Ярема. — Львів, 2023. — 114 с. | |
dc.identifier.uri | https://ena.lpnu.ua/handle/ntb/63565 | |
dc.language.iso | uk | |
dc.publisher | Національний університет "Львівська політехніка" | |
dc.relation.referencesen | Emerging Trends, Techniques and Open Issues of Containerization: A Review, [Електронний ресурс]: https://ieeexplore.ieee.org/document/8861307 | |
dc.relation.referencesen | 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 | |
dc.rights.holder | © Національний університет "Львівська політехніка", 2023 | |
dc.rights.holder | © Ярема, Ілля Віталійович, 2023 | |
dc.subject | 8.126.00.01 | |
dc.subject | – Контейнеризація | |
dc.subject | Docker | |
dc.subject | розробка | |
dc.subject | ізоляція. Перелік використаних джерел: 1. Emerging Trends | |
dc.subject | Techniques and Open Issues of Containerization: A Review | |
dc.subject | [Електронний ресурс]: https://ieeexplore.ieee.org/document/8861307 2. D. Bernstein | |
dc.subject | "Containers and cloud: From LXC to Docker to kubernetes" | |
dc.subject | IEEE Cloud Comput. | |
dc.subject | vol. 1 | |
dc.subject | pp. 81-84 | |
dc.subject | Sep. 2014.. https://ieeexplore.ieee.org/document/7036275 | |
dc.subject | – Containerization | |
dc.subject | Docker | |
dc.subject | development | |
dc.subject | isolation | |
dc.title | Інформаційна технологія контейнеризації застосунків на основі оптимізованої та удосконаленої архітектури Docker | |
dc.title.alternative | Information technology for containerizing applications based on the optimized and advanced Docker architecture | |
dc.type | Students_diploma |