プラットフォーム エンジニアリング体験を開始する
プラットフォーム エンジニアリングは、開発者エクスペリエンスに重点を置き、組織がソフトウェア開発ライフサイクルを最適化する方法です。 開発者エクスペリエンスとは、開発者の実際の体験と、日常業務で遭遇する摩擦点を指します。 プラットフォーム エンジニアリングは、エンタープライズ ソフトウェアの配信の最新化に役立つ一連のパターンとプラクティス (既製の製品ではありません) です。
たとえば、多国籍テクノロジ企業は、プラットフォーム エンジニアリングを使用して標準化を進め、部門の境界を越えて重複を排除しました。 企業は、チームがオンボードするためのコードベースの方法としてすべてを確立することから始めました。 その後、検出をさらに支援するために、この同じ経験を持つ開発者にとって理にかなった方法で Kubernetes にデプロイされたアプリケーションの関連付けを開始しました。 これにより、開発者はベスト プラクティスを促進するアプリケーション テンプレートのアセンブルを開始する立場に置かれます。 開発チームは、ゼロから作成するのではなく、既存の構成要素を選択できるようになりました。
実装するパターンとプラクティスを把握できるように、 Platform エンジニアリング機能モデル で組織の最大の問題を特定する方法について説明します。 次に、Microsoft やその他のオープンソース プロジェクトまたはベンダーの構成要素を使用して、カスタマイズおよび最適化された、安全な内部開発者プラットフォームを作成します。
プラットフォーム エンジニアリング機能モデルを使用して体験をプロットする
まず、 Platform エンジニアリング機能モデルを使用して、組織の現在の場所を評価します。 次に、機能モデルを使用して、投資、導入、ガバナンス、プロビジョニングと管理、インターフェイス、測定とフィードバックの 6 つの機能にまたがる組織の場所をグラフ化し、将来の成長のための目標を設定します。 たとえば、投資に関しては組織が初期段階にあり、さらに導入の段階にある場合があります。 組織の現在のプラットフォーム エンジニアリング プラクティスをグラフにするには、この調査受け取るか手動評価を開始。
各機能を同時に進める必要はありません。 代わりに、組織にとって意味のあるコースをグラフで示します。 すべての組織は、他の機能よりも一部の機能の方が高度になります。 たとえば、このマップでは、組織は導入、ガバナンス、プロビジョニングと管理に重点を置く予定です。
実装
改善の領域として ID を持っている各機能について、進める方法に関する目標を設定します。 これらの目標には、テンプレートやその他のソリューションを使用してエンジニアリング システムを改善し、開発者の摩擦を軽減する方法を学習することが含まれます。
- ソフトウェア エンジニアリング システムを適用する: エンジニアリング システムを再利用して改良し、セルフサービスを改善して特定した問題を解決する方法を検討するのに役立つヒントについて説明します。 一元管理されたインフラストラクチャを、コード (IaC) として使用する方法、またはその他の Everything as Code (EaC) アーティファクトを開始に適切なテンプレートの構成要素として使用する方法について説明します。
- アプリケーション プラットフォームを改良する: アプリケーション プラットフォームを改良することで特定した問題を解決する方法について説明します。 これらの変更はコストが高くなりますが、特にニーズを満たす既製の製品を見つけることができる場合は、大きな利点を得ることもできます。 たとえば、監視ツールやログ ツールの使用を改善する (または別のツールに移動する) と役立つでしょうか。 ゼロから始める場合、Azure アーキテクチャ センターは概念を最初から特定するのに役立ちます。
- 開発者のセルフサービス基盤を設計する: より高度な開発者のセルフサービス基盤のアーキテクチャについて説明します。 これは、複数の自動化システムを合理化し、データを集計するための進化です。 ここでは、より多くのソフトウェア開発を行う予定なので、ここで始めるのではなく、時間の経過と共にこの方向に進みます。