Open4

Platform Engineering について諸々

shinyayshinyay

Plattform Engineering とは

組織内にあるさまざまな技術やツールをすべて設計し繋ぎ合わせ、開発者のセルフサービスを可能にし、認知負荷を軽減する ゴールデンパスとする技術です。

運用チームに目を向けると、反復的な作業 (トイル) を行う負担が軽減されます。

プラットフォームエンジニアは、社内の開発者用プラットフォームを構築・設計し、ユーザーを支援し、サービスを提供するのです。

Platform Engineering / Internal Developer Platform (IDP) 登場の背景

Amazon CTO Werner Vogels はかつて、開発者がライフサイクル全体を通してアプリケーションを "所有" する必要があると述べていました。You Build it, You Run it (2006)

しかし、技術の進歩とともに環境が複雑化している現代では、それは現実的ではなくなってきています。
開発者に対して多くのことを求めすぎている状況となってきています。

Internal Developer Platform (IDP) のプラットフォーム チームによる「ゴールデンパス」の作成は、不要な認知負荷から開発者を解放するだけでなく、コードをより安全で標準化するのにも役立ちます。

Platform Engineering に関する最大の誤解

プラットフォームをプロジェクト用途として構築・運用してしまうこと です。

プラットフォームの設計・構築はソフトウェア開発と同様にユーザーのニーズの調査から始める必要があります。つまり、プラットフォームをプロジェクトとして扱うのでなく、ソフトウェア同様にプロダクトとして扱う必要があるのです。

  • 🙅‍♀️ プラットフォームをプロジェクトとして扱う
  • 🙆🏻‍♀️ プラットフォームをプロダクトとして扱う
shinyayshinyay

いろいろな人が語る Platform Engineering の定義や目的

  • One of the goals of platform engineering is to promote self-service to enhance developer velocity and free them from being dependent on people and processes to do their job
    • プラットフォームエンジニアリングの目標の1つは、セルフサービスを促進し、開発者のベロシティを向上させ、仕事をするために人やプロセスに依存することから解放することです。

    • David Melamed, the CTO of the Jit DevSecOps orchestration platform

  • The discipline of designing and building toolchains and workflows that enable self- service capabilities for software engineering organizations in the cloud-native era. Platform engineers provide an integrated product most often referred to as an “Internal Developer Platform” covering the operational necessities of the entire lifecycle of an application
    • クラウドネイティブ時代のソフトウェアエンジニアリング組織のセルフサービス機能を実現するツールチェーンやワークフローを設計・構築するエンジニアリング分野です。プラットフォームエンジニアは、アプリケーションのライフサイクル全体を進めるために必要なものをカバーする「内部開発者プラットフォーム」と呼ばれる統合製品を提供することが多い。

    • Luca Galante, Product Manager at Humanitec