AWS Skill BuilderでDevOpsについて学んでみた

# はじめに
今回は「AWS Skill Builder」という学習コンテンツについて記事にしてみました。
これはAWSを利用して開発するには？を題材にしたコースだったり、AWS認定試験に向けたコースだったりがあるようです。
今回はDevOpsの手法を取り入れた開発をAWSを利用して行うにはどうしたら良いか学習できるコンテンツの無料版を見ていきます。
[URL](https://skillbuilder.aws/jp/roles#devops-engineer)はこちら

## DevOps 入門編

### Getting Started with DevOps on AWS (日本語実写版)

**URL:** [コースリンク](https://explore.skillbuilder.aws/learn/courses/9207/getting-started-with-devops-on-aws)
※アカウント作成が必要

**想定時間:** 1時間

### 概要
このコースは DevOps の基礎を学ぶのに最適であり、特に初学者や提案先の相手が DevOps を知らない場合に視聴してもらうことで、概念の理解を深めることができる。

### 良かった点、私が知らなかったので調べたこと等
- **AWS の改革についても触れられている**（[ピザ 2 枚チームの話](https://aws.amazon.com/jp/executive-insights/content/amazon-two-pizza-team/)など）
- **AWS で DevOps を進める意義が簡潔にまとめられている**
- **AWS X-Ray について書いてある**（私は未経験なので少し調べた結果を記載）
  - **AWS X-Ray の良さと使い勝手:**
    - 分散アプリケーションの可視化を容易にする
    - 各リクエストのトレースが可能で、パフォーマンスのボトルネックを特定しやすい
    - マイクロサービス環境でのデバッグを強力にサポート
- **動画デモがあるため、テキストベースの説明より理解しやすい**
  - **動画視聴のおすすめ:** 文章を流し読みしてデモ動画を視聴後再度文章を読むこともありだと思った
  - 珍しくというほどでもないですが、日本語の翻訳付きなので見やすい

---

## DevOps プロセス編 (中級～上級)

### Advanced Testing Practices Using AWS DevOps Tools (日本語)

**URL:** [コースリンク](https://explore.skillbuilder.aws/learn/courses/9370/advanced-testing-practices-using-aws-devops-tools)
※アカウント作成が必要

**想定時間:** 1時間半

### 概要
このコースは「上級者向け」とされているが、実際には中級者向けの内容が大半で、一部に上級者向けの内容が含まれる程度でした。
内容としてはDevOpsを行っていくうえでのプロセスの説明、各プロセスで利用するツールなどについて説明されていました。

### 良かった点や、私が知らなかったので調べたこと等
- これ以外にも言えるが各モジュールの軽い振り返りテストがあるので復習しやすい
- DevOps の開発プロセスの確認としても有用で中級者向けとしてみるのはありだと思った
- 有料コースであればより詳細な内容が学べるが、無料版でも十分に価値がある
- **テスト駆動開発 (TDD)・ビヘイビア駆動開発 (BDD) を活用したテスト戦略の作成**
  - **BDD とは？**（私は未経験なので少し調べた結果を記載）
    - ビジネス要求をそのままコードに落とし込む開発手法
    - Given-When-Then の形式で仕様を定義することで、関係者全員が理解しやすい
    - Cucumber などのツールを活用し、自動テストとの親和性が高い
- **Amazon CodeGuru を使用したコード品質チェック**
  - **Amazon CodeGuru とは？**（私は未経験なので少し調べた結果を記載）
    - AWS が提供する AI 駆動のコードレビューおよびパフォーマンス分析ツール
    - コードのバグや非効率な部分を検出し、最適な修正案を提示
    - **CodeGuru Reviewer:** コードの静的解析による品質改善
    - **CodeGuru Profiler:** 実行時のパフォーマンス分析をしてコードまで特定してくれるらしい
- **AWS CodeBuild の buildspec について**
  - 今までやってきた領域によっては知らないであろう部分で、ビルドフローがコードに従って実行される話があるがこれはそういうものとして軽く読み流して後から詳細を調べるくらいが良いと思った（人によってはここでよくわからなくて楽しくなくなるかなと思った）
- **AWS Device Farm による回帰テストの自動化**
  - AWS が提供するモバイル・ウェブアプリのテストプラットフォーム
  - 実デバイス上でテストを実行できるため、環境依存の問題を発見しやすい
  - 私も今度試してみたい（最近プロジェクトでそういう話が上がってたので）
- **Amazon CloudWatch Synthetics の Canary モニタリング**
  - 定期的な API チェックやユーザーフローの監視を自動化するものらしい

---

## DevOps エンジニア向け学習プラン

**URL:** [学習プランリンク](https://explore.skillbuilder.aws/learn/learning-plans/1536/devops-engineer-learning-plan-japanese)
※アカウント作成が必要

**想定時間:** 13時間

### 概要
この学習プランには、上記の内容が含まれているいて表示されている 13 時間より短い時間で終えられる。上記をやっていなくても4時間かからないくらいだと思う。
特に CLI や AWS CodeGuru についての解説がメイン。

### AWS CodeGuru の概要 （上記で記載しているのもあるので簡潔に）
- **対応言語:**
  - Java, Python, JavaScript (TypeScript)（紹介記事によってはもう少し多かったので調べ方悪かったかも？）
- **レビューとプロファイルの違い:**
  - **レビュー:** 静的チェックによるコード品質の改善
  - **プロファイル:** 実行結果に基づくパフォーマンス最適化のためのフィードバック
- **GitHub との連携:**
  - CodeCommit への移行なしで直接 GitHub と統合可能

### まとめ
AWS DevOps を学ぶ上で、無料で学べる範囲でも十分有益な情報が得られる。
- **初学者～中級者:** 「Getting Started with DevOps on AWS」
- **初学者～上級者:** 「Advanced Testing Practices Using AWS DevOps Tools」

無料の学習リソースとしては見てみる価値ありだと思いました！
他にもいろいろなコンテンツがあるのでぜひやってみると良いと思います。（私も他のやってみたり有料の試してみたりしようと思います！）