Platform Engineeringの2つの「IDP」~Internal Developer Platformとは?
第4回 内部開発者プラットフォーム(IDP)を構成する5つのコンポーネント
これまでの連載で、Platform Engineeringとは、技術の複雑性が増加することで高まったアプリ開発者の認知負荷を軽減し、生産性を向上させることを主な目的としていると解説してきました。そして、前回のチームトポロジーについての解説では、ストリームアラインドチーム(アプリ開発者と同義)がビジネスロジックなどのコア業務に集中できるように、プラットフォームチームがアプリ開発者のニーズに合ったプラットフォームを提供することが重要であるということをお伝えしました。今回は、そのプラットフォームの詳細に焦点を当てます。
プラットフォームチームが提供する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つの主要なコンポーネントを網羅するよう設計されるべきだと述べられています。
- アプリケーションの構成管理
- インフラストラクチャのオーケストレーション
- 環境の管理
- デプロイメントの管理
- ロール単位のアクセス制御
ここからは、各コンポーネントがどのような機能を提供するかをさらに深掘りしていきます。
この記事は参考になりましたか?
- プラットフォームづくりを成功に導く!開発者のための「Platform Engineering」入門連載記事一覧
- この記事の著者
-
石川 諒(ishikawa-pro)(イシカワ アキラ)
株式会社CAMのバックエンドエンジニア。 社内の多数のサービスを支えるプラットフォームの開発・運用に従事。仕事以外では、 Platform Engineering Meetup の運営にも携わり、Platform Engineering のコミュニティにも貢献している。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
