Azure Cosmos DB 特化の Microsoft 認定試験「DP-420: Designing and Implementing Cloud-Native Applications Using Microsoft Azure Cosmos DB」とその試験に合格と認定される資格「Azure Cosmos DB Developer Specialty」について受験して無事合格することができたので受験体験記を残そうと思います。
- DP-420 試験を受験した私のスキルセット、技術背景について
- 試験概要 DP-420: Designing and Implementing Cloud-Native Applications Using Microsoft Azure Cosmos DB
- Azure Cosmos DB Developer Specialty 認定について
- 出題形式
- 試験範囲
- おすすめの学習方法
- 受験結果・受験した感想
- 参照ページ一覧
DP-420 試験を受験した私のスキルセット、技術背景について
普段は Microsoft Azure をベースにしたWebアプリケーション開発を行っているエンジニアです。データベースに関してはRDB(Relational Database)での開発をメインで行ってきたため、今回の Azure Cosmos DB のような NoSQL のデータベースの知識はあったものの開発経験はあまりありませんでした。
Microsoft Azure に関しては自主的に情報を集めたり、勉強会に参加したりしていてMicrosoft 認定資格の受験も積極的に行っています。
下記が私の Microsoft 認定資格の取得状況です。
www.credly.com
試験概要 DP-420: Designing and Implementing Cloud-Native Applications Using Microsoft Azure Cosmos DB
それではDP-420試験の概要ですが、どんな試験なのかを紹介します。Microsoft Learn 公式ページより引用します。
この試験の受験者には、データを格納して管理するクラウドネイティブ アプリケーションを設計、実装、監視するための専門領域知識が求められます。このロールの責任には、データ モデルとデータ分散の設計および実装、Azure Cosmos DB データベースへのデータの読み込み、ソリューションの最適化と維持が含まれます。 これらのプロフェッショナルは、ソリューションを他の Azure サービスと統合します。 また、セキュリティ、可用性、回復性、パフォーマンスの要件を考慮したソリューションを設計し、実装し、監視します。
この試験の受験者には、Azure 向けアプリの開発と Azure Cosmos DB データベース テクノロジの使用に関する確かな知識と経験が求められます。 Azure Cosmos DB .NET SDK for SQL API を使用するアプリケーションの開発に習熟している必要があります。 効率的な Azure Cosmos DB SQL クエリを記述し、適切なインデックス ポリシーを作成できる必要があります。 JavaScript でサーバー側オブジェクトを作成した経験が必要です。 さらに、Azure でのリソースのプロビジョニングと管理に精通している必要があります。 JSON を解釈できること、C# または Java コードを読めること、PowerShell を使用できることが求められます。
試験名のとおり、Azure Cosmos DB に特化した試験となっています。特にAzure Cosmos DBの設計や構築方法、Azure Cosmos DB を使用したアプリケーションの開発スキルや管理方法が求められています。実際に試験を受けた印象もこの概要と同じような印象を受けます。
Azure Cosmos DB Developer Specialty 認定について
DP-420 試験に合格すると Azure Cosmos DB Developer Specialty 認証資格を取得することができます。
現在、Microsoft 認定資格は基本レベルの Fundamentals 、中級レベルの Associate 、上級レベルの Expert 、専門的なスキルに特化した Specialty の4レベルに分けてカテゴライズされています。
Azure Cosmos DB Developer Specialty は名前のとおり Specialty のカテゴリーになります。この認定資格の受験者に求められるのは Azure Cosmos DB に関するあらゆる専門知識ということです。シンプルですね。
出題形式
他の Microsoft 認定資格の試験と変わらない出題形式で出てきました。最近のMicrosoft 認定資格の出題方式は大きな変更はないと見てよさそうです。
- 選択問題:択一式、多肢選択式
- 並べ替え問題:操作の手順やコマンドの実行順などを問う問題
- 2択問題:一度回答したら戻ることができない一度でもMSの試験を受けたことがある方はわかるあの問題です
- ケーススタディ。→要件の文章を読み解いて解答する問題
- (ラボ問題はありませんでした)
試験範囲
- データ モデルの設計と実装 (35–40%)
- データ分散の設計と実装 (5-10%)
- Azure Cosmos DB ソリューションを統合する (5-10%)
- Azure Cosmos DB ソリューションを最適化する (15-20%)
- Azure Cosmos DB ソリューションを維持する (25-30%)
試験範囲としては CosmosDB のデータモデル設計の部分の割合がかなり大きいですね。実際に受けてみてもその印象が強かったです。
試験範囲や出題割合は変更される可能性があります。最新の情報はMicrosoftの公式ページをご覧ください。
されに詳しい出題内容は上記の公式ページリンクの中にあるヒントのDP-420 学習ガイドが参考になると思います(英語ですが)。
おすすめの学習方法
Microsoft Learn での勉強
MCP試験では定番の勉強方法ですが、Microsoft公式Learn がDP-420試験向けにもかなり充実しています。下記のDP-420のコレクションのラーニングパスをすべてこなすだけでも上記で紹介した試験範囲の内容の多くに触れることができたという実感です。
またMicrosoft Learn の内容も進化していてラボが Virtual Machine の開発環境が立ち上がって実際に CosmosDB の操作や VSCode を使ったSDKのコーディングをできるようになったため、かなり便利になっていました。自分の勉強においても Microsoft Learn の影響がかなり大きかったと思います。
コース DP-420T00: Microsoft Azure Cosmos DB を使用したクラウドネイティブ アプリケーションの設計と実装 learn.microsoft.com勉強会の動画を見ての勉強
これは自分が受験後に参加した勉強会で聞いたセッションでDP-420試験の内容に良さそうなものがあったので共有しておきます。JAZUG(Japan Azure User Group)12周年イベントのマイクロソフト畠山 さんの「俺の Azure Cosmos DB - 本番アプリを作る上で知っておきたいこと -」というセッションになります。
58:20~ぐらいから始まるセッションです。時間に余裕があれば他のセッションもご覧ください、LTで私も登壇しております。
youtu.be こちらの動画ではCosmos DB でモデリングの話が多く紹介されているため、先ほど紹介したDP-420試験範囲にも重なる部分が多かったと思います。何よりわかりやすかったので一度見ていただけると理解が深まると思いました。
受験結果・受験した感想
受験した結果1回目はギリギリで不合格、リベンジマッチの2回目で合格することができました。
試験概要や試験範囲に出てきたとおり、Azure Cosmos DB の問題特化です。Microsoft Learnで出てきたようなソースコード自体の内容や意味を問う問題から、Azure Cosmos DB というよりも NoSQL のデータベースの設計や効率化などを考えさせられるような問題が多かった印象です。Azure 系の Microsoft 認定資格の試験では管理系の質問が多くアプリケーション開発者としては聞きなじみの少ない問題も多かったのですが、DP-420試験に関しては解きやすい印象がありました。 先ほども述べたとおり、Microsoft Learn のDP-420のラーニングパスが充実しているのでそれだけでも試験に望めそうな印象です。
この試験を受験したことにより、RDB脳だった私に革命が起きた気がします。全く違う考え方のDB設計や考え方となるため、驚きや発見が多く、資格勉強がとても為になったと実感しています。これを機会にCosmos DB を使ったアプリケーションを何か構築してみたくなりました。
この記事を見て DP-420、そしてAzure Cosmos DB に興味を持ってくださる方がいれば幸いです。ご拝読ありがとうございました。