Microsoft AZ-400: Управление релизами и стратегии развертывания — Руководство по подготовке

Часть Microsoft DevOps Engineer Expert AZ-400 — Руководство по подготовке. Практикуйтесь с проверенными ответами в центре экзаменов Microsoft, или пройдите тесты на время на ExamRoll.io.

Обзор

Управление релизами в Azure основывается на повторяемой доставке, управляемой политиками, которая защищает доступность и ускоряет получение обратной связи. Освоение стратегий развертывания, контролируемых проверок (gated validations), поэтапного развертывания по кольцам (ring-based exposure) и «темных» запусков с помощью флагов функций (feature-flagged dark launches) позволяет командам непрерывно поставлять продукт, не жертвуя безопасностью. Azure Pipelines, Azure Deployment Environments, Azure Front Door/Traffic Manager и Azure App Configuration предоставляют единый набор инструментов для прогрессивной доставки, оркестрации в нескольких средах и аудируемого контроля изменений. В этом разделе объясняется, когда и как использовать каждую из этих возможностей, как их связывать между собой, а также какие практики отката и документирования ожидаются в конвейерах производственного уровня.

Стратегии развертывания и прогрессивная доставка

Сине-зеленое (blue-green) или красно-черное (red/black) развертывание предполагает развертывание новой версии в параллельную среду (зеленую), в то время как текущая (синяя) обслуживает трафик. В Azure App Service сине-зеленое развертывание реализуется с помощью слотов развертывания (deployment slots): развертывание в промежуточный слот (staging), его «прогрев», а затем переключение слотов (slot swap). Откат происходит мгновенно путем обратного переключения, поэтому сине-зеленое развертывание является самым быстрым вариантом отката. Используйте переключение слотов в сочетании с функцией «Swap with preview», чтобы проверить привязки и настройки приложения до перенаправления трафика.

Канареечное развертывание (canary) сначала выполняется для небольшой группы пользователей, а затем трафик постепенно увеличивается, если показатели работоспособности остаются в норме. В Azure канареечное развертывание реализуется с помощью:

Последовательные обновления (rolling updates) заменяют экземпляры постепенно, что позволяет избежать затрат на содержание двух парков экземпляров. В AKS настройте rollingUpdate с параметрами maxSurge и maxUnavailable; убедитесь, что пробы готовности/работоспособности (readiness/liveness probes) и бюджеты нарушений работы pod’ов (PDBs) защищают доступность. Для VM Scale Sets используйте политики последовательного обновления с пробами работоспособности приложения. Последовательное обновление экономично, но восстановление после системных регрессий происходит медленнее, чем при сине-зеленом развертывании.

Флаги функций (feature flags) отделяют релиз от развертывания. «Темный» запуск (dark launching) доставляет ветки кода, отключенные по умолчанию, что позволяет протестировать инфраструктуру, не открывая функции пользователям. Используйте флаги для контроля дорогостоящих миграций, постепенного открытия нового UI и быстрого отключения проблемного функционала. Это дополняет канареечные и кольцевые развертывания: развертывайте на широкую аудиторию, а затем постепенно включайте функционал.

Развертывание по кольцам (ring-based deployment) формализует постепенное предоставление доступа для разных групп пользователей (когорт). Определите кольца, например: R0 (внутренние пользователи), R1 (клиенты для канареечного тестирования), R2 (один регион) и R3+ (глобально). Критерии перехода на следующий этап должны быть объективными: соответствие SLO, отсутствие инцидентов уровня Sev2+ и приемлемые бизнес-показатели (KPI). Сочетайте кольца с переключением трафика (Front Door/Traffic Manager), проверками среды и шлюзами утверждения (approval gates), чтобы остановить или откатить развертывание на раннем этапе.

Сравнение Azure Front Door и Traffic Manager для постепенного переключения трафика: Front Door работает на 7-м уровне (L7) с мгновенными изменениями, пробами работоспособности, привязкой сессий (session affinity), маршрутизацией на основе пути и взвешенным разделением трафика — идеально для канареечных развертываний на уровне приложения и A/B-тестирования. Traffic Manager работает на уровне DNS; он лучше подходит для геомаршрутизации, аварийного переключения между облаками или канареечных развертываний на уровне регионов, но имеет ограничения, связанные с DNS TTL, и не обладает функциями уровня приложения.

Среды, утверждения и шлюзы

Azure Deployment Environments стандартизируют предоставление сред разработки/тестирования с помощью защитных механизмов (guardrails). Определения сред (environment definitions) — это шаблоны инфраструктуры как кода (Bicep/ARM/Terraform), описывающие воспроизводимые стеки. Определения хранятся в каталогах — Git-репозиториях, зарегистрированных в сервисе, — что позволяет создавать версионируемые и легко обнаруживаемые схемы сред. Разработчики самостоятельно создают экземпляры для разработки/тестирования в рамках корпоративных политик (квоты, RBAC, сетевые настройки), что устраняет «уникальные» конфигурации (snowflakes) и приводит среды низшего уровня в соответствие с топологией производственной среды.

