Тип работы:
Предмет:
Язык работы:


Программные средства контейнеризации образов Unix - систем на платформе «Docker»

Работа №159493

Тип работы

Бакалаврская работа

Предмет

программирование

Объем работы64
Год сдачи2020
Стоимость4200 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
27
Не подходит работа?

Узнай цену на написание


Введение 6
1 Разработка программных средств для реализации
автоматического конвертирования образов систем 7
1.1 Анализ предметной области 7
1.2 Сравнительный анализ программных продуктов-аналогов 8
1.2.1 Анализ Image2Docker 9
1.2.2 Анализ RancherVM 9
1.2.3 Результаты проведенного анализа 11
1.3 Постановка задачи 11
1.4 Анализ требований программного средства автоматического
конвертирования образов систем 12
1.4.1 Функциональные требования программного средства 13
1.4.2 Нефункциональные требования программного средства 17
2 Проектирование программных средств 18
2.1 Проектирование виртуализации дискового пространства
исходного образа системы 18
2.2 Проектирование проверки требований используемой
операционной системы 22
2.3 Проектирование генерации Dockerfile для управления
платформой Docker 23
3 Реализация программного средства для автоматического
конвертирования образов систем 27
4 Тестирование программного средства 31
4.1 Рефакторинг кода 33
5 Планирование разработки и оценка бюджета 35
Заключение 39
Список использованных источников 41
Приложение А Глоссарий 43
Приложение Б Листинг программы 45


«Docker - программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации. Позволяет «упаковать» приложение или группу приложений со всем окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему, а также предоставляет среду по управлению контейнерами» [1].
Контейнер - это изолированная от основной операционной системы совокупность процессов. Основным и главным отличием от виртуальных машин является виртуализация процессов, а не всей системы целиком. Тем самым, напрямую используются ресурсы основной машины, как подпроцесс без какой-либо эмуляции «машины в машине».
Данная работа является актуальной, так как существующие программные средства не обеспечивают удобства и полной универсальности в переносе связанных многомодульных систем. На смену виртуальных машин приходят контейнеры, которые осуществляют нагрузку на основную операционную систему намного меньшую, чем их конкурент. Данная технология является одним из приоритетов разработки крупных фирм, таких как Google и Amazon, начиная с 2014 года.
Ключевыми особенностями использования Docker являются:
- экономия значительных ресурсов ЭВМ при контейнеризации;
- перенос готовых контейнеров на другие машины осуществляется без использования сторонних модулей, то есть, если меняется операционная система хост-машины, контейнер будет работать после его переноса;
- виртуализация не всей операционной системы целиком, а лишь нужных процессов, которые необходимо добавить в контейнер.
Целью выпускной квалификационной работы является разработка программных средств для конвертирования образов виртуальных машин и использования их в среде Docker.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе выполнения выпускной квалификационной работы разработаны программные средства для реализации автоматического конвертирования образов систем.
Был проведен анализ программ, доступных для автоматического переноса в контейнеры и их возможная совместимость. В рамках работы был проведен сравнительный анализ программных продуктов-аналогов. Были исследованы следующие продукты-аналоги. Каждый продукт-аналог был охарактеризован, были приведены его преимущества и недостатки.
На основе полученной информации была сформулирована задача на разработку программного средства, определены функциональные и нефункциональные требования к приложению.
Для решения данной задачи были выделены основные этапы построения данного программного средства:
- виртуализация дискового пространства исходного образа системы;
- проверка требований используемой операционной системы;
- генерация Dockerfile для управления платформой Docker;
Данные о проектировании представлены в виде диаграмм и сегментов кода, удовлетворяющим концепции разработки. С целью простоты понимания и дальнейшего усовершенствования кода была использована библиотека shellcheck.
В отличие от известных, разработанное программное средство обеспечивает удобство и полную универсальность в переносе связанных многомодульных систем. Данное приложение претендует на роль уникального на рынке программных средств.
Разработка программных средств проводилась на языках программирования Bash и Python в средах Visual Studio Code и JetBrains PyCharm в операционной системе Windows. Тестирование и отладка проводилась на основе Docker в операционной системе Ubuntu Server 18.04 LTS семейства Linux. Все тесты были успешно пройдены и в результате тестирования не выявлено ошибок.
В ходе работы было проведено планирование и оценка бюджета разработки при помощи программы для управления проектами Microsoft Project. Трудозатраты составили 280 человеко-часов. Затраты на проект составили 38523 рубля. Время разработки составило 27 рабочих дней.
Таким образом, в результате выполнения квалификационной работы были разработаны программные средства для реализации автоматического конвертирования образов систем, которые удовлетворяют требованиям технического задания.


1 How the go programming language helps Docker and the container
ecosystem // TheNewStack [Электронный ресурс]. URL:
https://thenewstack.io/go-programming-language-helps-docker-container- ecosystem(дата обращения: 22.05.2020).
2 Понимая Docker // Хабр [Электронный ресурс]. URL: https://habr.com/ru/post/253877(дата обращения: 22.05.2020).
3 Г лавная страница Docker Hub // Docker Hub [Электронный ресурс]. URL: https://hub.docker.com(дата обращения: 22.05.2020).
4 Marks M. Image2Docker: A New Tool for Prototyping Windows VM Conversions // Docker Blog [Электронный ресурс]. URL: https://www.docker.com/blog/image2docker-prototyping-windows-vm- conversions(дата обращения: 23.05.2020).
5 Image2Docker // GitHub [Электронный ресурс]. URL:
https://github.com/docker-archive/communitytools-image2docker-win (дата
обращения: 23.04.2020).
6 Главная страница Rancher // Rancher [Электронный ресурс]. URL: https://rancher.com(дата обращения: 23.05.2020).
7 RancherVM // GitHub [Электронный ресурс]. URL: https://github.com/rancher/vm(дата обращения: 23.05.2020).
8 RancherVM Issues // GitHub [Электронный ресурс]. URL:
https://github.com/rancher/vm/issues/117(дата обращения: 1.06.2020).
9 Химонин Ю.И. Сбор и анализ требований к программному
продукт. // Московское отделение Project Management Institute [Электронный ресурс]. URL: http://old.pmi.ru/profes/Software_Requirements_Khimonin.pdf
(дата обращения: 1.06.2020).
10 Главная страница libguestfs // libguestfs [Электронный ресурс]. URL: http://libguestfs.org(дата обращения: 12.06.2020).
11 Узнайте о виртуальной машине ядра Linux (KVM) // IBM [Электронный ресурс]. URL: https://www.ibm.com/developerworks/ru/library/l- linux-kvm(дата обращения: 15.06.2020).
12 Чубин И. Xen // Xgu [Электронный ресурс]. URL:
http://xgu.ru/wiki/Xen(дата обращения: 15.06.2020).
13 Категории программных тестов // Хабр [Электронный ресурс]. https://habr.com/ru/post/64874(дата обращения 14.06.2020)
14 Джонсон, Т. Microsoft Project 2016. Шаг за шагом. / Т. Джонсон, К. Четфилд - Москва: КТК Галактика, 2016. - 594 с.



Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