Microsoft AZ-400: リリース管理とデプロイ戦略 — 学習ガイド

こちらの一部です: Microsoft DevOps Engineer Expert AZ-400 — 学習ガイド. 検証済みの解答で練習: Microsoft試験ハブ, または時間制限付き模擬試験に挑戦: ExamRoll.io.

概要

Azureでのリリース管理は、可用性を保護しつつフィードバックを加速させる、反復可能でポリシーに基づいたデリバリーを要とします。デプロイ戦略、ゲート付き検証、リングベースの公開、機能フラグによるダークローンチを習得することで、チームは安全性を犠牲にすることなく継続的にシップできます。Azure Pipelines、Azure Deployment Environments、Azure Front Door/Traffic Manager、およびAzure App Configurationは、プログレッシブデリバリー、マルチ環境オーケストレーション、監査可能な変更管理のためのまとまりのあるツールチェーンを提供します。このセクションでは、各機能をいつ、どのように使用するか、それらをどのように連携させるか、そして本番環境グレードのパイプラインで期待されるロールバックとドキュメント化の実践について説明します。

デプロイ戦略とプログレッシブデリバリー

ブルーグリーン(レッド/ブラック)は、現在の(ブルー)環境がトラフィックを処理している間に、新しいバージョンを並列環境(グリーン)にデプロイします。Azure App Serviceでは、デプロイスロットがブルーグリーンを実装します。ステージングにデプロイし、ウォームアップしてから、スロットスワップを実行します。ロールバックはスワップバックすることで瞬時に行えるため、ブルーグリーンは最速のロールバックオプションです。スロットスワップを「プレビュー付きスワップ」と組み合わせることで、トラフィックを移動する前にバインディングとアプリ設定を検証します。

カナリアデプロイは、まず少数のユーザーにデプロイし、健全性が維持されるにつれてトラフィックを段階的に増やします。Azureでは、カナリアを次のように実装します:

ローリングアップデートはインスタンスを段階的に置き換え、デュアルフリートのコストを回避します。AKSでは、maxSurgeとmaxUnavailableを使用してrollingUpdateを設定し、readiness/livenessプローブとPDBが可用性を保護することを確認します。VM Scale Setsでは、アプリケーションヘルスプローブを備えたローリングアップグレードポリシーを使用します。ローリングは経済的ですが、システム全体のリグレッションからの回復はブルーグリーンよりも遅くなります。

機能フラグはリリースとデプロイを分離します。ダークローンチは、デフォルトで無効化されたコードパスをシップし、機能を公開せずにインフラストラクチャを試します。フラグを使用して、コストのかかる移行をゲートし、UIを段階的に公開し、問題のある動作を迅速に停止します。これはカナリアとリングを補完します:広範囲にデプロイし、その後段階的に有効化します。

リングベースのデプロイは、コホート全体での段階的な公開を形式化します。R0(内部)、R1(カナリア顧客)、R2(1リージョン)、R3+(グローバル)などのリングを定義します。昇格基準は客観的でなければなりません:SLOへの準拠、Sev2以上のインシデントがないこと、許容可能なビジネスKPIなどです。リングをトラフィックシフト(Front Door/Traffic Manager)、環境チェック、承認ゲートと組み合わせて、早期に停止またはロールバックします。

プログレッシブなトラフィックシフトにおけるAzure Front DoorとTraffic Managerの比較:Front Doorはレイヤー7で動作し、即時の変更、ヘルスプローブ、セッションアフィニティ、パスベースのルーティング、加重分割を備えており、アプリ層のカナリアやA/Bテストに最適です。Traffic ManagerはDNSで動作します。ジオルーティング、クロスクラウドフェイルオーバー、またはリージョンレベルのカナリアに適していますが、DNS TTLの考慮事項があり、アプリケーション層の機能はありません。

環境、承認、ゲート

