【実務で活きる】AZ-400取得までの学習の記録（学習時間：50h）

### はじめに
去年からAzureのプロジェクトに参画し始め、この一年間でAzure資格をいろいろと取得してきました。この一年間の締めくくりとしてAZ-400へ挑戦。2月に一度受けて不合格(696点)、3月に再度受験して合格（800点）でした。知見の浅い分野でもあり、予想以上に苦戦したので合格までの道のりを共有します。

### 勉強開始時の私のレベル
以下が勉強開始時(1月時点)のレベルです。
+ AZ-900、AZ-104、AZ-204、AZ-305は取得済み
+ Azureの大規模プロジェクトに約1年間参加
+ Azure Dev Opsはプロジェクトの管理でBoardを見る程度
+ GitはPullぐらいしかしたことがない
+ Application InsightやAzure Monitor、Log AnalyticsWorkspace等の監視系リソースは導入経験あり

## 学習の流れ
受験は以下のようなスケジュールで進めました。
+ 1月：新年あけてから学習開始。Udemyを中心に学習
+ 2月上：過去問をしっかり対策して受験　⇒　惨敗(696点)
+ 2月下：Youtubeや実際の操作を活用して再勉強
+ 3月上：再度受験　⇒　合格(800点)

### 1月の学習
まずはUdemyで学習を開始しました。残念ながら、AZ400の対策は基本的に英語での実施になります。翻訳しながら頑張りましょう。以下使用したUdemyの講座です。（公式公認の問題集か不明のため、リンクの転載はしておりません。こちらのタイトルで検索をしてください。）
+ AZ-400 Designing and Implementing DevOps Certification
+ AZ-400 Practice Tests: Microsoft Azure DevOps Solutions Exam

### 2月の受験（失敗談）
2月受験しましたが、前述の通り惨敗・・・
基本的に過去問による学習しかしておらず、基礎力が全くついていないのが問題でした。特に以下が反省点でした。
+ Gitコマンドの基礎知識が無さ過ぎる
+ Azure Pipelineとかトークンとか触ったことない
+ Udemyの過去問が守備範囲狭い（特に認証系とか）

### 2月の学習
反省点をふまえて、リベンジに向けた施策はこんな感じです。
+ [実際にAzure Pipelineを構築してみる](#実際にazurepipelineを構築してみる)
+ [GitとGitHubの基礎から学習する](#gitとgithubの基礎から学習する)
+ [Udemyの問題集を変える](#udemyの問題集を変える)

#### 実際にAzurePipelineを構築してみる
以下のトレーニングを進めました。
[MS Learn | Azure Pipelines を使用してビルド パイプラインを作成する](https://learn.microsoft.com/ja-jp/training/modules/create-a-build-pipeline/)

上記トレーニングを進めるにあたって、以下ブログを参考にしました。
[Qiita | 初心者の初心者による初心者のためのAzure DevOps](https://qiita.com/nord2sudjp/items/f65aa22eae055b820451)

なお、進める際はMicrosoft Hosted Agentをマイクロソフトに事前に申請して利用することをお勧めします。　

#### GitとGitHubの基礎から学習する
こちらは、Youtube動画を見ながら実際にてを動かして学習しました。
以下にお勧めの動画を掲載しておきます。全てサプーさんの動画です。

##### Gitの基礎学習
試験には基本的なGitの操作が数多く出題されます。以下の動画で、Git操作の基本をハンズオンで学ぶことができますので、実際に手を動かして学習していきました。
『【わかりやすい！Git操作】初心者向けのGitの基本 〜 30分で入門！』
<iframe width="560" height="315" src="https://www.youtube.com/embed/6SLMB7BPG9E?si=xSZvrdZsgmyYZNYG" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

##### GitHubの基礎学習
Git操作と同様にGitHubについても概念や操作を理解しておく必要があります。まずはこちらの動画で基本を学習しました。
『【GitHub入門】初心者向け！GitHubでチーム開発するための基本操作を解説！』
<iframe width="560" height="315" src="https://www.youtube.com/embed/Dz95iUNt-fg?si=oid4YvnZlLyMssSg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

GitHub Actionsに関する内容はこちらの動画には含まれていないので、以下公式ドキュメントで学習を進めました。
[MS公式 | Azure 向けの GitHub Actions とは](https://learn.microsoft.com/ja-jp/azure/developer/github/github-actions)

##### DevOps開発手法の理解
Azureにおけるブランチ戦略や機能フラグなどを理解するために、以下ページをひととおり読みましょう。
[MS公式 | Microsoft による DevOps 開発手法](https://learn.microsoft.com/ja-jp/devops/develop/how-microsoft-develops-devops)

試験内にはブランチ戦略に関する問が出題されます。特にRebase戦略については執拗に聞かれます。ここで、Rebaseの基礎について学習しておきましょう。
『GitHubのマージとリベースどっちを使うべき？チーム開発で困らないために！初心者へのおすすめも解説』
<iframe width="560" height="315" src="https://www.youtube.com/embed/txqtxlj4LtU?si=Iejmsn6-DhRhzNxR" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

#### Udemyの問題集を変える
以下問題集を購入して、試験対策に臨みました。（公式公認の問題集か不明のため、リンクの転載はしておりません。こちらのタイトルで検索をしてください。）
+ Designing & Impl MS DevOps Solutions : AZ-400 Practice Tests


### 3月の受験
ここまでの対策を行って、本番に臨みました。結果として、2月上旬の受験時よりも問題がスラスラと解けて無事合格をしました！
以下が学習の総合情報です。

学習期間：1月～3月上旬(約2か月半)
総学習時間：50h(30min～1h/day程度)
費用：5000円程（Udemyのコンテンツ購入費用）

## まとめ
普段の業務範囲と異なる部分も多いため、過去問よりもハンズオンや基礎学習を中心に進めました。そのおかげで、実際に実務でも活かせる知識が身についたと思います。特に、[実際にAzurePipelineを構築してみる](#実際にAzurePipelineを構築してみる)で紹介したトレーニングは非常に有効でした。指示通りに進めていってもつまるところがやや出てきますが、そのトラブルシューティングの度に理解が深まっていくことを実感しました。