Цель:
Уметь использовать систему контроля версий. Масштабировать Git для предприятия. Внедрять и управлять инфраструктурой сборки. Разрабатывать стратегии качества и безопасности. Планировать миграции и консолидации артефактов и контроля версий.
Предварительная подготовка:
- Необходимо иметь фундаментальные знания о Azure, управлении версиями, гибкой разработке программного обеспечения и основных принципах разработки программного обеспечения. Было бы полезно иметь опыт в организации, которая поставляет программное обеспечение.
- Рекомендуется иметь опыт работы в среде IDE, а также некоторые знания портала Azure. Тем не менее, учащиеся, которые могут не иметь технического опыта в этих технологиях, но которые интересуются практикой DevOps как культурным сдвигом, должны иметь возможность следовать процедурным и пояснительным объяснениям непрерывной интеграции независимо от этого.
Программа:
1. Начало работы с контролем версий
- Введение в контроль версий
- Преимущества Source Control
- Типы систем Source Control)
- Введение в Azure Repos)
- Миграция из TFVC в Git)
- Аутентификация в Git Repos)
2. Расширение Git для корпоративных DevOps
- Структура репозитория
- Рабочие потоки в моделях ветвления/слияния Git
- Совместная работа с Pull Requests
- Зачем нужны Git Hooks?
- Поощрение внутреннего открытого источника
- Версионированиев Git
- Публичные проекты
- Файлы в Git
3. Внедрение и управление инфраструктурой сборки
- Концепция конвейеров Pipelines в DevOps
- Конвейеры Azure
- Оценка и спользования Hosted и Private частных агентов
- Пулы агентов
- Конвейеры и параллелизм
- Проекты Azure DevOps и Open Source
- Azure Pipelines YAML и Visual Designer
- Настройка частных агентов
- Интеграция Jenkins с конвейерами Azure
- Интеграция внешнего управления источниками с Azure Pipelines
- Анализ и интеграция многоэтапных сборок Docker
4. Управление настройками приложения и ключами)
- Введение в безопасность
- Внедрение безопасного и совместного процесса разработки
- Обработка данных конфигурации приложения
- Управление ключами, токенами и сертификатами
- Внедрение инструментов для управления безопасностью и соответствием в конвейере
5. Реализация стратегии мобильного DevOps
- Введение в мобильные DevOps
- Введение в Visual Studio App Center
- Управление наборами мобильных устройств и группами рассылки
- Управление наборами тестовых устройств пользовательского интерфейса
- Предоставление тестовых устройств для развертывания
- Создание публичных и частных групп рассылки
6. Реализация непрерывной интеграции (Continuous Integration, CI). Внедрение непрерывной интеграции (CI) в Azure DevOps Pipeline
- Обзор непрерывной интеграции
- Реализация Build Strategy
Лабораторная работа: использование CI с AzurePipelines
Лабораторная работа: Создание задания JenkinsBuildJob и Triggering CI.
7. Управление качеством кода и политиками безопасности.
- Управление качеством кода
- Управление политиками безопасности
Лабораторная работа: Управление техническим долгом с помощью AzureDevOps и SonarCloud
Лабораторная работа: Проверка уязвимостей с помощью WhiteSource Bolt и Azure DevOps.
8. Реализация стратегии Container Build
- Реализация стратегии Container Build
Лабораторная работа: Приложение .NET с образами Azure и Docker.
9. Реализация непрерывной поставки (ContinuousDelivery, CD). Разработка стратегии релиза
- Введение в непрерывную поставку
- Рекомендации по стратегии релиза
- Разработка высококачественного конвейера релиза
- Выбор шаблона развертывания
- Выбор правильного инструмента управления релизами
Лабораторная работа: Построение стратегии релиза.
10. Настройка процесса управления релизами (Release Management Workflow)
- Создание Release Pipeline
- Предоставление и настройка сред
- Управление и разбиение задач и шаблонов
- Интеграция ключей с Release Pipeline
- Настройка автоматической интеграции и автоматизации функционального тестирования
- Автоматизация проверки работоспособности
Лабораторная работа: Автоматизация развертывания инфраструктуры в облаке с помощью Terraform и AzurePipelines
Лабораторная работа: Настройка ключей в конвейере с помощью AzureKeyvault
Лабораторная работа: Настройка и запуск нагрузочных тестов
Лабораторная работа: Настройка и запуск функциональных тестов
Лабораторная работа: Использование Azure Monitor в качестве releasegate
Лабораторная работа: Создание Release Dashboard.
11. Реализация подходящего шаблона развертывания
- Введение в шаблоны развертывания (Deployment Patterns)
- Реализация сине-зеленого развёртывания (Blue Green Deployment)
- Функция Toggles
- Канарные (канареечные) релизы (Canary Releases)
- Dark Launching
- AB тестирование
- Progressive Exposure Deployment
Лабораторная работа: Blue Green Deployment
Лабораторная работа: Диспетчер трафика (Traffic Manager)
12. Внедрение управления зависимостями (Dependency Management, DM). Разработка стратегии управления зависимостями
- Упаковка зависимостей
- Управление пакетами (package)
- Реализация стратегии управления версиями
Лабораторная работа: Обновление пакетов
13. Управление безопасностью и соответствием
- Безопасность пакета (package)
- Программное обеспечение с открытым исходным кодом
- Интеграция сканирования лицензий и уязвимостей.
14. Реализация инфраструктуры приложения. Инструменты Azure для инфраструктуры и конфигурации
- Инфраструктура как управление кодом и конфигурацией
- Создание источников данных Azure с использованием шаблонов ARM
- Создание ресурсов Azure с помощью интерфейса командной строки Azure
- Создание ресурсов Azure с помощью AzurePowerShell
- Дополнительные инструменты автоматизации
- Контроль версий
Лабораторная работа: Развертывание в Azure с использованием шаблонов ARM.
15. Модели и службы развертывания Azure
- Модели и опции развертывания
- Службы Azure «Инфраструктура как услуга» (Infrastructure-as-a-Service, IaaS)
- Azure Automation Azure с DevOps
- Конфигурация желаемого состояния (Desired State Configuration, DSC)
- Службы Azure «Платформа как услуга» (Platform-as-a-Service, PaaS)
- Azure Service Fabric
Лабораторная работа: Развертывание IaaS или PaaS.
16. Создание и управление сервисной инфраструктурой Kubernetes
- Azure Kubernetes Service (AKS)
Лабораторная работа: Развертывания и масштабирование кластера AKS.
17. Сторонние инструменты и инструменты с открытым исходным кодом, доступные в Azure
- Chef
- Puppet
- Ansible
- Cloud-Init
- Terraform
Лабораторная работа: Подготовка и настройка приложения в Azure с использованием X.
18. Реализация соответствия и безопасности в инфраструктуре
- Принципы безопасности и соответствия с DevOps
- Центр безопасности Azure
Лабораторная работа: Интеграция сканирующего расширения или инструмента в конвейер/центр безопасности AZ DevOps.
19. Реализация непрерывной обратной связи (Continuous Feedback, СА). Рекомендации и разработка механизмов обратной связи
- Внутренний цикл
- Менталитет непрерывных экспериментов Continuous Experimentation
- Процессы измерения удовлетворенности конечных пользователей
- Процессы сбора и анализа отзывов пользователей
- Процесс проектирования для автоматизации аналитики приложений.
Лабораторная работа: интеграция DevOpsAzure и Teams.
Лабораторная работа: Флаги Feature Flags.
20. Внедрение процесса обратной связи для команд разработчиков
- Реализация инструментов для отслеживания использования системы, использования функций и потока
- Реализация маршрутизации для данных отчетов о сбоях мобильных приложений
- Разработка панели мониторинга и состояния
- Интеграция и настройка системы билетирования.
21. Оптимизация механизмов обратной связи
- Надежность сайта
- Анализ телеметрии
- Выполнение текущей настройки для уменьшения количества бессмысленных или неактивных предупреждений
- Анализ оповещений
- Blameless PostMortems и Just Culture.
22. Разработка стратегии DevOps. Планирование DevOps
- Планирование изменений
- Выбор проекта
- Возможные структуры команды
Лабораторная работа: Agile-планирование и управление портфелями с помощью Azure Boards.
23. Планирование качества и безопасности
- Планирование стратегии качества
- Планирование безопасного развития
Лабораторная работа: Управление флагами (Feature Flag) с помощью LaunchDarkly и AzureDevOps.
Уметь использовать систему контроля версий. Масштабировать Git для предприятия. Внедрять и управлять инфраструктурой сборки. Разрабатывать стратегии качества и безопасности. Планировать миграции и консолидации артефактов и контроля версий.
Предварительная подготовка:
- Необходимо иметь фундаментальные знания о Azure, управлении версиями, гибкой разработке программного обеспечения и основных принципах разработки программного обеспечения. Было бы полезно иметь опыт в организации, которая поставляет программное обеспечение.
- Рекомендуется иметь опыт работы в среде IDE, а также некоторые знания портала Azure. Тем не менее, учащиеся, которые могут не иметь технического опыта в этих технологиях, но которые интересуются практикой DevOps как культурным сдвигом, должны иметь возможность следовать процедурным и пояснительным объяснениям непрерывной интеграции независимо от этого.
Программа:
1. Начало работы с контролем версий
- Введение в контроль версий
- Преимущества Source Control
- Типы систем Source Control)
- Введение в Azure Repos)
- Миграция из TFVC в Git)
- Аутентификация в Git Repos)
2. Расширение Git для корпоративных DevOps
- Структура репозитория
- Рабочие потоки в моделях ветвления/слияния Git
- Совместная работа с Pull Requests
- Зачем нужны Git Hooks?
- Поощрение внутреннего открытого источника
- Версионированиев Git
- Публичные проекты
- Файлы в Git
3. Внедрение и управление инфраструктурой сборки
- Концепция конвейеров Pipelines в DevOps
- Конвейеры Azure
- Оценка и спользования Hosted и Private частных агентов
- Пулы агентов
- Конвейеры и параллелизм
- Проекты Azure DevOps и Open Source
- Azure Pipelines YAML и Visual Designer
- Настройка частных агентов
- Интеграция Jenkins с конвейерами Azure
- Интеграция внешнего управления источниками с Azure Pipelines
- Анализ и интеграция многоэтапных сборок Docker
4. Управление настройками приложения и ключами)
- Введение в безопасность
- Внедрение безопасного и совместного процесса разработки
- Обработка данных конфигурации приложения
- Управление ключами, токенами и сертификатами
- Внедрение инструментов для управления безопасностью и соответствием в конвейере
5. Реализация стратегии мобильного DevOps
- Введение в мобильные DevOps
- Введение в Visual Studio App Center
- Управление наборами мобильных устройств и группами рассылки
- Управление наборами тестовых устройств пользовательского интерфейса
- Предоставление тестовых устройств для развертывания
- Создание публичных и частных групп рассылки
6. Реализация непрерывной интеграции (Continuous Integration, CI). Внедрение непрерывной интеграции (CI) в Azure DevOps Pipeline
- Обзор непрерывной интеграции
- Реализация Build Strategy
Лабораторная работа: использование CI с AzurePipelines
Лабораторная работа: Создание задания JenkinsBuildJob и Triggering CI.
7. Управление качеством кода и политиками безопасности.
- Управление качеством кода
- Управление политиками безопасности
Лабораторная работа: Управление техническим долгом с помощью AzureDevOps и SonarCloud
Лабораторная работа: Проверка уязвимостей с помощью WhiteSource Bolt и Azure DevOps.
8. Реализация стратегии Container Build
- Реализация стратегии Container Build
Лабораторная работа: Приложение .NET с образами Azure и Docker.
9. Реализация непрерывной поставки (ContinuousDelivery, CD). Разработка стратегии релиза
- Введение в непрерывную поставку
- Рекомендации по стратегии релиза
- Разработка высококачественного конвейера релиза
- Выбор шаблона развертывания
- Выбор правильного инструмента управления релизами
Лабораторная работа: Построение стратегии релиза.
10. Настройка процесса управления релизами (Release Management Workflow)
- Создание Release Pipeline
- Предоставление и настройка сред
- Управление и разбиение задач и шаблонов
- Интеграция ключей с Release Pipeline
- Настройка автоматической интеграции и автоматизации функционального тестирования
- Автоматизация проверки работоспособности
Лабораторная работа: Автоматизация развертывания инфраструктуры в облаке с помощью Terraform и AzurePipelines
Лабораторная работа: Настройка ключей в конвейере с помощью AzureKeyvault
Лабораторная работа: Настройка и запуск нагрузочных тестов
Лабораторная работа: Настройка и запуск функциональных тестов
Лабораторная работа: Использование Azure Monitor в качестве releasegate
Лабораторная работа: Создание Release Dashboard.
11. Реализация подходящего шаблона развертывания
- Введение в шаблоны развертывания (Deployment Patterns)
- Реализация сине-зеленого развёртывания (Blue Green Deployment)
- Функция Toggles
- Канарные (канареечные) релизы (Canary Releases)
- Dark Launching
- AB тестирование
- Progressive Exposure Deployment
Лабораторная работа: Blue Green Deployment
Лабораторная работа: Диспетчер трафика (Traffic Manager)
12. Внедрение управления зависимостями (Dependency Management, DM). Разработка стратегии управления зависимостями
- Упаковка зависимостей
- Управление пакетами (package)
- Реализация стратегии управления версиями
Лабораторная работа: Обновление пакетов
13. Управление безопасностью и соответствием
- Безопасность пакета (package)
- Программное обеспечение с открытым исходным кодом
- Интеграция сканирования лицензий и уязвимостей.
14. Реализация инфраструктуры приложения. Инструменты Azure для инфраструктуры и конфигурации
- Инфраструктура как управление кодом и конфигурацией
- Создание источников данных Azure с использованием шаблонов ARM
- Создание ресурсов Azure с помощью интерфейса командной строки Azure
- Создание ресурсов Azure с помощью AzurePowerShell
- Дополнительные инструменты автоматизации
- Контроль версий
Лабораторная работа: Развертывание в Azure с использованием шаблонов ARM.
15. Модели и службы развертывания Azure
- Модели и опции развертывания
- Службы Azure «Инфраструктура как услуга» (Infrastructure-as-a-Service, IaaS)
- Azure Automation Azure с DevOps
- Конфигурация желаемого состояния (Desired State Configuration, DSC)
- Службы Azure «Платформа как услуга» (Platform-as-a-Service, PaaS)
- Azure Service Fabric
Лабораторная работа: Развертывание IaaS или PaaS.
16. Создание и управление сервисной инфраструктурой Kubernetes
- Azure Kubernetes Service (AKS)
Лабораторная работа: Развертывания и масштабирование кластера AKS.
17. Сторонние инструменты и инструменты с открытым исходным кодом, доступные в Azure
- Chef
- Puppet
- Ansible
- Cloud-Init
- Terraform
Лабораторная работа: Подготовка и настройка приложения в Azure с использованием X.
18. Реализация соответствия и безопасности в инфраструктуре
- Принципы безопасности и соответствия с DevOps
- Центр безопасности Azure
Лабораторная работа: Интеграция сканирующего расширения или инструмента в конвейер/центр безопасности AZ DevOps.
19. Реализация непрерывной обратной связи (Continuous Feedback, СА). Рекомендации и разработка механизмов обратной связи
- Внутренний цикл
- Менталитет непрерывных экспериментов Continuous Experimentation
- Процессы измерения удовлетворенности конечных пользователей
- Процессы сбора и анализа отзывов пользователей
- Процесс проектирования для автоматизации аналитики приложений.
Лабораторная работа: интеграция DevOpsAzure и Teams.
Лабораторная работа: Флаги Feature Flags.
20. Внедрение процесса обратной связи для команд разработчиков
- Реализация инструментов для отслеживания использования системы, использования функций и потока
- Реализация маршрутизации для данных отчетов о сбоях мобильных приложений
- Разработка панели мониторинга и состояния
- Интеграция и настройка системы билетирования.
21. Оптимизация механизмов обратной связи
- Надежность сайта
- Анализ телеметрии
- Выполнение текущей настройки для уменьшения количества бессмысленных или неактивных предупреждений
- Анализ оповещений
- Blameless PostMortems и Just Culture.
22. Разработка стратегии DevOps. Планирование DevOps
- Планирование изменений
- Выбор проекта
- Возможные структуры команды
Лабораторная работа: Agile-планирование и управление портфелями с помощью Azure Boards.
23. Планирование качества и безопасности
- Планирование стратегии качества
- Планирование безопасного развития
Лабораторная работа: Управление флагами (Feature Flag) с помощью LaunchDarkly и AzureDevOps.