プラットフォームエンジニアリング
開発者の生産性を向上させる内部プラットフォームを構築・運用する実践
DevOps組織
プラットフォームエンジニアリングとは
プラットフォームエンジニアリングは、開発者の生産性を向上させる内部開発者プラットフォーム (IDP) を構築・運用する実践である。Gartner が 2023 年のトップトレンドに選出。チームトポロジーの Platform チームが担当する。
なぜ必要か
| 問題 | プラットフォームで解決 |
|---|---|
| 各チームが CI/CD を個別に構築 | 共通の CI/CD テンプレート |
| インフラの知識が必要 | セルフサービスでデプロイ |
| 設定ミスによる障害 | ガードレール付きのテンプレート |
| オンボーディングが遅い | 標準化された開発環境 |
プラットフォームの構成要素
| 要素 | 説明 | AWS での実装 |
|---|---|---|
| CI/CD | 共通のパイプライン | GitHub Actions テンプレート |
| IaC テンプレート | 標準化されたインフラ | SAM テンプレート |
| 監視基盤 | ダッシュボード、アラート | CloudWatch |
| セキュリティ | ポリシー、スキャン | IAM, WAF |
| ドキュメント | 使い方ガイド | 内部 Wiki |
プラットフォーム vs DevOps
| 観点 | DevOps | プラットフォームエンジニアリング |
|---|---|---|
| 対象 | 各チームが自分で運用 | 専門チームがプラットフォームを提供 |
| スケール | チームごとに異なる | 組織全体で標準化 |
| 認知負荷 | 高い (全員がインフラを理解) | 低い (プラットフォームが抽象化) |
ゴールデンパス
プラットフォームが提供する「推奨される道」:
1. リポジトリテンプレートを使って新規プロジェクト作成
2. SAM テンプレートでインフラを定義
3. GitHub Actions で自動デプロイ
4. CloudWatch ダッシュボードが自動生成
→ 開発者はビジネスロジックに集中
プラットフォームの原則
プラットフォームは内部顧客 (開発者) のニーズに応えるプロダクトとして扱う。開発者が自分でデプロイできるセルフサービスを提供し、制約を設けつつ自由度を確保するガードレールを設計する。使い方を明確に文書化し、利用の障壁を下げる。
体系的に学ぶなら関連書籍を参照してほしい。