Казахстан, г. Алматы, ул. Шевченко 90, БЦ «Каратал», офис 53
Казахстан, г. Астана, ул. Иманова 19, БЦ Деловой Дом "Алма-Ата", офис 612

направление: Microsoft Azure кол-во дней: 4
вендор: Microsoft кол-во часов: 32
код курса: AZ-400

Цель курса – Предоставить слушателям знания и навыки разработки стратегии DevOps. Курс охватывает планирование и реализацию процессов разработки DevOps, непрерывной интеграции (Continuous Integration, CI), непрерывной поставки (Continuous Delivery, CD), непрерывной обратной связи (Continuous Feedback, СА); внедрение управления зависимостями (Dependency Management, DM). В курсе рассмотрены использование контроля версий, масштабирование Git для корпоративной среды, проектирование стратегии управления зависимостями, управление ключами, внедрение непрерывной интеграции, внедрение стратегии контейнеризации, проектирование стратегии релизов, настройка рабочих потоков управления релизами, внедрение шаблонов развертывания и оптимизация механизма обратной связи.
 

Аудитория

Этот курс предназначен для специалистов, обладающих фундаментальными знаниями об Azure, управлении версиями, гибкой разработке программного обеспечения (Agile) и основных принципах разработки программного обеспечения. Опыт работы в организации, поставляющей программное обеспечение, будет преимуществом. Курс будет интересен DevOps-специалистам и слушателям, планирующим сдавать экзамен AZ-400.

По окончании курса слушатели смогут:

  • Планировать преобразование в соответствии с общими целями и сроками;
  • Выбирать проект и определять метрики и KPI проекта;
  • Создавать команду и организационную структуру по Agile;
  • Разработать стратегию управления лицензиями (например, для пользователей Azure DevOps и GitHub)
  • Разработать стратегию для сквозного отслеживания от рабочих элементов до работающего программного обеспечения
  • Разработать стратегию аутентификации и доступа
  • Проектировать стратегию интеграции локальных и облачных ресурсов
  • Описать преимущества использования контроля версий (Source Control);
  • Описать Azure Repos и GitHub;
  • Переносить данные из TFVC в Git;
  • Управлять качеством кода, включая SonarCloud и другие инструментальные решения;
  • Объяснять, как структурировать репозитории Git
  • Описать рабочие процессы ветвления Git;
  • Использовать запросы на включение внесенных изменений
  • Использовать перехватчики Git для автоматизации;
  • Использовать Git для поддержания внутреннего источника в организации;
  • Описать роль решения Azure Pipelines и его компонентов;
  • Настроить агенты для использования в Azure Pipelines;
  • Реализовать непрерывную интеграцию с использованием Azure Pipelines;
  • Использовать методы измерения удовлетворенности конечных пользователей;
  • Использовать процессы сбора и анализа отзывов пользователей из внешних источников;
  • Настраивать интеграцию отчетов о сбоях для клиентских приложений;
  • Проводить мониторинг сайтов в режиме реального времени и фиксировать отзывы о сбоях системы;
  • Управлять оповещениями
  • Выполнять ретроспективу, соответствующую культуре справедливости
  • Определить инфраструктуру и настроить стратегию соответствующего набора инструментов для конвейера выпуска и инфраструктуры приложения
  • Реализовать соответствие и безопасность инфраструктуры приложений
  • Описать возможные проблемы при интеграции программного обеспечения с открытым исходным кодом
  • Проверить пакеты программного обеспечения с открытым исходным кодом на безопасность и соответствие лицензиям
  • Управлять безопасностью организации и политиками соответствия
  • Интегрировать лицензии и проверки на уязвимости в конвейеры сборки и развертывания
  • Настраивать конвейер сборки для доступа к безопасности пакета и оценкам лицензий

Необходимая подготовка

Для эффективного обучения на курсе слушатели должны обладать следующими знаниями и навыками:

  • Понимание облачных вычислений, включая понимание реализации PaaS, SaaS и IaaS.
  • Администрирование Azure и разработка для Azure с опытом работы по крайней мере в одной из этих областей.
  • Управление версиями, разработка программного обеспечения в стиле Agile и основные принципы разработки программного обеспечения.

 

Модуль 1: Начало перехода на DevOps

Темы:

  • Введение в DevOps
  • Выбор правильного проекта
  • Описание структур команд
  • Выбор средств DevOps
  • Рациональное планирование с помощью GitHub Projects и Azure Boards
  • Общие сведения о системе управления версиями
  • Описание типов систем управления версиями
  • Работа с Azure Repos и GitHub

