プラットフォームチームが提供するInternal Developer Platformとは
プラットフォームチーム(以下、PT)が提供するプラットフォームは、Internal Developer Platform(内部開発者プラットフォーム:以下、IDP)と呼ばれます。これは、開発者がアプリケーションを開発するために必要な環境を提供するプラットフォームです。このIDPについて具体的にイメージしてもらうために、実際の事例を1つ紹介したいと思います。
サイバーエージェントでは、CIU(CyberAgent group Infrastructure Unit)という組織が社内向けにAKEというKubernetes as a Serviceを提供しています。AKEはプライベートクラウド上にKubernetesクラスタを構築・管理する仕組みやAKE開発チームによるKubenetes運用のベストプラクティスを提供します。
この事例では、AKEがIDPであり、開発者にKubernetesクラスタの構築・管理をする機能を提供しています。開発者はAKEを利用することで、Kubernetesの運用コストを下げたり、ベストプラクティスに則ってKubernetesを運用することでアプリケーションの品質を向上させたりすることができます。
詳しくは以下の資料をご覧ください。
Internal Developer Platform を構成する5つのコンポーネント
では、どのようにして IDP を構築したらいいのでしょうか?
InternalDeveloperPlatform.orgによると、IDPは以下の5つの主要なコンポーネントを網羅するよう設計されるべきだと述べられています。
- アプリケーションの構成管理
- インフラストラクチャのオーケストレーション
- 環境の管理
- デプロイメントの管理
- ロール単位のアクセス制御
ここからは、各コンポーネントがどのような機能を提供するかをさらに深掘りしていきます。