CC

\u516C\u5F0F AZ-400 \u8A66\u9A13\u30AC\u30A4\u30C9

\u8A66\u9A13\u5F62\u5F0F\u3001\u30C9\u30E1\u30A4\u30F3\u3001\u6E96\u5099\u306E\u30D2\u30F3\u30C8

AZ-400:Microsoft DevOpsソリューションの設計と実装 学習ガイド

試験概要

  • 認証: Microsoft DevOps エキスパート
  • 試験コード: AZ-400
  • 対象者: DevOpsエンジニア、開発者、インフラストラクチャ管理者
  • 必要経験: Azureの管理と開発の両方、GitHubおよびAzure DevOpsの経験

前提条件

  • 以下のアソシエイトレベルの認証のいずれか:
    • Azure 管理者アソシエイト (AZ-104)
    • Azure 開発者アソシエイト (AZ-204)

評価対象分野 (2024年7月26日現在)

1. プロセスとコミュニケーションの設計と実装 (10-15%)

作業の追跡性とフローの設計と実装

  • 作業フローの構造設計 (GitHub Flow)
  • フィードバックサイクルの戦略設計 (通知、GitHubの課題)
  • 作業追跡の統合設計 (GitHub プロジェクト、Azure Boards、リポジトリ)
  • ソース、バグ、品質の追跡性設計

DevOpsに適切なメトリクスとクエリの設計と実装

  • ダッシュボードの設計と実装 (サイクルタイム、復旧時間、リードタイム)
  • プロジェクト計画に適したメトリクス
  • 開発に適したメトリクス
  • テストに適したメトリクス
  • セキュリティに適したメトリクス
  • 納品に適したメトリクス
  • 運用に適したメトリクス

コラボレーションとコミュニケーションの構成

  • Markdownとマーメイドを使ったウィキとプロセス図による製品の説明
  • リリースドキュメントとAPI ドキュメントの構成
  • Gitの履歴からのドキュメント自動化
  • Webhookの統合構成
  • Azure Boardsとギットリポジトリの統合構成
  • Microsoft Teamsとの統合構成

2. ソース管理戦略の設計と実装 (10-15%)

ブランチング戦略の設計と実装

  • ブランチ戦略の設計 (トランクベース、機能ブランチ、リリースブランチ)
  • ブランチポリシーと保護を使ったプルリクエストワークフローの実装
  • ブランチマージの制限の実装

リポジトリの構成と管理

  • 大容量ファイルの管理戦略 (Git LFS、git-fat)
  • Gitリポジトリのスケーリングと最適化戦略 (Scalar、リポジトリ間共有)
  • ソース管理のアクセス許可の構成
  • リポジトリの整理のためのタグの構成
  • Gitコマンドを使ったデータの復旧
  • ソース管理からの特定データの削除

3. ビルドとリリースパイプラインの設計と実装 (50-55%)

パッケージ管理戦略の設計と実装

  • パッケージ管理ツールの推奨 (GitHub Packages、Azure Artifacts)
  • ローカルおよび上流パッケージ用のパッケージフィードとビューの設計
  • 依存関係バージョニング戦略の実装 (SemVer、CalVer)
  • パイプラインアーティファクトのバージョニング戦略の実装

パイプラインの検証戦略の設計と実装

  • 品質とリリースゲートの設計と実装
  • 包括的な検証戦略の設計 (ローカル、単体、統合、負荷テスト)
  • パイプラインでのテストの実装 (テストタスク、テストエージェント、テスト結果)
  • コードカバレッジ分析の実装

パイプラインの設計と実装

  • デプロイメント自動化ソリューションの選択 (GitHub Actions、Azure Pipelines)
  • GitHub ランナーまたはAzure DevOpsエージェントインフラストラクチャの設計
  • GitHubリポジトリとAzure Pipelinesの統合
  • パイプラインのトリガールールの策定
  • YAMLを使ったパイプラインの開発
  • ジョブ実行順序の設計戦略 (並列性、マルチステージ)
  • ハイブリッド、VMテンプレート、セルフホストランナーなど複雑なパイプラインシナリオの開発
  • 再利用可能なパイプライン要素の作成 (YAMLテンプレート、タスクグループ、変数)
  • YAMLの環境を使ったチェックと承認の設計

デプロイメントの設計と実装

  • デプロイメント戦略の設計 (ブルー/グリーン、カナリア、リング、プログレッシブエクスポージャー、機能フラグ、A/Bテスト)
  • 依存関係のデプロイがきちんと順序付けられるようにする
  • ダウンタイムの最小化 (VIP スワップ、ロードバランシング、ローリングデプロイ、デプロイメントスロット)
  • ホットフィックスパス計画の設計
  • デプロイメントの信頼性戦略の実装
  • Azure App Configurationを使った機能フラグの実装
  • アプリケーションデプロイ (コンテナー、バイナリ、スクリプト)
  • データベーステスクを伴うデプロイの実装

インフラストラクチャ as Codeの設計と実装

  • 構成管理テクノロジの推奨
  • 構成管理戦略の実装
  • IaC戦略の定義 (ソース管理、テストと展開の自動化)
  • 所望の状態の構成の実装 (Azure Automation、ARM、Bicep、Automanage)
  • Azure展開環境の実装

パイプラインの保守

  • パイプラインの健全性の監視 (失敗率、期間、不安定なテスト)
  • コスト、時間、パフォーマンス、信頼性の観点からのパイプラインの最適化
  • パイプラインの並行性の最適化
  • アーティファクトと依存関係の保持戦略の設計
  • クラシックからYAMLへのパイプラインの移行

4. セキュリティとコンプライアンスの計画の開発 (10-15%)

