Исследование GitOps как современной методологии разработки приложений
Автор: Наргиза Камалходжаева • Январь 19, 2022 • Курсовая работа • 3,454 Слов (14 Страниц) • 320 Просмотры
Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики
Университет ИТМО
Курсовая работы по дисциплине DevOps
«Исследование GitOps как современной методологии разработки приложений»
Работу выполнила:
студентка группы Р42212
Преподаватель:
Санкт-Петербург
2020
Содержание
1 Введение 3
2 GitOps. Основные принципы 5
2.1 Что такое GitOps? 5
2.2 Четыре основных принципа GitOps 5
2.3 Преимущества GitOps 7
2.4 Deployment в Kubernetes 7
3 9
3.1 Подход PULL 9
3.2 Плюсы подхода PULL 9
3.3 Минусы подхода PULL 10
3.4 Подход PUSH 10
3.5 Плюсы подхода PUSH: 10
3.6 Минусы подхода PUSH: 11
3.7 Какой подход лучше - Push или Pull? 11
4 Основные GitOps инструменты 13
4.1 GitOps Flux 13
4.2 GitOps Flagger 14
4.3 GitOps ArgoCD 15
4.4 Argo GitOps Engine 18
5 Business Values 19
5.1 Преимущества применения GitOps: 19
5.2 GitOps в FinTech 20
6 Заключение 21
7 Список литературы 22
Введение
В современных реалиях разработки программных продуктов существуют различные процессы помимо самого процесса создания ПО. Рынок и потенциальный пользователь требуют своевременной доставки конечного продукта, а также быстрых исправлений ошибок, в случае их обнаружения. Современные автоматизированные процессы уже применяются в процессах разработки в виде инструментов непрерывной интеграции и непрерывного развертывания. Однако это далеко не последнее слово в среде DevOps.
В сообществе Kubernetes явную популярность набирает тренд под названием GitOps. Данный подход к развёртыванию приложений в Kubernetes появился в августе 2017 г, а сам термин был относительно недавно придуман главой компании Weaveworks — Alexis Richardson — и означает применение привычных для разработчиков инструментов, в первую очередь — Git, откуда и само название, для решения задач эксплуатации [1].
На данный момент философия GitOps имеет наибольшую популярность. Технология позволяет управлять процессами непрерывной интеграции, развертывания и доставки конечного продукта вместе с процессом разработки. Таким образом разработчики всегда знают в каком состоянии и статусе находится продукт. Такая технология достаточно гибкая и может быть внедрена в разработку практически любого продукта. GitOps обладает рядом особенностей и преимуществ.
...