Диплом 2021 года. Оригинальность высокая.
Объектом исследования в данной выпускной квалификационной работе является сервис трансляций автоспортивных событий.
Предметом исследования ВКР является облачно-ориентированная архитектура и микросервисная разработка приложений.
Основные инструменты, которые рассматриваются в работе это системы контроля версий, облачные хостинги, системы контейнеризации и оркестрации, инструменты управления инфраструктурой как код, системы удаленной конфигурации, системы мониторинга и сбора метрик микросервисного приложения, системы непрерывной интеграции и автоматического тестирования.
Целью работы является внедрение системы оркестрации контейнеризированного приложения, автоматизация развертывания, масштабирование и координация в условиях кластера.
Для достижения данной цели решена оснавная задача исследования – разработка метода применения системы оркестрации Kubernetes и пакетного менеджера Helm для автоматизации развертывания приложения на базе облачного провайдера Amazon AWS.
Решение поставленной задачи было достигнуто путем выполнения следующих этапов:
- Анализ существующей инфраструктуры;
- Анализ инструментов оркестрации и автоматизции развертывания;
- Подготовка инфраструктуры как код для развертывания системы оркестрации и инфраструктуры
- Подготовка СУБД для переноса на облачный сервис Amazon RDS Aurora
- Рефакторинг деплоев контейнеризированного приложения
- Внедрение разработанного решения
Введение 4
1 Методология devops и непрерывная разработка 8
1.1 Определение devops практик 8
1.1.1 Терминология 8
1.1.2 Что было до DevOps 9
1.1.3 Идея и культура DevOps 11
1.1.4 Принципы DevOps 12
1.1.5 DevOps и Agile 14
1.1.6 Жизненный цикл DevOps 15
1.1.7 Преимущества и недостатки методологии 18
1.2 Непрерывная разработка 19
1.2.1 Непрерывная интеграция и ее преимущества 20
1.2.2 Непрерывное развертывание и его преимущества 21
1.2.3 Основные подходы и практики непрерывных процессов 22
1.2.4 Типы тестирования 25
2 Исследование инструментов devops, непрерывной разработки и доставки кода в облачную инфраструктуру 30
2.1 Системы контроля версий кода 30
2.1.1 Инструменты жизненного цикла DevOps 31
2.2 Контейнеризация и оркестрация 38
2.2.1 Docker 39
2.2.2 Kubernetes 43
2.2.3 OpenShift 49
2.3 Инфраструктура как код 54
2.3.1 Terraform 55
2.3.2 Terragrunt 57
2.3.3 Ansible 58
3 Внедрение и перенос контейнерезированного приложения в kubernetes 61
3.1 Подготовка инфраструктуры 63
3.1.1 Подготовка аккаунта AWS 63
3.1.2 Подготовка AWS EKS 66
3.1.3 Подготовка окружений для миграции приложения 69
3.1.4 Подготовка СУБД RDS Aurora PostgreSQL 72
3.1.5 Подготовка окружений в Kubernetes 73
3.1.6 Подготовка контейнеризированного приложения к переносу в Kubernetes 77
3.1.7 Мониторинг системы 85
4 заключение 91
Список использованных источников 95
Приложение А 100
Приложение Б 106
1. Институт инженеров электротехники и электроники [Электронный ресурс]. http://grouper.ieee.org/groups/802/3/tutorial/march98/mick_170398.pdf
2. Internet Engineering Task Force RFC 2328 [Электронный ресурс]. https://tools.ietf.org/html/rfc2328
3. Cisco IOS Security Configuration Guide, Release 12.2 [Электронный ресурс]. https://www.cisco.com/c/en/us/td/docs/ios/12_2/security/configuration/guide/fsecur_c/scfathen.html
4. Internet Engineering Task Force RFC 1452 [Электронный ресурс]. https://tools.ietf.org/html/rfc1452
5. Cisco Technical Support [Электронный ресурс]. https://www.cisco.com/c/en/us/tech/lan-switching/etherchannel/index.html
6. В. Олифер, Н. Олифер «Компьютерные сети. Принципы, технологии, протоколы» (5-е издание). [Текст] – СПБ.: Питер 2016. – 992 с.
7. Internet Engineering Task Force RFC 2474 [Электронный ресурс]. https://tools.ietf.org/html/rfc2474
8. База знаний Synology [Электронный ресурс]. https://www.synology.com/ru-ru/knowledgebase/DSM/tutorial/Storage/Which_file_system_should_I_use_to_create_a_volume
9. Официальный сайт Synology [Электронный ресурс]. https://www.synology.com/ru-ru/dsm/feature/hyper_backup
10. Официальный сайт Synology [Электронный ресурс]. https://www.synology.com/ru-ru/dsm/feature/active_backup_business
11. Официальный сайт Synology [Электронный ресурс]. https://www.synology.com/ru-ru/products/VMMPro_License_Pack
12. Internet Engineering Task Force RFC 2518 [Электронный ресурс]. https://tools.ietf.org/html/rfc2518
13. Microsoft TechNet Common Internet File System [Электронный ресурс]. https://technet.microsoft.com/en-us/library/cc939973.aspx
14. Официальный сайт Synology [Электронный ресурс]. https://www.synology.com/ru-ru/dsm
15. Институт инженеров электротехники и электроники [Электронный ресурс]. http://www.ieee802.org/3/z/public/presentations/sep1996/BHgutp_b.pdf
16. Схемы резервирования инженерных систем ЦОД [Электронный ресурс]. http://www.alldc.ru/useful/question/4867.html
17. Tehno.guru - ведущий информационный портал о технике. [Электронный ресурс]. https://tehno.guru/kompyuternaya-tehnika/nakopiteli-dannyih/ssd-disk-chto-ehto-takoe/
18. ГОСТ Р 51241-2008 [Электронный ресурс]. http://docs.cntd.ru/document/gost-r-51241-2008
19. Программные решения для ж/д логистики и ВЭД [Электронный ресурс]. https://www.ctm.ru/продукты/программы/вэд/вэд-декларант-базовая-версия
20. Официальный сайт Synology, Synology High Availability [Электронный ресурс]. https://www.synology.com/ru-ru/dsm/feature/high_availability
21. IBM Developer Построение кластера высокой надежности [Электронный ресурс]. https://www.ibm.com/developerworks/ru/library/l-Cluster_Linux_1/
22. База знаний Synology [Электронный ресурс]. https://www.synology.com/ru-ru/knowledgebase/DSM/tutorial/Disaster_Recovery/What_should_I_know_when_creating_a_Synology_High_Availability_cluster
23. Hard Disk Drives Encyclopedia [Электронный ресурс]. https://smarthdd.com/help.htm
24. USB Document Library [Электронный ресурс]. https://www.usb.org/documents
25. KO IT для бизнеса – горячие данные, холодные данные [Электронный ресурс]. https://ko.com.ua/goryachie_dannye_holodnye_dannye_83662
26. Официальный сайт компании «КонсультантПлюс» [Электронный ресурс]. http://www.consultant.ru/document/cons_doc_LAW_201078/
27. Материал из Википедии — свободной энциклопедии [Электронный ресурс]. https://ru.wikipedia.org/wiki/Законопроект_о_«суверенном_интернете»
28. Chef для новичков [Электронный ресурс]. https://habr.com/ru/company/southbridge/blog/208858/
29. Rad Hat Ansible [Электронный ресурс]. https://www.ansible.com
30. Институт инженеров электротехники и электроники [Электронный ресурс]. https://www.ieee.org/about/awards/bios.html#top
31. What Is Network Booting (PXE) and How Can You Use It? [Электронный ресурс]. https://www.howtogeek.com/57601/what-is-network-booting-pxe-and-how-can-you-use-it/
32. Ubuntu Kickstart documentation [Электронный ресурс]. https://help.ubuntu.com/community/KickstartCompatibility
33. Загрузочный сервер — как загрузочная флешка, только сервер и по сети [Электронный ресурс]. https://habr.com/ru/company/serverclub/blog/250549/
34. Free Software Foundation [Электронный ресурс]. https://www.gnu.org/software/bash/
35. Computers ... Terminal Emulation [Электронный ресурс]. https://curlie.org/Computers/Data_Communications/Software/Terminal_Emulation
36. Open Source Initiative [Электронный ресурс]. https://opensource.org/docs/definition.php
37. Microsoft Hardware Dev Center [Электронный ресурс]. https://msdn.microsoft.com/ru-ru/library/windows/hardware/dn938389(v=vs.85).aspx
38. Что такое ITSM – habr.ru [Электронный ресурс]. https://habr.com/ru/post/136517/
39. HelpDesk и ServiceDesk. Что это и зачем это нужно вашей компании – habr.ru [Электронный ресурс]. https://habr.com/ru/company/deskun/blog/331354/
40. Официальный сайт компании Zabbix [Электронный ресурс]. https://www.zabbix.com
41. Internet Engineering Task Force RFC 3411 [Электронный ресурс]. https://tools.ietf.org/html/rfc3411
42. The Dude. Практический мониторинг — habr.ru [Электронный ресурс]. https://habr.com/ru/post/145923/
43. Официальная документация helm.sh [Электронный ресурс] https://helm.sh/docs/
44. Официальная документация kubernetes.io [Электронный ресурс] https://kubernetes.io/docs/home/
45. Официальная документация Graphana [Электронный ресурс] https://grafana.com/docs/
46. Официальная документация Gitlab [Электронный ресурс] https://docs.gitlab.com
47. Документация Terraform [Электронный ресурс] https://www.terraform.io/docs/index.html
48. Оптимизация бизнес-процессов на предприятии: [Электронный ресурс]. https://hsbi.hse.ru/articles/optimizatsiya-biznes-protsessov-v-organizatsii-kompanii-ili-na-predpriyatii
49. Органы управления IT-предприятия: [Электронный ресурс]. https://marketing.wikireading.ru/24813
50. Планирование проекта в MS Project: [Электронный ресурс]. https://kurapov.ee/rus/lab/control/plan_microsoft_project
51. Правовое регулирование в сфере высшего образования: [Электронный ресурс]. https://cyberleninka.ru/article/n/pravovoe-regulirovanie-v-sfere-vysshego-obrazovaniya-v-rossii-istoriko-pravovoy-aspekt
52. Проектирование ИС с применением UML: [Электронный ресурс]. http://enisey.name/umk/mbp/ch16.html
53. Ресурсы в MS Project: виды и их назначение: [Электронный ресурс]. https://blog.ganttpro.com/ru/resursy-ms-microsoft-project
54. Риски в бизнес-плане: [Электронный ресурс]. https://www.alt-invest.ru/lib/riski-v-biznes-plane
55. Список материальных ресурсов в MS Project: [Электронный ресурс]. https://pm-way.com/materials/material/show/182
56. Средства создания корпоративных Интернет-решений [Электронный ресурс]. https://compress.ru/article.aspx?id=9869
57. Стратегия развития корпоративного портала: [Электронный ресурс]. https://habr.com/ru/post/326724/
58. Стратегия развития управления информатизации: [Электронный ресурс]. https://globalcio.ru/discussion/1881/
59. Совершенствование системы управления IT-инфраструктурой предприятия: [Электронный ресурс]. https://elibrary.ru/item.asp?id=37328770
60. Создание модели устрйоства базы данных: [Электронный ресурс].
61. Исследование возможности импортозамещения программного обеспечения АРМ в гомогенной инфраструктуре на базе ОС Windows [Электронный ресурс]. http://science.usue.ru/images/docs/itogi/bi2020.pdf