内部開発者向けプラットフォームとは

URL をコピー

内部開発者プラットフォーム (IDP) は、開発者がコードを作成しデプロイするために必要なセルフサービスツールやテクノロジーの標準化されたセットで構成されています。 IDP の基本的な目的は、開発プロセスの要素を統合および単純化することにより、開発チームの日々の作業をより管理しやすく、効率的かつ協力的にすることです。

注: 組織の技術スタックには、別のタイプの IDP (内部開発者向けポータル) がある場合があります。その場合、内部開発者向けポータルは、開発者が内部開発者向けプラットフォームやコンテナシステムを含む完全なアプリケーション・プラットフォームにアクセスするための入り口となります。Red Hat のエコシステムでは、エンタープライズグレードの内部開発者向けポータルとして Red Hat® Developer Hub が提供されているほか、Red Hat® OpenShift® Platform PlusRed Hat® Ansible® Automation Platform を組み合わせてより大規模なプラットフォームが構築されることがあります。  

開発者エクスペリエンスについて読む

IDP の主要なユーザーはアプリケーション開発者であり、プラットフォーム・エンジニアが初期設定と保守を担当します。プラットフォーム・エンジニアにとって、IDP は、アプリケーションのライフサイクル全体にわたってアプリケーションを運用化するために必要なツールを開発者に提供するためにキュレーションされた統合製品と考えることができます。

IDP のアーキテクチャは、特定の機能を備えたいくつかのレイヤー (プレーン) に分類できます。

  • 開発者コントロールプレーン:ユーザーが大半の操作を行う場所です。開発者ポータル、ソフトウェア・コンポーネント・カタログ、ユーザー・インタフェース (UI)、コマンドライン・インタフェース (CLI) などがあります。 
  • 統合・提供プレーン:構成エンジンです。多くの場合、プラットフォーム・オーケストレーターが中核となります。コントロールプレーンから開発者の意図を受け取り、アプリケーションの構築、保存、構成、デプロイを実行する自動化されたワークフローに変換します。
  • リソースプレーン:アプリケーションをホストするために必要な標準化された基盤インフラストラクチャとランタイムであり、コンテナ・オーケストレーション、コンピュート、ストレージ、ネットワークのリソースが含まれます。
  • セキュリティプレーンと可観測性プレーン:プラットフォーム全体にわたって機密情報の保護、シークレットの管理、ロールベースのアクセス制御 (RBAC) の適用を行い、アプリケーションとインフラストラクチャの両方に対するリアルタイムの監視とロギングメトリクスを提供します。

インフラストラクチャは組織によって異なりますが、内部開発者向けプラットフォームの構築には、連携して開発からプロダクション環境への移行のための最適化された安全で効率的なパスを作成する一連のコアコンポーネントが欠かせません。これらの重要な構成要素は、プラットフォームのユーザー・インタフェースと自動化されたバックエンドシステムを分離するアーキテクチャを形成します。

IDP のアーキテクチャの原則

効果的な IDP アーキテクチャは、機能上の階層構造に加え、開発者の生産性向上、認知負荷の軽減、組織規模でのスケーリングを目的とした、次のコア設計原則に基づいて構築されます。

  • 拡張性と統合:ツールチェーンの各ツールは互いに統合されていないことが多いですが、エンタープライズグレードの IDP はそれらをつなぎ合わせます。IDP のアーキテクチャの重要な原則の 1 つは、組織が使用している既存の CI/CD パイプラインDevSecOps ツールおよび脆弱性管理ツール、問題の追跡、およびクラウドリソースを、容易に拡張および統合できる能力です。
  • テンプレートとゴールデンパス:テンプレートは、ゴールデンパスと呼ばれる、事前に構成されたベストプラクティスのブループリントを開発者に提供します。ゴールデンパスを使うと定型コード、IaC (Infrastructure as Code) ファイル、組み込みのセキュリティガードレールを自動的にプロビジョニングできるため、組織でシームレスに標準化を実施しながらボトルネックを解消するのに役立ちます。

IDP は、開発の標準化や、開発者の生産性、コラボレーション、オンボーディングとセルフサービス、スケーラビリティ、ガバナンスなど、組織が抱える複数の課題の解決に役立つため、組織にとって重要です。 