Лабораторная работа:

  • Планирование по Agile и управление портфолио в Azure Boards
  • Управление версиями с помощью Git в Azure Repos

Модуль 2: Разработка для корпоративной стратегии DevOps

Темы

  • Структурирование репозитория Git
  • Управление ветвями и рабочими процессами Git
  • Совместная работа с pull-запросами в Azure Repos
  • Изучение Git hooks
  • Управление репозиториями Git
  • Выявление технического долга

Лабораторная работа:

  • Управление версиями с помощью Git в Azure Repos

Модуль 3: Непрерывная интеграция (CI) с помощью Azure Pipelines и GitHub Actions

Темы

  • Обзор Azure Pipelines
  • Управление агентами и пулами Azure Pipelines
  • Описание конвейеров и параллелизма
  • Знакомство с непрерывной интеграцией
  • Реализация стратегии конвейера
  • Интеграция с Azure Pipelines
  • Введение в GitHub Actions
  • Изучение непрерывной интеграции с GitHub Actions
  • Проектирование стратегии сборки контейнера

Лабораторная работа:

  • Настройка пулов агентов и изучение стилей конвейера
  • Включение непрерывной интеграции с помощью Azure Pipelines
  • Интеграция внешней системы управления версиями с Azure Pipelines
  • Внедрение GitHub Actions с помощью DevOps Starter
  • Развертывание контейнеров Docker в веб-приложениях Azure App Service

Модуль 4: Разработка и реализация стратегии релизов

Темы

  • Введение в непрерывную поставку (CD);
  • Рекомендации по стратегии релиза;
  • Введение в шаблоны развертывания (Deployment Patterns);
  • Реализация сине-зеленого развёртывания (Blue Green Deployment);
  • Канарные релизы (Canary Releases) и Dark Launching;
  • A/B тестирование и Progressive Exposure Deployment.

Лабораторная работа:

  • Создание информационной панели релизов (Release Dashboard)
  • Управление развертываниями с помощью Release Gates

Модуль 5: Защищенное непрерывное развертывание с помощью Azure Pipelines

Темы

  • Создание конвейера выпуска
  • Подготовка и тестирование сред
  • Управление задачами и шаблонами и их модульной организацией
  • Автоматизация проверки работоспособности
  • Управление данными конфигурации приложений
  • Интеграция с системами управления удостоверениями

Лабораторная работа:

  • Настройка конвейеров в виде кода с помощью YAML
  • Настройка и запуск функциональных тестов
  • Интеграция Azure Key Vault с Azure DevOps

Модуль 6: Управление инфраструктурой с помощью Azure и DSC

Темы

  • Инфраструктура как код и управление конфигурацией
  • Создание ресурсов Azure с помощью шаблонов ARM
  • Создание ресурсов Azure с помощью Azure CLI
  • Автоматизация Azure с помощью DevOps
  • Конфигурация Desired State Configuration (DSC)
  • Внедрение Bicep

Лабораторная работа:

  • Развертывание в Azure с помощью шаблонов Azure Resource Manager

Модуль 7: Реализация безопасности и проверка кода на соответствие требованиям

Темы

  • Введение в Secure DevOps
  • Реализация ПО с открытым исходным кодом
  • Software Composition Analysis
  • Статические анализаторы
  • OWASP и динамические анализаторы
  • Мониторинг безопасности и управление ею

Лабораторная работа:

  • Реализация системы безопасности и соответствия требованиям в Azure Pipelines
  • Управление техническим долгом с помощью SonarQube и Azure DevOps

Модуль 8: Проектирование и внедрение стратегии управления зависимостями

Темы

  • Зависимости пакетов
  • Управление пакетами
  • Миграция и консолидация артефактов
  • Реализация стратегии управления версиями
  • Введение в GitHub Packages

Лабораторная работа:

  • Управление пакетами с Azure Artifacts

Модуль 9: Реализация непрерывной обратной связи

Темы

  • Внедрение инструментов по отслеживанию использования системы, функций и потоков;
  • Разработка панелей мониторинга и состояния
  • Управление знаниями в командах
  • Разработка процессов для автоматизации аналитики приложений
  • Работа с предупреждениями, ретроспективными собраниями с культурой беспристрастности

Лабораторная работа:

  • Мониторинг производительности приложений с помощью Application Insights
  • Интеграция между Azure DevOps и Microsoft Teams
  • Обмен знаниями в командах с использованием Azure Project Wikis