内部開発者プラットフォームの作成に取り組む際には、まず 最も実行可能な最も薄いプラットフォーム (TVP) を決定する必要があります。 TVP は、従来の製品管理における 実用最小限の製品 (MVP) の概念のバリエーションです。
TVP の一部として必要なジョブを把握する良い方法は、プラットフォーム エンジニアリング機能モデルを使用して組織のプラットフォーム エンジニアリング プラクティスを評価することです。 プラットフォーム エンジニアリング機能モデルでは、組織の現在のプラットフォーム エンジニアリングの強みを確認し、将来の目標を設定できます。
次の図は、開発者プラットフォームが時間の経過とともにどのように進化するかを考える際に役立ちます。 組織の主な問題により、既存の投資や組織のニーズにより、ここで説明した内容から逸脱する可能性があることに注意してください。 組織で必要な場合を除き、次のステージに進む必要はありません。
最初から始める場合、このシーケンスは一般的な進行を表します。
- 初期段階では、必要な機能の発見、シュリンクラップ製品のフィットギャップ分析、および最小限の数のツールまたはプラットフォーム機能の作成に重点を置きます。
- 次に、スケーリングを行う際に、再利用性に重点を置き始め、再利用可能な資産を使用して事前に定義された舗装されたパスをユーザーに誘導します。
- 最後に、アプリケーションの構築と保守を容易にするために、コンシューマーのようなデジタル ストア モデルに移行します。
製品の考え方に従う必要があるため、最後にジャンプすることはお勧めしません。また、特定の体験は異なる場合があります。 これらの最終段階は、従来の意味でシュリンクラップされた製品に最も似ていますが、これは出発点ではなく目的地です。
プラットフォーム エンジニアリングのトピック領域
このトピックのサイズを考慮して、内部的にプラットフォーム エンジニアリングについて話す方法を 4 つの領域に分割することをお勧めします。
エンジニアリング システム: GitHub や Azure DevOps などの DevOps スイートと、その他の開発者ツールとサービスの厳選された組み合わせ。 CI/CD やパッケージ管理などの重要な DevOps ツールやサービスだけでなく、この領域には、クラウドベースのコーディング環境、コード スキャナーとリットル、 GitHub Copilot などの AI アシスタントなどのコーディング プロセス中に直接使用される機能も含まれています。
アプリケーション プラットフォーム: 組織がビジネス価値を提供するために使用する各アプリ スタック (アプリケーション、アプリ モデル、言語のクラス) を対象とするサービス (サービスとしてのインフラストラクチャ、サービスとしてのプラットフォーム、可観測性など) の厳選された選択。 これには、アプリ スタック固有のサービスと、全体で使用される一般的なサービスの組み合わせが含まれます。 アプリケーション プラットフォームの例としては、 Azure Container Apps、ストレージ用 Azure Cosmos DB 、シークレット用 の Azure Key Vault 、ID と制御のための Azure ロールベースのアクセス制御 、コンプライアンスと監査のための Azure Policy、 Grafana による可観測性、関連するネットワーク トポロジなどがあります。
アプリケーション テンプレート: 適切なスタートをカプセル化し、特定のアプリケーション プラットフォーム、言語、一連のエンジニアリング システムに適したガイダンスを 維持 する、明確に定義された組織が作成した一連のクイック スタート テンプレート。 これらのテンプレートは、他の一元化されたテンプレートを参照し、スターター コード、API と SDK の参照、CI/CD パイプライン、ツール構成などを提供できます。
開発者のセルフサービス機能: これは、プラットフォーム エンジニアリング作業の接着剤です。 これは、API、オーケストレーター、カタログ、テンプレート、およびユーザー エクスペリエンスの組み合わせであり、開発者の作業を減らし、開発チームがセルフサービスで自律的になり、前の 3 つの領域からの選択とガイダンス/ガバナンスに準拠できるように設計されています。
エンジニアリング システム、アプリケーション プラットフォーム、アプリケーション テンプレート、開発者のセルフサービス機能を統合することは、プラットフォーム エンジニアリング戦略の基礎となります。 DevOps ツール、クラウド サービス、セルフサービス機能を組み合わせることで、組織は開発者の作業を大幅に削減し、生産性を向上させ、ガバナンス標準への準拠を確保できます。