認証と承認の設計と実装

  • サービスプリンシパルと管理ID の選択
  • GitHubの認証の実装 (GitHubApp、GITHUB_TOKEN、PAT)
  • Azure DevOpsのサービス接続とPATの実装
  • GitHubの権限とロールの設計
  • Azure DevOpsのプロジェクトとセキュリティグループの権限の設計
  • 適切なアクセスレベルの構成
  • Azure DevOpsのプロジェクトとチームの構成

機密情報管理戦略の設計と実装

  • Azure Key Vaultを使った秘密キー、証明書の実装
  • GitHub ActionsとAzure Pipelinesでの秘密情報の実装
  • デプロイ時の機密ファイルの管理 (セキュアファイル)
  • 機密情報の漏洩を防ぐパイプラインの設計

セキュリティとコンプライアンススキャンの自動化

  • セキュリティとコンプライアンススキャン戦略の設計
  • Microsoft Defender for Cloud DevOps Securityの構成
  • GitHub Advanced Securityの構成
  • GitHub Advanced SecurityとMicrosoft Defenderの統合
  • コンテナスキャンとCodeQLの自動化
  • Dependabotアラートを使った自動分析

5. 計装戦略の実装 (5-10%)

DevOps環境の監視の構成

  • Azure Monitor とLog Analyticsの統合構成
  • テレメトリ収集の構成 (Application Insights、VM Insights、Container Insights、Storage Insights、Network Insights)
  • GitHubの監視 (インサイト、チャート)の構成
  • GitHub ActionsとAzure Pipelinesのアラートの構成

計装からのメトリクス分析

  • インフラストラクチャのパフォーマンス指標の検査 (CPU、メモリ、ディスク、ネットワーク)
  • 収集されたテレメトリを使ったメトリクスの分析
  • Application Insightsを使ったトレーシングの検査
  • 基本的なKQLクエリを使ったログの調査

主要な学習リソース

公式Microsoft Learn パス

  • DevOpsの基本を学ぶ
  • エンタープライズ DevOpsのための開発
  • Azure PipelinesとGitHub Actionsでの CI の実装
  • リリース戦略の設計と実装
  • Azure Pipelinesを使ったセキュアな継続的デプロイの実装
  • Azure を使ったインフラストラクチャ as Codeの管理

ツールと技術

  • Azure DevOps Services
  • GitHub と GitHub Actions
  • Azure Pipelines
  • Azure Artifacts
  • Azure Boards
  • Azure Repos
  • Azure Test Plans

演習用リソース

  • Microsoft Learnの無料の実践形式の評価
  • Azure DevOps Labs
  • GitHub Learning Lab
  • サンプルYAMLパイプライン

試験の詳細

  • 合格点: 700点
  • 問題形式: ケーススタディ、多肢選択、ドラッグアンドドロップ
  • 試験時間: 120分 (非母語話者は150分)
  • 利用可能言語: 英語、日本語、中国語、韓国語、ドイツ語、フランス語、スペイン語、ポルトガル語、イタリア語など
  • 受験料: 165 USD (地域による変動)

習熟が重要な主要テクノロジ

バージョン管理

  • Gitワークフローと戦略
  • GitHub Flow
  • ブランチポリシーと保護
  • プルリクエストワークフロー
  • 大容量ファイルのための Git LFS

CI/CDプラットフォーム

  • Azure Pipelines YAML 構文
  • GitHub Actions ワークフロー
  • パイプラインのトリガーと条件
  • マルチステージパイプライン
  • マトリックスビルド

パッケージ管理

  • Azure Artifacts
  • GitHub Packages
  • NuGet、npm、Mavenフィード
  • 上流ソース
  • フィードビューと保持

インフラストラクチャ as Code

  • ARMテンプレート
  • Bicep
  • Terraformの基礎
  • Azure CLI/PowerShell
  • 所望の状態の構成

セキュリティツール

  • Azure Key Vault
  • GitHub Secrets
  • セキュアファイル
  • サービス接続
  • マネージドID

監視

  • Application Insights
  • Azure Monitor
  • Log Analytics
  • KQLクエリ
  • アラートとダッシュボード

DevOpsプラクティス

継続的インテグレーション

  • ビルドの自動化
  • 単体テスト
  • コードカバレッジ
  • 静的コード分析
  • アーティファクトの公開

継続的デリバリー

  • リリースパイプライン
  • 環境プロモーション
  • 承認ゲート
  • ロールバック戦略
  • 機能トグル

テスト戦略

  • テスト階層
  • シフトレフトテスト
  • テスト自動化
  • パフォーマンステスト
  • セキュリティテスト

デプロイメントパターン

  • ブルー/グリーンデプロイメント
  • カナリアリリース
  • リングデプロイ
  • プログレッシブロールアウト
  • 機能フラグ

認証パス

  • 前提条件: AZ-104もしくはAZ-204が必要
  • 更新: Microsoft Learnを通じて12か月ごとに更新が必要
  • 関連する認証:
    • Azure ソリューションアーキテクト エキスパート (AZ-305と共に)
    • Azure セキュリティエンジニア アソシエイト (AZ-500)
    • GitHub 認証

重要なコンセプト

DevOps文化

  • 開発とオペレーションの協力
  • 共有責任
  • 継続的改善
  • 早期失敗、迅速な学習
  • インフラストラクチャ as Code

アジャイルプランニング

  • ユーザーストーリーとエピック
  • スプリント計画
  • バーンダウンチャート
  • 速度の追跡
  • レトロスペクティブ

セキュリティ (DevSecOps)

  • セキュリティを左シフト
  • パイプラインでのセキュリティスキャン
  • 依存関係のスキャン
  • コンテナセキュリティ
  • コンプライアンスas Code