とは? Platform Engineering 市場動向 Gartner 社による2024年の戦略的技術トレンドトップ10入りを果たすほどの注目される技術分野 出典: 「Gartner Identifies the Top 10 Strategic Technology Trends for 2024」 (https://bit.ly/GIT10STT2024) Platform Engineering Platform engineering is the discipline of building and operating self-service internal development platforms. Each platform is a layer, created and maintained by a dedicated product team, designed to support the needs of its users by interfacing with tools and processes. The goal of platform engineering is to optimize productivity, the user experience and accelerate delivery of business value. プラットフォームエンジニアリングは、セルフサービスの内部開発プラットフォームを構築し運用するための専門分野です。 各プラットフォームは、ツールやプロセスと連携し、ユーザーのニーズをサポートするために専任のプロダクトチームによって 作成され、維持されるレイヤーです。プラットフォームエンジニアリングの目的は、生産性の最適化、ユーザー体験の向上、 そしてビジネス価値の提供を加速させることです。
コンプリケイテッド・サブシステムチーム イネーブリングチーム ストリームアラインドチーム プラットフォームチーム 出典: 『Team Topologies』 by Matthew Skelton and Manuel Pais, 2019 P141 「図 5.1 4つの基本的なチームタイプ」を元に発表者作成
Platform as a Product プラットフォームチームは、ストリームアラインドチームを顧客として扱う コミュニケーションを重視してニーズを把握する ストリームアラインドチーム プラットフォームチーム 顧客 価値の提供 価値の提供 プラットフォームをプロダクトとして見立てる X-as-a-Service 継続的な運用と拡張 Platform as a Product
Backstage について • Backstage は音楽配信サービス事業者の Spotify 社によって開発 • 現在は CNCF(Cloud Native Computing Foundation)のプロジェクトとして開発が進められている • BackstageCon というイベントも開催されている “Our goal is to provide engineers with the best developer experience in the world.” 世界に最高の開発者体験を提供 https://backstage.io/docs/overview/vision/
on Kubernetes 書籍概要 1. (The rise of) platforms on top of Kubernetes 2. Cloud-native application challenges 3. Service pipelines: Building cloud-native applications 4. Environment pipelines: Deploying cloud-native applications 5. Multi-cloud (app) infrastructure 6. Let’s build a platform on top of Kubernetes 7. Platform capabilities I: Shared application concerns 8. Platform capabilities II: Enabling teams to experiment 9. Measuring your platforms https://www.manning.com/books/platform-engineering-on-kubernetes
on Kubernetes KubeVela - get started - Application マニフェスト例 1.Component(コンポーネント) 2. Traits(トレイト) Pod のスケール設定 Webアプリデプロイ用のコンポーネント タイプ、使用するコンテナイメージ、 ポート番号、外部公開を定義