Утверждения (approvals) устанавливают контроль со стороны человека там, где это необходимо. В Azure Pipelines:

Шлюзы релиза (release gates) требуют объективных доказательств перед повышением уровня развертывания. Azure Pipelines поддерживает такие проверки, как:

Внедряйте шлюзы на границах колец и во время канареечного развертывания, чтобы перейти от субъективных к измеримым решениям о продвижении релиза.

Конвейеры для нескольких сред, переменные и зависимости

Проектируйте многоэтапные YAML-конвейеры с явными зависимостями и привязкой к средам. Используйте задания развертывания с блоками стратегий (runOnce, rolling, canary) для моделирования постепенного выката и включайте хуки preDeploy, routeTraffic, postRouteTraffic и on: failure для автоматического отката. Этапы должны объявлять dependsOn и conditions, чтобы последующие среды запускались только после прохождения предыдущими шлюзов и утверждений.

Управляйте конфигурацией для конкретной среды с помощью:

Для развертываний в несколько сред предпочитайте неизменяемые артефакты с продвижением по средам (сборка один раз, развертывание много раз). Связывайте рабочие элементы с коммитами и сборками для обеспечения прослеживаемости, пока один и тот же артефакт перемещается от dev до prod, что позволяет создавать точные заметки к выпуску и проводить аудиты.

Стратегии отката и работа с базами данных

Планируйте стратегии отката до релиза:

undefined

или полагайтесь на хуки сбоя стратегии развертывания для запуска предыдущего ReplicaSet. В Azure App Service обратный обмен слотами происходит мгновенно; используйте его в паре с проверками работоспособности и шлюзами развертывания для автоматического принятия решений.

Флаги функций в Azure App Configuration и автоматизация заметок о выпуске

Azure App Configuration централизует управление функциями с помощью SDK для .NET, Java, Node.js и других платформ. Используйте метки для разграничения области действия флагов по средам или кольцам развертывания и включите динамическое обновление, чтобы приложения получали изменения без повторного развертывания.

Автоматизируйте создание заметок о выпуске для обеспечения отслеживаемости и коммуникации:

Практический сценарий

Компании Adobe необходимо внедрить новый механизм персонализации на своих маркетинговых сайтах, размещенных в Azure, не рискуя показателями конверсии во время пиковых кампаний. Команда должна часто выполнять развертывания, постепенно предоставлять доступ к новой функции, проверять SLO и мгновенно выполнять откат в случае ухудшения KPI.

  1. Определение сред с помощью Azure Deployment Environments
  1. Одна сборка, множество развертываний с помощью многоэтапных YAML-конвейеров
  1. Использование сине-зеленого развертывания со слотами App Service для унаследованного веб-уровня
  1. Внедрение канареечного развертывания через взвешенную маршрутизацию Azure Front Door
  1. Контроль продвижения по этапам с помощью объективных проверок (gates)
  1. Требование подтверждений на критически важных переходах
  1. Управление доступом к функции с помощью флагов функций Azure App Configuration
  1. Защита данных с помощью миграций по схеме “расширение-сжатие” (expand-contract)
  1. Автоматизация путей отката
  1. Автоматизация документации к релизу

Этот подход использует сильные стороны каждого инструмента: ADE для безопасных, воспроизводимых сред; стратегии YAML и подтверждения для управляемого потока; Front Door и App Configuration для многоуровневой постепенной доставки; Azure Monitor и шлюзы (gates) для объективного контроля качества; а также автоматизированные откаты и заметки о выпуске для обеспечения отказоустойчивости и отслеживаемости.


Контейнеризация и Kubernetes · Все домены · Безопасность

Отработать эти вопросы → · Тесты на время на ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Сдайте экзамен →

Просмотреть Microsoft →

Related guides

Все включено

Одна подписка. Каждый экзамен.

Каждый план открывает неограниченный поиск ответов, практические тесты, объяснения AI и полную библиотеку ресурсов — на более чем 20 языках.

Ежемесячно
24.87
Just €0.83/day
Все включено:
  • Неограниченный поиск ответов
  • Неограниченные практические тесты
  • Объяснения на основе AI
  • Полная библиотека ресурсов
  • 20+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

Кредитная карта не требуется*

Лучшая цена
12 месяцев
179.87
Just €0.49/daySave 40%
Все включено:
  • Неограниченный поиск ответов
  • Неограниченные практические тесты
  • Объяснения на основе AI
  • Полная библиотека ресурсов
  • 20+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

Кредитная карта не требуется*

✓ Включен бесплатный план · ✓ Отмена в любое время · ✓ Все планы открывают полный продукт