Skip to content
Latchkey

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

プラットフォームエンジニアリングとは、運用の複雑さを抽象化することでアプリケーション開発者の生産性を高める社内プラットフォームやツールを構築・運用する分野です。

DevOpsがより多くの責任をプロダクトチームに押し付けるにつれ、インフラ、pipeline、運用を所有する認知負荷は持続不可能なほど大きくなりました。プラットフォームエンジニアリングは、社内ツールをプロダクトとして扱い、あらゆる基盤システムのエキスパートにならなくてもソフトウェアを出荷できる舗装された道(paved road)を開発者に提供することで、これに応えます。

それが解決する問題

すべての開発者がKubernetes、CI pipeline、クラウドネットワーキング、セキュリティを習得することを期待するのは非現実的です。その負荷はチームを遅くし、一貫性の欠如を生みます。プラットフォームエンジニアリングは、この専門知識を再利用可能なツールへと集約するため、アプリケーション開発者はインフラと格闘するのではなく、自分たちのプロダクトに集中できます。

プロダクトとしてのプラットフォーム

その決定的な考え方は、社内プラットフォームを、開発者を顧客とするプロダクトとして扱うことです。それは、開発者のニーズを理解し、roadmapに優先順位をつけ、採用状況と満足度を測定し、開発者体験で競うことを意味します - 単にツールを押し付けて利用を義務づけるのではありません。

プラットフォームが提供するもの

  • 環境とインフラのself-serviceプロビジョニング。
  • 標準化された信頼性の高いCI/CD pipeline。
  • 一般的なタスクとアーキテクチャのためのgolden path。
  • 組み込みのオブザーバビリティ、セキュリティ、コンプライアンス。

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

DevOpsの文化は、チームにデリバリーのライフサイクル全体を所有するよう求めましたが、その結果生じた認知負荷はボトルネックになりました。プラットフォームエンジニアリングはその所有権を覆すものではありません - 適切に設計された抽象化を提供することでそれを耐えられるものにし、チームが運用の細部に溺れることなく自律性を保てるようにします。

プラットフォームの関心事としての信頼性とコスト

プラットフォームチームは、そうでなければチームごとにお粗末に再発明されてしまう共通の関心事を所有します。これには、buildとdeployのpipelineの信頼性とコストが含まれます。マネージドで高速かつ信頼できるCI runnerのバックボーンをプラットフォームを通じて提供することは一般的な例であり、各チームが自前で運用する手間を省きます。

重要なポイント

  • プラットフォームエンジニアリングは、開発者の運用負荷を軽減する社内ツールを構築します。
  • 社内プラットフォームを、開発者を顧客とするプロダクトとして扱います。
  • 適切に設計された抽象化と舗装された道を提供することで、チームの自律性を保ちます。

関連ガイド