プラットフォーム エンジニアリング体験を開始する
プラットフォーム エンジニアリングは、開発者エクスペリエンスに重点を置き、組織がソフトウェア開発ライフサイクルを最適化する方法です。 開発者エクスペリエンスとは、開発者の実際の体験と、日常業務で遭遇する摩擦点を指します。 プラットフォーム エンジニアリングは、エンタープライズ ソフトウェアの配信の最新化に役立つ一連のパターンとプラクティス (既製の製品ではありません) です。
たとえば、多国籍テクノロジ企業は、プラットフォーム エンジニアリングを使用して標準化を進め、部門の境界を越えて重複を排除しました。 企業は、チームがオンボードするためのコードベースの方法としてすべてを確立することから始めました。 その後、検出をさらに支援するために、この同じ経験を持つ開発者にとって理にかなった方法で Kubernetes にデプロイされたアプリケーションの関連付けを開始しました。 これにより、開発者はベスト プラクティスを促進するアプリケーション テンプレートのアセンブルを開始する立場に置かれます。 開発チームは、ゼロから作成するのではなく、既存の構成要素を選択できるようになりました。
実装するパターンとプラクティスを把握できるように、組織の最大の問題を特定する方法について説明します。 次に、Microsoft やその他のオープンソース プロジェクトまたはベンダーの構成要素を使用して、カスタマイズおよび最適化された、安全な内部開発者プラットフォームを作成します。
組織のニーズに応じて、いくつかの異なる開始点を次に示します。
体験をプロットする
プラットフォーム エンジニアの多様なチームを構築し、プラットフォーム エンジニアリングの課題の問題領域を定義し、製品の考え方を使用してソリューションを作成します。
- チームを構築する: 経営幹部からのサポート、プロアクティブな文化、多様なチームの採用が、プラットフォーム エンジニアリング チームが進化するビジネス ニーズやユーザーの要求に適応するのにどのように役立つかを理解します。
- 問題領域を定義する: プラットフォーム エンジニアリングの課題を分かりやすい領域に分割し、内部開発者プラットフォームの作成に段階的にステップ インする方法を理解します。
- 計画と優先順位付け: プラットフォーム エンジニアリングを通じて独自の体験をグラフに示します。 計画プロセスに製品の考え方を適用する方法について説明します。 組織が直面する最大の問題を特定し、それらの問題を解決するために概念に優先順位を付けるヒントを取得します。
特定した問題に取り組み始める
テンプレートを使用してエンジニアリング システムを改善し、開発者の摩擦を軽減する方法について説明します。 次に、特定された問題を解決するためにプラットフォームを改良し、既製の製品を使用する可能性があります。
- ソフトウェア エンジニアリング システムを適用する: エンジニアリング システムを再利用して改良し、セルフサービスを改善して特定した問題を解決する方法を検討するのに役立つヒントについて説明します。 一元管理されたインフラストラクチャを、コード (IaC) として使用する方法、またはその他の Everything as Code (EaC) アーティファクトを開始に適切なテンプレートの構成要素として使用する方法について説明します。
- アプリケーション プラットフォームを改良する: アプリケーション プラットフォームを改良することで特定した問題を解決する方法について説明します。 これらの変更はコストが高くなりますが、特にニーズを満たす既製の製品を見つけることができる場合は、大きな利点を得ることもできます。 たとえば、監視ツールやログ ツールの使用を改善する (または別のツールに移動する) と役立つでしょうか。 ゼロから始める場合、Azure アーキテクチャ センターは概念を最初から特定するのに役立ちます。
プラットフォームを進化させる
開発者のセルフサービス プラットフォームを改善するための段階的なアプローチを実装します。
- 開発者のセルフサービス基盤を設計する: より高度な開発者のセルフサービス基盤のアーキテクチャについて説明します。 これは、複数の自動化システムを合理化し、データを集計するための進化です。 ここでは、より多くのソフトウェア開発を行う予定なので、ここで始めるのではなく、時間の経過と共にこの方向に進みます。