複数の開発チームを擁する組織では、優先事項の調整、多様なツールやテクノロジーの管理、セキュリティやコンプライアンス基準を遵守しながらベストプラクティスを確立することなど、さまざまな課題に悩まされることがよくあります。 

  • 標準化:標準化されたツールとサービスのセットをすべてのチームに提供し、不一致やエラーのリスクを低減します。
  • 生産性:開発環境の構築と管理、ビルドパイプラインの設定、アプリケーションのデプロイを自動化できるように支援します。これにより、開発者はコードの作成に集中し、機能を迅速に提供できるようになります。
  • コラボレーション:開発チームが運用チームやセキュリティチームなど組織の他の部門と協力して作業するための共有プラットフォームを提供し、コミュニケーションとコラボレーションを向上させます。
  • オンボーディングとセルフサービス:より良いエクスペリエンスを提供することで、新しい開発者が適切なツールで生産性を高めて価値を創出し始めるまでの時間を短縮します。
  • スケーラビリティ: 組織とともに成長できるスケーラブルなプラットフォームを提供することで、新しいチームの迅速なオンボーディングを可能にし、すべてのチームが同じツールやサービスにアクセスできるようにします。
  • ガバナンス:組織が柔軟性を高め、かつセキュリティおよびコンプライアンス要件に準拠したベストプラクティスを遵守できるようにするためのフレームワークを確立し、開発環境を効果的に監視および管理します。

プラットフォーム・エンジニアリング・ツールとは

チームに IDP を提供することは、DevOps 文化の実現と維持のための極めて重要な要素になり得ます。 DevOps は文化、自動化、プラットフォーム設計に対するアプローチであり、開発チームと運用チームがより効率的に連携し、ソフトウェア・アプリケーションと関連機能をより迅速に、より頻繁に提供できるようにすることを目指しています。 

DevOps とプラットフォーム・エンジニアリングの関係について知る

Red Hat OpenShift®Red Hat Developer Hub と組み合わせることで、プラットフォーム・エンジニアリング・チームは、内部開発者向けプラットフォーム (IDP) を効果的に構築および管理し、「ゴールデンパス」を構築するのに必要なプロジェクトテンプレート、ドキュメント、ワークフローを作成するために不可欠なツールを得ることができます。 

プラットフォーム・エンジニアリング向けの Red Hat OpenShift の詳細

これを可能にする要素のいくつかを以下に示します。

安全でコンプライアンスに配慮したソリューション:Red Hat Developer Hub は、運用チームが開発者をサポートするために必要な、検証済みで厳選されたツールとコンポーネント一式を、一貫性のある一元化された場所で提供します。これにより、生産性が向上し、障壁が減少し、セルフサービスとガードレールによってガバナンスが単純化されます。

トップクラスの開発エクスペリエンス:Red Hat は、パートナーエコシステムとオープンソース・プロジェクトからの専門知識と経験をお客様に伝えます。

セルフ管理とメンテナンス:Red Hat は、クラウドネイティブなサービスやアプリケーションの構築を容易にし、生産性を向上させる共通の開発者用ツールセットを提供します。

重要なバグの修正や新機能のサポート:Red Hat Developer Hub は、チームが必要なときに必要な場所で、最新バージョンの機能、システムアーキテクチャ、アプリケーションのドキュメントにアクセスするための一元化された場所を提供します。

より簡単な統合:新しいツールやサービス (Red Hat Plug-ins for Backstage 経由) が事前統合されています。これにより、インフラストラクチャ・ツール、リソース、標準、所有者、コントリビューター、管理者を結びつける、単一で一貫したエクスペリエンスのための拡張性とスケーラビリティが得られます。

プラットフォーム・エンジニアリングの舞台裏(動画の再生時間:2:31)

リソース

AI 時代のプラットフォーム・エンジニアリングの現状

This detail provides a comprehensive review of the State of Platform Engineering in the Age of AI survey, conducted by Illuminas. Explore the details.

Red Hat Advanced Developer Suite

プラットフォームエンジニアが開発者の生産性とアプリケーションのセキュリティを強化するための一連のソリューション。

関連情報

GitOps とは

GitOps は、宣言型インフラストラクチャの信頼できる唯一の情報源として Git を使用して、インフラストラクチャとアプリケーションの構成を管理するための一連のプラクティスです。

CI/CD とは - 継続的インテグレーション/継続的デリバリー

CI/CD (継続的インテグレーション/継続的デリバリー) は、アプリ開発におけるコードの統合とテスト、提供、デプロイのプロセス全体を継続的に自動化し、監視する手法です。

可観測性とは

可観測性とは、システムやアプリケーションの出力、ログ、パフォーマンス・メトリクスを調べることにより、それらを監視、測定、理解する能力を指します。

DevOpsリソース