内部開発者プラットフォーム (IDP) とは?
内部開発者プラットフォーム (IDP) とは、エンジニアがチケットを起票したり基盤となるインフラを習得したりすることなく、環境をプロビジョニングし、サービスをdeployし、自分のソフトウェアを実行できるようにするセルフサービスのレイヤーです。
IDPは、platform engineeringチームが構築する具体的なプロダクトです。開発者が必要とするツール、自動化、golden pathをまとまりのあるセルフサービス体験として束ね、アイデアから稼働するソフトウェアまでの道のりが組織全体でスムーズかつ一貫したものになるようにします。
IDPとは何か
内部開発者プラットフォームとは、開発者が自分自身でアプリケーションをbuildし、deployし、運用するために使う、統合されたツールとサービスのセットです。生のインフラやCI/CDシステムの上に位置し、バラバラで無関係なツールの山ではなく、精選されたセルフサービスのインターフェースを提示します。
中核となる考え方としてのセルフサービス
IDPを定義づける特徴はセルフサービスです。開発者は、他のチームを待つことなく、数分のうちに自分で環境を立ち上げたり、サービスをdeployしたり、データベースをリクエストしたりできます。こうした引き継ぎやチケットの待ち行列を取り除くことこそが、生産性向上の大部分の源泉です。
通常含まれるもの
- サービスとその所有者のカタログ。
- 環境とリソースのセルフサービスでのプロビジョニング。
- 標準化されたdeploy pipeline。
- 新しいサービスを開始するためのgolden pathテンプレート。
- 統合されたオブザーバビリティとアクセス制御。
認知負荷の軽減
優れたIDPは、開発者が見る必要のない複雑さを隠します。開発者は適切な抽象化 - 数十もの低レベルな設定ステップではなく「このサービスをdeployする」 - を通じてやり取りし、その裏側の詳細はプラットフォームが処理します。これによりソフトウェアを出荷する際の認知負荷が劇的に下がります。
標準化と自由のバランス
IDPの妙は、拘束衣になることなく、一貫性と安全性を保てるだけの十分な標準化を提供することにあります。最良のプラットフォームは、golden pathを通じて正しいやり方を簡単なやり方にしつつ、チームが本当に必要とするときには舗装された道から外れることも許容します。
重要なポイント
- IDPは、開発者がソフトウェアをbuildし、deployし、運用するために使うセルフサービスのレイヤーです。
- これはplatform engineeringチームが提供する具体的なプロダクトです。
- 適切な抽象化の背後に複雑さを隠すことで、認知負荷を軽減します。