人間のあるべき姿の探索

思索・人形・エンジニアリング

AZ204に合格しました

表題の通りです。AZ204は正式名称がAZ-204: Developing Solutions for Microsoft Azureと言い、Azureを用いた開発についての知識について特に重点的に問われるものです。Azureの試験は入門のAZ900に続き、AZ204か主に管理者向けの知識を問われるAZ104を受けることが多いかと思います。また、想定されるレベルとして1~2年の開発経験とAzureの知識を持つ人が想定され、Microsoft系資格の研修を実施されているエディフィストラーニング社の紹介では難易度が高めと紹介されています。

AZ-204 の難易度は、高め。主要な Azure PaaS サービスを理解し、クラウド ネイティブなアプリケーションの開発、配置、保守について、幅広い知識が求められます。また、Azure の各サービスのデプロイと構成、また、その上で動作するアプリケーション コードの作成方法や監視についての理解も必要です。

jinzai.edifist.co.jp

そこで、受験するにあたって勉強の情報を調べたところAZ900、AZ104は参考書が販売されているのに対してAZ204は参考書もなく情報があまりなかったので、参考までに自分の勉強方法について紹介しておきます。

こういった紹介では元々の能力が大きくかかわると思うのですが、試験に受かったブログだとその情報がなく教材だけが列挙されることが多いので、簡単に紹介します。

概要

前提条件

  • 経歴:情報系学科出身・社会人1年目
  • Azureの経験:入社後に研修の社内プロジェクトで触れたのち案件でも扱う程度
  • エンジニア関連の資格:AZ900、応用情報技術者試験
  • 期間:受験一か月前に勉強を開始

勉強方法

結果

  • 755/1000点(700点で合格)

勉強方法について

まず、Microsoftは公式ドキュメントが豊富で、Azureを含む開発全般において、昨日の紹介だけではなく、具体的な実装のチュートリアルや学習コンテンツとしてまとまっているMicrosoft Learnが存在します。そこで、試験範囲をカバーするために7日程度でMicrosoft Learnを一周しました。試験概要の下にそのまま学習コンテンツがあるのはありがたいですね。

learn.microsoft.com

分野は主に5つ、以下の通りAzureを用いて基本的なサービス開発ができる程度のコンテンツがあります。ただ、模擬試験を解くと分かる通り内容としては浅く、どんなことを勉強すれば良いかのインデックスを貼る程度の内容で、大まかに各サービスの使用するべき場面、ユースケースごとにどのような設定を適用するか、といったものになります。チュートリアルについてはコマンドラインで各サービスのリソースを作成して、コードをgitリポジトリから取得してデプロイして動作確認する程度のもので、応用は実際に使ってみて…といった感じです。

  • Azure 計算ソリューションの開発 (25-30%)
  • Azure ストレージの開発 (15-20%)
  • Azure Security の実装 (20-25%)
  • Azure ソリューションの監視、トラブルシューティング、最適化 (15-20%)
  • Azure サービスとサードパーティ サービスの連携と活用 (15-20%)

ここで残念なお知らせですが、Microsoftのドキュメントは自動翻訳で日本語が不自由な部分が多いです。特に、分散DBのソリューションでは整合性のレベルが設定でき、それぞれ英語だとStrong, Bounded staleness, Session, Consistent prefix, Eventualとレベルがありなんとなくわかるのですが、日本語のドキュメントだと厳密、有界整合性制約、Session、一貫性のあるプレフィックス、最終的と翻訳に一貫性がありません。こういった日本語の不自由さに悩まされることが結構多いです。

そして、大まかな内容を理解したところで模擬試験を購入して解きました。Udemyでオンライン抗議動画及び模擬試験が提供されており、模擬試験については結構な頻度で50%オフで2000円程度で買えるようになるので、買えるタイミングで買ってしまうとよいです。

www.udemy.com

模擬試験は約50問の設問が6回分収録されており、これを2周+復習する形で勉強しました。個人的には模擬試験が合格に寄与する部分が多かったと感じているのですが、試験範囲のカバレッジを大きく向上させたことが大きいです。AZ900の時にもUdemyの模擬試験を購入したのですが、1回分の模擬試験だとある程度本番に近い内容は出てくるのですが、試験範囲が広い分取りこぼしが大きいです。例えばDBの列レベルセキュリティを設定するコマンドについて聞かれたりするのですが、勿論Microsoft Learnではそこまでカバーできません(一応ドキュメントはあるのですが、概念を知らないと調べようもなく途方もないです)。6回分の模擬試験の内容は一部重複するところもあるのですが、結構幅広く出題してくれているので、単純に知識を広げるのに役立ちます。

また、模擬試験の評価について、英語版がいくつかと日本語版があり、前者の評価が4.7程度のものがほとんどで後者は2.3程度でその理由として「回答の説明があまりない」のようなものがあり、英語版を購入しました。実際購入してみると英語版も簡単な説明はあるのですが特に誤答の理由がなく、instead, use this solution(Microsoft DocumentのURL)のような設問も多い印象でした(AZ900ではかなり丁寧に誤答の理由が記載されていたので、受験人数が多く誤答を書くリソースも割きやすいのかな、とは思いました)。前述の列レベルセキュリティのように問題の意味を知らないものもあったので、あくまで正答率にはこだわらず、回答を見たうえで実際にMicrosoft Documentを参照して更に勉強する、といった使い方が丁度良いと思いました。

また、英語版で購入したのですが、ケーススタディ以外は3~4文程度の設問がほとんどなので、開発中にエラーメッセージや簡単なドキュメントを英語で読める程度の人であれば問題ないと思いますし、Microsoftの不自然な日本語に慣れている人であればむしろ英語の方が読みやすいと思います。試験を受けた感想としても、頭の中で英語→日本語の変換は必要ですがそこで回答を間違えたと感じる部分はありませんでした。他の勉強情報についてのブログを参考にすると、やはり英語で勉強していたようで、現状日本語で勉強するのはちょっと辛い気がします…

ちなみに、模擬試験だと複数選択問題で全て正解しないと不正解扱いになるのですが、実際の試験では基本的に部分点が入るので模擬試験の点数が少し低くても何とかなります。

終わりに

いかがでしたか?特にAzureの入門としてAZ900を受けてみて何とかなったけど、次のステップへ踏み出すのが難しい…みたいな方がこの記事を見た際の一助になれば幸いです。ただ、正直なところ開発に関する知識とかプログラミング自体の経験で勘があった部分は大きく、