AZ-400:Designing and Implementing Microsoft DevOps Solutionsを受験し合格した

## はじめに

だいぶ期間が空いてしまいAZ-103がAZ-104になってしまいましたが、バウチャーの期限も切れそうだったのでAZ-400を受験してきて合格できました。他試験の所感等は以下のリンクから参照ください。

* [AZ-900:Microsoft Azure Fundamentalsを受験し合格した](https://qiita.com/kita-atsushi/items/a4f5f328df3656b4a1e2)
* [AZ-103:Microsoft Azure Administratorを受験し合格した](https://qiita.com/kita-atsushi/items/b5078a15879c8932f781)
* [AZ-203:Developing Solutions for Microsoft Azureを受験し合格した](https://qiita.com/kita-atsushi/items/c97c40f239e30a27f372)

本記事のAZ-400はMCP試験体系の以下赤枠に位置付けする試験です。
AZ-104(AZ-103)またはAZ-204(AZ-203)を取得していないと受験できないExpertレベルの資格(星マーク)となります。

![スクリーンショット 2021-03-22 22.55.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133866/4c996bb8-866b-b6da-d33c-2ad7524d9187.png)

本試験はAZ-XXX同様に参考書がパッと見つかりません。何を元にAzureを習得するのが良いかまたも迷子になりましたので個人的に参考まで勉強したこと、そして受験後の所感を記載します。

これから受験される方の助けになれば幸いです。

## 試験

* 試験日: 2021/3/22
* 試験場所: 最寄りのPeasonVue試験会場
* 試験名: [試験 AZ-400:Designing and Implementing Microsoft DevOps Solutions](https://docs.microsoft.com/ja-jp/learn/certifications/exams/az-400) (*1)

※1 日本語ページは意味が崩れている場合があるため、必ず英語ページに目を通すことをお勧めします

## 試験概要

[公式のFAQ](https://www.microsoft.com/ja-jp/learning/certification-exam-policies.aspx#scoring)を参考にして抜粋します。

* 問題数： 56
* 合格ボーダー: 700
* 試験時間: 180分
* 試験言語: 日本語
* 出題形式: [こちらを参照](https://www.microsoft.com/ja-jp/learning/certification-exams.aspx#meo-section4)

## 出題範囲

* [公式ページから出題範囲](https://www.microsoft.com/ja-jp/learning/exam-az-400.aspx)の記載通りです。[こちら](https://www.microsoft.com/ja-jp/learning/azure-exams.aspx)の試験説明文を見ても、広範囲な設問内容に対して具体的にAzureDevOpsを中心にどう実現するかを試験する形です。
* 加えて一般的なDevOpsの知識や周辺のサービスをどうAzureDevOpsに統合するかも試されます。

## 勉強方法

出題範囲(アウトライン）からキーワードを抽出しながら関連ドキュメントを読み込み、実機も触って理解をしていきました。

* [Azure公式ドキュメント](https://docs.microsoft.com/ja-jp/azure/#pivot=products&panel=all)
* [Microsoft Learn](https://docs.microsoft.com/ja-jp/learn/azure/)
  * クレジットカード不要で無料の実環境が触れるサンドボックスを提供してくれ実機を通した学習できる e-learning。試験対策として内容は微妙ですがとっつきの理解で有用。
  * [公式の試験概要ページ](https://www.microsoft.com/ja-jp/learning/exam-az-400.aspx)のLearningPathを一通り実施
* アウトラインに記載されているDevOpsに関わるサービスのページ(例.Github, Octopus, Slack, WhiteSourceBolt, Jacoco, Coburatura, SonarCloud, Jenkinsなど)

## 受験後の所感

実務でDevOpsとインフラと運用周りは一通り経験したことがあったので、それほど苦戦せずに合格できました。またAZ-103(104)やAZ-203(204)と違い、実装方法の詳細まで問われる問題が少なかったため比較して優しい試験と感じました。
上記出題形式よりケーススタディや一度回答すると戻れない問題は健在、実機操作の問題はありませんでした。

試験範囲としてSRE(Site Engineering Reliability)のキーワードがありますが、トイルとかポストモーテムとか監視の４大シグナルとか個別の知識は問われません。Azureを含め様々な外部サービスをどうインテグレートしてCI/CDを実現するか、そしてそれをどう監視するかに注目した問題が多いです。SREというキーワードからは離れた方が良さそうです。
また実務に役立つかと言われると個人的には微妙な感触を覚えました。知識の幅は増えたのは良いことでしたがこれを覚えても・・・という部分がありました。例えばRelease Pipelineです。CI Triggerの設定方法やGateの設定手順などを詳しく覚える必要がありますが、これにおいてはyaml形式のPipelineで同じ機能を実現できますしコードで定義できる分ポータビリティがあります。個人的にはUIによってRelease Pipelineを覚えるよりもyamlでコーディングできるようにAzurePipelineのドキュメントを漁って手を動かして習得した方が実務的には良いと感じました。
ハイコンテキストな問題や新旧で答えが食い違う問題は要注意です。ある問題の解釈としてAならば解答はXだけど、解釈としてBならばYだけどどっち（1/2）?という問題がたまに出たり、最近のMicrosoftのイベントでCまで機能拡張してDという機能はリタイアしたけど、この資格の問題はいつ時点での解答をしたら良いかわからない、ということもあり、なんとも悩ましい感じでした。。そこは解答なきと諦めて確実に取れる問題を答えられる知識を身につけていきましょう。

色々感じることがありましたが、CI/CDやIaC、コンテナ、監視、モバイルなど知識が幅広くなる資格かと思いますのでみなさんもぜひDevOpsのスキルアップや力試しを目的に受験を検討してみてください。

## お役立ち

* To be certified! MS 認定資格あるある LT 大会

「試験スキルのアウトラインから得た MCP試験受験のコツ」 で紹介されていることは、AZ-400において特に重要と感じました。アウトラインに記載された単語や技術用語は最低限何なのか必ず調べておいた方が良いです。

<iframe width="560" height="315" src="https://www.youtube.com/embed/MghkZ4fa6ek" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

以上です!