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

プラットフォーム エンジニアリングは、DevOps の原則から構築されたプラクティスであり、セキュリティで保護された管理されたフレームワーク内での開発者エクスペリエンスとセルフサービスの向上を通じて、各開発チームのセキュリティ、コンプライアンス、コスト、およびビジネスまでの時間の価値を改善することを目指しています。 これは、製品ベースのマインドセットシフトと、それをサポートするための一連のツールとシステムの両方です。

最近、プラットフォーム エンジニアリングという用語に関して、多くの業界の興奮があります。 実際、 Gartner は、エンジニアリング組織の約 80% が、2026 年までにプラットフォーム エンジニアリング専用のチームを持つ予定です。 これらのチームは、内部開発者プラットフォームと呼ばれるものを構築することに焦点を当てています。 ドメイン ( Microsoft DynamicsSalesforce など) に関係なく、サービスフルフィルメント (例: ServiceNow)、通信 (例: Twilio) – プラットフォームは、固有の性質により、スケーリングを実現し、ビジネス価値を提供するのにかかる時間を短縮するように設計されています。

開発者が使用または拡張するプラットフォームは、高度に最適化された開発者エクスペリエンスと簡素化された運用により、開発プロセス全体の混乱を解消できます。 これらのプラットフォームには、次のツールが含まれます。

  • 開発者が自己完結型になるように支援する (スターター キット、IDE プラグインなど)
  • 一般的なタスクを支援する
  • 一般的なパターンとプラクティスを再利用可能な構成要素にカプセル化する
  • 問題やセキュリティ リスクに関する早期のアドバイスとフィードバックを提供する
  • 基になるインフラストラクチャとツールを管理して運用を簡素化する

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

内部開発者プラットフォームは、会社の内部開発プラクティスに重点を置きます。 運用環境への推奨およびサポートされている開発パスのセットを定義し、内部プラットフォームを使用して段階的に "舗装" します。 実際の例えでは、新しいパスはダート トレイルとして始まることがよくありますが、使用する人が増えるにつれて、速度とスループットを維持しながら安全性を向上させることができます。 内部開発者プラットフォーム内の舗装されたパスには、同様の目標があります。 開発者の配信速度を犠牲にすることなく、重要な要件と標準を開発者にガイドするように設計されています。 これは、標準化されたセキュリティで保護されたスケーラブルなセルフサービス機能を開発チームに提供することで実現されます。 同時に、運用と IT organizationを簡単に行い、基盤となるインフラストラクチャとツールが効率的で、準拠しており、コスト効率が高くなります。 一部のパスは部分的に舗装される可能性があります。完全に舗装されたゴールデン パスを使用すると、関係するすべてのユーザーの認知負荷が軽減されます。 開発者は、内部開発者プラットフォームの主要なコンシューマーまたは顧客です。 自動化と集中化により、効率的な運用が可能になり、コンプライアンスなどの利害関係者の要件が確実に満たされます。

プラットフォーム エンジニアリングでは、 製品マインドセットDevOps と DevSecOps の学習を組み合わせてこの内部プラットフォームを作成し、一連のツールを提供します。 これらのツールは、開発チームを自然に "成功の場に導く" 十分な自動化、追跡、ガバナンス、監視を提供します。多国籍マスメディア企業のプラットフォームエンジニアリングリーダーとして、次のように言います。

プラットフォームエンジニアリングは、製品の納入速度または速度を向上するために採用されました。 一元化されたチームでは、各チームがインフラストラクチャについて心配する必要がなくなり、効率が向上します。... また、すべてが事前に定義されているため、安全性とセキュリティが強化され、エラーが減ります。 - クラウド エンジニア、Fortune 500 Media Company

言い換えると、内部開発者プラットフォームは、認知負荷と手動の手順を減らすか、または排除することで、開発と運用のライフサイクル全体にわたって専門的な知識を一元化し、スケーリングするのに役立ちます。

プラットフォーム エンジニアリングの概念の図。

成功したプラットフォーム エンジニアリング戦略を実装すると、作業が必要になりますが、その価値はあります。 個人が 20 人未満のチームが、何千人もの開発者と数百のプロジェクトをサポートできることは珍しくありません。

ただし、内部開発者プラットフォームの作成は体験です。 "ビッグ バン" アプローチやトップダウン駆動型の取り組みはお勧めしません。 プラットフォーム エンジニアリングの重要な側面は、開発者、機械学習の専門家、またはデータ サイエンティストを顧客として扱う製品マインドセットを適用することです。 テクノロジ企業の 1 人のプラットフォーム エンジニアとして、次の手順を実行します。

[ある] 2 つのメイン問題 [当社] プラットフォーム エンジニアリング ツールが解決するように設計されました。 1 つ目は、セルフサービス モデルを使用してサービスのプロビジョニングを容易にすることでした。 … 2 つ目は、パフォーマンス メトリックやアプリケーションの可用性などの自動サポート システムを提供することです。 目標は、開発者がアプリケーションのトラブルシューティングと最適化に必要なすべての情報を取得しながら、より迅速かつ効率的に作業できるようにすることでした。 - Alex、リード クラウド アーキテクト、Large Technology Company

これは実装するには高い順序ですが、同じ企業は 2 社もないので、この取り組みを通じて増分コースをプロットする内部顧客の特定のニーズを検討してください。 時間の経過と共に組み立てる一連のコア構成要素を確立することで、開発チームがアドボケイトになり、途中でそれを使用する十分な価値を内部開発者プラットフォームに確保できます。 この情報を使用して、最も薄い実行可能なプラットフォーム (TVP、プラットフォームの実用最小限の製品) を作成し、そこから拡張します。

実装オプションを使用したプラットフォーム エンジニアリングの概念の図。

重要なポイントは、これらの分野で行う投資を、プラットフォーム エンジニアリング体験の重要な構成要素として考えたいということです。

その後、ゼロからすべてを構築するのではなく、独自の価値をビジネスに追加するために、カスタム投資でまとまりのある接着剤を作成することに集中できます。