AZ-204を取得した話(2024年8月情報)

#### はじめに
2024/8/30にAZ-204を受験し合格しました。
出回っている記事については古い情報が多く、何を使って勉強してよいのか難しかったので記事に作成することにしました。感覚では、今まで受けたクラウド資格(Associate)の中で一番難易度は高く勉強時間を要しました。
受験しようかどうか迷っている方やこれから受験するって方向けの記事になります。

:::note warn
本記事において、すこし踏み込みすぎない程度に記載したつもりではありますが、MSと受験者の間には具体的な試験内容は漏洩できない契約があります。修正や削除依頼があった場合は急に記載の修正や削除をするかもしれませんので、ご了承のほどお願いいたします。
:::

#### 目次
+ [AZ-204とは](#az-204とは)
+ [試験の形態](#試験の形態)
+ [AZ-204で学習できる事](#az-204で学習できる事)
+ [学習方法](#学習方法)

## AZ-204とは
AZ資格の全体の立ち位置は以下のような感じです。
（※AZ800とか守備範囲外のものは記載してないです）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678759/7e7e7a21-0355-4e04-9a5f-3b9bed3c1b0b.png)

クラウドエンジニアでAzureを生業とする以上、上図に乗っている資格は全てとっておきたいところです。AZ-204の位置づけは「Developer向けの資格」といった感じですね。全体の体系としては[Udemyメディア](https://udemy.benesse.co.jp/development/qualification/microsoft-azure-qualification.html)が最も体系がまとまっていて見やすいです

### 試験の形態
試験の最新の情報については以下Microsoftのページをご確認下さい。
[MS Learn | Microsoft Certified: Azure Developer Associate](https://learn.microsoft.com/ja-jp/credentials/certifications/azure-developer/?practice-assessment-type=certification)

私が受けた時はこんな感じです
+ 試験時間：100分
+ 受験料：21,102円
+ 試験は日本語対応で受けられる（翻訳に違和感はなかったです）
+ テストセンター、オンラインでの受験が可能です
+ 試験中にMSのドキュメントを参照することができます。これは、MSとしてもドキュメントを参照した上で開発できる能力を試しているようです。
+ 選択問題、穴抜き問題、並び替え問題、ケーススタディ問題が出題されます。(サンドボックスで確認可能：[MS Learn | Microsoft Certified: Azure Developer Associate](https://learn.microsoft.com/ja-jp/credentials/certifications/azure-developer/?practice-assessment-type=certification))
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678759/acb62fc4-1748-2fef-86f7-65a91642fc7d.png)

### AZ-204で学習できる事
AZ-204で評価されるスキルは以下になります。(2024年8月現在)
受験するか迷っている方で、以下のような業務が該当する方やスキルを身に着けたいという方は是非挑戦してみて下さい。

##### 1. Azure計算ソリューションの開発
+ ドキュメントを参照して、コマンドベースでAzureContainerInstanceやAzureContainerRegistryを適切に使用できること
+ AzureContainerAppsを使用してアプリ開発ができること
+ ドキュメントを参照して、Funcitonsのトリガーの選択と、構成ファイル(Functions.json、host.json)等の構成が適切にできること
+ Functionsにおいて、Durable Functionsの選択を正しくできること
+ AppServiceにおいて、接続文字列、API設定、デプロイスロットやスケーリング設定が適切にできること

##### 2. Azureストレージ向けの開発
+ CosmosDBの管理、一貫性レベルの適切な選択と変更フィードを使用できること
+ CosmosDBのAPIを適切に選択できること
+ AzureBlobStorageを使用したデータ管理(ライフサイクル管理、メタデータ、インデックスタグ)とデータ操作（変更フィード）ができること

##### 3. Azure Securityの実装
+ SASの作成管理ができること
+ 内部、外部のアプリへMicrosoft Entra IDの構成が正しくできること
+ ドキュメントを参照して、AzureKeyVaultへ保管されたシークレット情報にコードでアクセスできること
+ AzureKeyVaultの構成を正しくできること

##### 4. Azure ソリューションの監視、トラブルシューティング、最適化を行う
+ CDNとCasheRedisの使用目的を明確に理解し、期限設定等を正しく設定できること
+ Application Insightの実装ができる。ドキュメントを参照して適切機能を選択できること

##### 5. Azure サービスとサードパーティ サービスに接続し、使用する
+ AzureAPIManagementをコードベースで構築できること
+ アプリからAzureAPIManagementへのAPIアクセスができるコードを適切にドキュメントからリファレンスできること
+ APIポリシーのドキュメントを適切に参照でき、状況に合わせて適切なAPIポリシーの選択できること
+ AzureEventGrid、AzureServiceBus、AzureQueueStorageを適切に選択して構成できること
+ ドキュメントを参照して、AzureQueueStorageを使用するアプリを適切に開発できること

:::note info
最新の情報やより正確情報は以下より取得してください。
[MS Lern | 試験 AZ-204: Microsoft Azure 向けソリューションの開発の学習ガイド](https://learn.microsoft.com/ja-jp/credentials/certifications/resources/study-guides/az-204)
:::

## 学習方法
### ペルソナ
私の受験時のケース
Microsoft取得資格：AZ-900、AZ-104
業務経験：クラウドインフラチームに入って半年、アプリ開発経験はあるがAzureの使用経験は無し

### コスト(結果)
学習期間：9週間
学習時間：合計45h(5h/週)
諸費用：6000円程(※試験代金は除く)⇒すべてUdemy講座の購入代金です

### 学習方法=3STEP
##### 1. サービスについてきちんと理解を深める
まずは、AZ900を取得はしていましたが、改めてサービスへの深い理解を持つことが重要と思い以下のUdemy口座で学習をしました。
+ [Udemy | 【AZ-204 Developing Solutions for Microsoft Azure】試験対策講座&模擬試験](https://www.udemy.com/course/az-204-developing-solutions-for-microsoft-azure-fp/?couponCode=SEPTSTACK24A)

こちらの講座には、少ないですが小テストもついており学んだことをすぐにアウトプットできる環境が整っています。また、講座の中で学習していない領域も小テストに出題されますが、その時は慌てずに[MS Learn](https://learn.microsoft.com/ja-jp/training/)を使用して調べてみましょう。

#### 2. 模擬試験を受けてみる
基本を理解したら、模擬テストを受けていきましょう。以下タイトルのUdemyの講座がおすすめです。テストは英語ですが、とてもやさしい英語で記載されているので英語力を試すついでにテストしてみると面白いです。難易度的には本番よりもちょっと優しいです。9割以上取れるまで繰り返しましょう。
+ [Udemy | AZ-204 Microsoft Azure Developer Practice Tests](https://www.udemy.com/course/az204-azure-practice/?couponCode=SEPTSTACK24A)

後は、日本語対応している講座もあったりするのでそこは適宜Udemyで検索して受講してみて下さい。上記のテストだけだと正直、少し物足りないかなといったところですのでもう1講座模擬試験ができるものをどれか試してみることをお勧めします。

#### 3. 分からない箇所は基本的にMSLearnで調べてみる
テストを進めていく中で難しい部分が多く出てくると思います。基本的には[MS Learn](https://learn.microsoft.com/ja-jp/training/)を使用して確認しましょう。細かいAPIやコードの仕様などはコードの文字列まで覚えずにMSLearnのどこに載っているかを理解するだけで十分です。実際のテストではMSLearnを使用することができます。

ドキュメントが英語しかなかったり、内容が癖があって読みずらい部分も多数あります。そういう時はYoutubeで検索して解説動画を見てみましょう。Microsoftが公式でサービスの解説やデモをしてくれている動画も多数あります。

#### 4. その他（私は使ってません）
私は使ってませんが、Microsoft公式のページから本番相当のサンプルテストを受けれたり、サンドボックスを利用して実際のテスト環境を確認したりもできます。

https://learn.microsoft.com/ja-jp/credentials/certifications/azure-developer/?practice-assessment-type=certification

上記リンクより以下を探してみて下さい。
■本番相当のサンプルテストを受ける
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678759/a86b7bb8-6ccd-dd3e-0e20-07cca710b2fe.png)

■サンドボックスを利用して実際のテスト環境を確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678759/fe0cc3c5-c759-2830-8f91-b7a15d0a6ed4.png)