Azure Deployment Environmentsは、ガードレール付きで開発/テスト環境のプロビジョニングを標準化します。環境定義は、反復可能なスタックを記述するinfrastructure-as-codeテンプレート(Bicep/ARM/Terraform)です。定義はカタログ(サービスに登録されたGitリポジトリ)に存在し、バージョン管理された、発見可能な環境のブループリントを可能にします。開発者は、企業のポリシー(クォータ、RBAC、ネットワーキング)によって制約された開発/テストインスタンスをセルフサービスで利用でき、スノーフレークを排除し、下位環境を本番トポロジに合わせることができます。

承認は、必要な場合に人間が介在する(human-in-the-loop)制御を確立します。Azure Pipelinesでは:

リリースゲートは、昇格前に客観的なエビデンスを強制します。Azure Pipelinesは、次のようなチェックをサポートしています:

リングの境界やカナリア中にゲートを実装し、主観的な昇格決定から測定可能な昇格決定へと移行します。

マルチ環境パイプライン、変数、依存関係

明示的な依存関係と環境スコープを持つマルチステージのYAMLパイプラインを設計します。strategyブロック(runOnce, rolling, canary)を持つデプロイメントジョブを使用してプログレッシブロールアウトをモデル化し、自動ロールバックのためにpreDeploy, routeTraffic, postRouteTraffic, on: failureのフックを含めます。ステージではdependsOnとconditionsを宣言し、後の環境は前の環境がゲートと承認を通過した後にのみ実行されるようにします。

環境固有の設定は、以下を通じて管理します:

複数の環境へのデプロイには、プロモーションを伴うイミュータブルなアーティファクト(一度ビルドし、多数の環境にデプロイ)が推奨されます。作業項目をコミットとビルドに紐付け、同じアーティファクトが開発環境から本番環境へ流れる際のトレーサビリティを維持し、正確なリリースノートと監査を可能にします。

ロールバック戦略とデータベースに関する考慮事項

リリースする前にロールバックを計画します:

Azure App Configurationによる機能フラグとリリースノートの自動化

Azure App Configurationは、.NET、Java、Node.jsなどのSDKを使用して機能管理を一元化します。ラベルを使用して環境やリングごとにフラグのスコープを定義し、動的リフレッシュを有効にすることで、アプリは再デプロイなしで変更を取得できます。

リリースノートを自動化して、トレーサビリティとコミュニケーションを提供します:

実践的な問題シナリオ

Adobeは、ピークキャンペーン中のコンバージョン率をリスクにさらすことなく、Azureでホストされているマーケティングサイトに新しいパーソナライゼーションエンジンを導入する必要があります。チームは、頻繁にデプロイし、機能を段階的に公開し、SLOを検証し、KPIが悪化した場合は即座にロールバックする必要があります。

  1. Azure Deployment Environmentsで環境を定義する
  1. マルチステージYAMLで一度ビルドし、多段階にデプロイする
  1. レガシーWeb層にApp Serviceスロットでブルーグリーン展開を使用する
  1. Azure Front Doorの重み付けルーティングでカナリア展開を導入する
  1. 客観的なチェックでプロモーションをゲート管理する
  1. 重要な移行時に承認を要求する
  1. Azure App Configurationの機能フラグで公開範囲を制御する
  1. 拡張-縮小移行でデータを保護する
  1. ロールバックパスを自動化する
  1. リリースドキュメントを自動化する

このアプローチは、各ツールをその強みに応じて使用します:安全で再現可能な環境のためのADE、統制されたフローのためのYAML戦略と承認、階層的な段階的配信のためのFront DoorとApp Configuration、客観的な品質管理のためのAzure Monitorとゲート、そして回復力とトレーサビリティのための自動ロールバックとリリースノートです。


コンテナ化と Kubernetes · すべてのドメイン · セキュリティ、コンプライアンス、DevSecOps

これらの問題を練習する → · 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

オールインワンアクセス

1つのサブスクリプション。すべての試験。

すべてのプランで、無制限の回答検索、模擬試験、AI解説、および完全なリソースライブラリが利用可能 — 20以上の言語に対応。

月額
24.87
Just €0.83/day
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

ベストバリュー
12ヶ月
179.87
Just €0.49/daySave 40%
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

✓ 無料プランが含まれています · ✓ いつでもキャンセル可能 · ✓ すべてのプランで製品の全機能が利用可能