Цель программы:
предоставить знания и навыки разработки стратегии DevOps. Охватить планирование и реализацию процессов разработки DevOps, непрерывной интеграции (Continuous Integration, CI), непрерывной поставки (Continuous Delivery, CD), непрерывной обратной связи (Continuous Feedback, СА); внедрение управления зависимостями (Dependency Management, DM). Рассмотреть использование контроля версий, масштабирование Git для корпоративной среды, проектирование стратегии управления зависимостями, управление ключами, внедрение непрерывной интеграции, внедрение стратегии контейнеризации, проектирование стратегии релизов, настройка рабочих потоков управления релизами, внедрение шаблонов развертывания и оптимизация механизма обратной связи.
Продолжительность программы: 45 академических часов5 дней
Форма обучения: очно-заочная, с применением дистанционных образовательных технологий
Обучение является практико-ориентированным. В процессе учебы обучающиеся осуществляют разработку небольших учебных проектов, применяя на практике получаемые знания.
Категория слушателей и требования к уровню их подготовки:
- Специалисты, обладающие фундаментальными знаниями об Azure, управлении версиями, гибкой разработке программного обеспечения (Agile) и основных принципах разработки программного обеспечения
- Опыт работы в организации, поставляющей программное обеспечение, будет преимуществом
- Практический опыт работы с операционными системами, виртуализацией, облачной инфраструктурой, структурами хранения и сетями
- DevOps-специалистам и студентам, планирующим сдавать экзамен AZ-400
- Планировать преобразование в соответствии с общими целями и сроками;
- Выбирать проект и определять метрики и KPI проекта;
- Создавать команду и организационную структуру по Agile;
- Описать преимущества использования контроля версий (Source Control);
- Переносить данные из TFVC в Git;
- Использовать Git для корпоративных DevOps;
- Рекомендовать инструменты и методы управления артефактами;
- Обобщать основные пакеты для совместного и повторного использования;
- Мигрировать и обобщать артефакты; Мигрировать и интегрировать меры управления исходным кодом;
- Управлять конфигурацией приложений и ключами;
- Разрабатывать стратегию обеспечения качества в проекте;
- Планировать практики безопасной разработки и правила соответствия;
- Внедрять и управлять инфраструктурой сборки;
- Объяснить важность непрерывной интеграции(Continuous Integration);
- Реализовать непрерывную интеграцию с помощью Azure DevOps;
- Управлять качеством кода; Управлять политиками безопасности с открытым исходным кодом, OWASP и WhiteSource Bolt;
- Реализовать контейнерную стратегию, знать чем контейнеры отличаются от виртуальных машин и как используют контейнеры микросервисы; Реализовать контейнеры, используя Docker;
- Проверять пакеты программного обеспечения с открытым исходным кодом на соответствие требованиям безопасности и лицензий в соответствии с корпоративными стандартами;
- Настраивать конвейер сборки для доступа к настройкам безопасности пакета и рейтингу лицензии.
- Настраивать безопасный доступ к фидам пакетов;
- Различать релиз и развертывание;
- Определять компоненты конвейера релиза (Release pipeline);
- Понимать, что нужно учитывать при разработке стратегии релиза;
- Объяснить терминологию, используемую в Azure DevOps и других средствах управления выпуском
- Описать, что такое задача Build and Release;
- Классифицировать Agent, Agent Queue и Agent Pool;
- Внедрить тестирование в конвейер;
- Перечислить различные способы проверки работоспособности конвейера и релиза с помощью предупреждений, сервисных хуков и отчетов;
- Создавать Release Gate;
- Описать шаблоны развертывания;
- Реализовать сине-зеленое развертывание (Blue Green Deployment);
- Внедрить канарный релиз (Canary Release);
- Рекомендовать инструменты и методы управления артефактами;
- Производить рефакторинг существующих конвейеров сборки;
- Управлять безопасностью и соответствием;
- Развертывать и управлять инфраструктурой с использованием технологий автоматизации Microsoft, таких как шаблоны ARM, PowerShell и Azure CLI;
- Описать модели и службы развертывания, доступные в Azure;
- Развернуть и настроить управляемый кластер Kubernetes; Развернуть и настроить инфраструктуру с помощью сторонних инструментов и сервисов Azure — Chef, Puppet, Ansible, SaltStack и Terraform;
- Использовать методы измерения удовлетворенности конечных пользователей;
- Использовать процессы сбора и анализа отзывов пользователей из внешних источников;
- Настраивать интеграцию отчетов о сбоях для клиентских приложений;
- Разработать панель мониторинга и состояния;
- Анализировать оповещения и телеметрию;
- Проводить мониторинг сайтов в режиме реального времени и фиксировать отзывы о сбоях системы;
- Выполнять текущую настройку, чтобы уменьшить количество предупреждений;
- Выбирать проект и определять показатели проекта и ключевые показатели эффективности;
- Разработать стратегию качества проекта;
- Создать команду и гибкую организационную структуру;
Содержание курса:
- Планирование преобразований; Выбор проекта
- Структуры команд; Миграция в Azure DevOps
- Лабораторная работа: Планирование по Agile и управление портфолио в Azure Boards
- Введение в контроль версий (Source Control)
- Преимущества Source Control; Типы систем Source Control
- Введение в Azure Repos; Введение в GitHub
- Миграция из TFVC в Git в Azure Repos; Аутентификация в Git в Azure Repos
- Лабораторная работа: Управление версиями с Git
-
- Структура репозитория Git Repo; Рабочие потоки Git Branching
- Работа с запросами на вытягивание в Azure Repos
- Зачем нужны GitHooks? Поощрение внутреннего открытого источника
- Лабораторная работа: Проверка кода с Pull Requests
- Зависимости пакетов; Управление пакетами; Миграция и консолидация артефактов
- Лабораторная работа: Обновление пакетов
- Концепция конвейеров в DevOps; Azure Pipelines
- Сравнение использования Hosted Agent vs Private Agent
- Пулы агента;Конвейеры и конкурентный доступ
- Azure DevOps и проекты Open Source (Public Projects)
- Azure Pipelines YAML и Visual Designer
- Обзор непрерывной интеграции; Внедрение стратегии билдов; Интеграция с Azure Pipelines
- Интеграция внешнего Source Control с Azure Pipelines
- Настройка Private Agent; Анализ и интеграция Docker Multi-Stage Build
- Лабораторная работа: Включение непрерывной интеграции с Azure Pipelines. Интеграция внешнего Source Control с Azure Pipelines. Интеграция Jenkins с Azure Pipelines. Развертывание мультиконтейнерного приложения
- Введение в безопасность; Внедрение требований безопасности и соответствий в процесс разработки
- Переосмысление данных конфигурации приложения
- Управление ключами, токенами и сертификатами
- Внедрение инструментов управления безопасностью и соответствием в конвейере
- Лабораторная работа: Интеграция Azure Key Vault с Azure DevOps
- Управление качеством кода;
- Управление политиками безопасности.
- Лабораторная работа: Управление техническим долгом с помощью Azure DevOps и SonarCloud
- Реализация стратегии Container Build
- Лабораторная работа: Модернизация приложений ASP.NET с Azure
Управление качеством кода;
Управление политиками безопасности.
Лабораторная работа: Управление техническим долгом с помощью Azure DevOps и SonarCloud
- Безопасность пакетов
- Программные продукты с открытым исходным кодом (Open source software)
- Интеграция лицензий и сканеров уязвимостей
- Внедрение стратегии версионности (git version)
- Лабораторная работа: Управление лицензиями и безопасностью открытого исходного кода с WhiteSource
- Введение в непрерывную поставку;
- Рекомендации по стратегии релиза;
- Разработка высококачественного конвейера релиза;
- Выбор шаблона развертывания; Выбор правильного инструмента управления релизами.
- Создание Release Pipeline; Предоставление и настройка сред;
- Управление и разбиение задач и шаблонов; Интеграция ключей с Release Pipeline;
- Настройка автоматической интеграции и автоматизации функционального тестирования;
- Автоматизация проверки работоспособности.
- Лабораторная работа: Настройка конвейера как кода с YAML; Настройка ключей в конвейере с помощью Azure Key vault; Настройка и запуск функциональных тестов; Использование Azure Monitor в качестве release gate; Создание Release Dashboard
- Введение в шаблоны развертывания (Deployment Patterns);
- Реализация сине-зеленого развёртывания (Blue Green Deployment);
- Функция Toggles; Канарные релизы (Canary Releases);
- Dark Launching; AB тестирование; Progressive Exposure Deployment.
- Лабораторная работа: Управление флагами компонента с помощью LaunchDarkly и Azure DevOps
- Реализация инструментов для отслеживания использования системы, использования функций и потока; Реализация маршрутизации для данных отчетов о сбоях мобильных приложений;
- Разработка панели мониторинга и состояния;
- Интеграция и настройка системы билетирования.
- Лабораторная работа: Мониторинг производительности приложений
- Введение в мобильные DevOps; Введение в Visual Studio App Center;
- Управление наборами мобильных устройств и группами рассылки;
- Управление наборами тестовых устройств пользовательского интерфейса;
- Предоставление тестовых устройств для развертывания;
- Создание публичных и частных групп рассылки.
- Инфраструктура как управление кодом и конфигурацией;
- Создание источников данных Azure с использованием шаблонов ARM;
- Создание ресурсов Azure с помощью интерфейса командной строки Azure;
- Создание ресурсов Azure с помощью Azure PowerShell;
- Desired State Configuration (DSC); Автоматизация в Azure с DevOps;
- Дополнительные инструменты автоматизации.
- Лабораторная работа: Развертывание Azure с шаблоном управления ресурсами
- Модели и опции развертывания;
- Службы Azure «Инфраструктура как услуга» (Infrastructure-as-a-Service, IaaS);
- Службы Azure «Платформа как услуга» (Platform-as-a-Service, PaaS);
- Безсерверные и высокопроизводительные вычисления как услуги
- Azure Service Fabric.
- Лабораторная работа: Развертывание IaaS или PaaS
- Azure Kubernetes Service (AKS).
- Лабораторная работа: Развертывания и масштабирование кластера AKS
- Chef; Puppet; Ansible; Terraform
- Лабораторная работа: Инфраструктура как код; Автоматизация развертывания в облаке с помощью Terraform и Azure Pipelines
- Принципы безопасности и соответствия с DevOps
- Центр безопасности Azure
- Лабораторная работа: Внедрение безопасности и соответсвия в AZ DevOps Pipeline
- Внутренний цикл
- Менталитет непрерывных экспериментов (Continuous Experimentation)
- Процессы измерения удовлетворенности конечных пользователей
- Процессы сбора и анализа отзывов пользователей
- Процесс проектирования для автоматизации аналитики приложений
- Лабораторная работа: Интеграция DevOps Azure и Teams
- Надежность сайта; Анализ телеметрии;
- Выполнение текущей настройки для уменьшения количества бессмысленных или неактивных предупреждений;
- Анализ оповещений; Blameless PostMortems и Just Culture.