プラットフォームエンジニアリング

開発者の生産性を向上させる内部プラットフォームを構築・運用する実践

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 ダッシュボードが自動生成
→ 開発者はビジネスロジックに集中

プラットフォームの原則

プラットフォームは内部顧客 (開発者) のニーズに応えるプロダクトとして扱う。開発者が自分でデプロイできるセルフサービスを提供し、制約を設けつつ自由度を確保するガードレールを設計する。使い方を明確に文書化し、利用の障壁を下げる。

体系的に学ぶなら関連書籍を参照してほしい。

関連用語