Slide 1

Slide 1 text

これからのPlatform Engineeringを支える コンテナ×Backstageの真価 Shintaro Kitamura Specialist Solution Architect Red Hat K.K. CloudNative Days Tokyo 2023

Slide 2

Slide 2 text

2 北村 慎太郎 Red Hat - Specialist Solution Architect - OpenShiftを中心としたプリセールス 得意領域:SRE, Automation, CICD #Kubernetes #OpenShift #AWS #GCP #Terraform

Slide 3

Slide 3 text

3 Q. なぜ CloudNative ? A. ビジネス成果の向上 ITイノベーションの加速 システムの信頼性担保

Slide 4

Slide 4 text

4 CloudNativeにおける開発 Developer Business Values Docker Kubernetes Test Tools Git CI/CD Security 認知負荷が高まり、ビジネス成果向上への道のりが長く険しいものになっている 生産性 Low

Slide 5

Slide 5 text

5 Platform Engineeringのイメージ Business Values Platformの力で開発者のジャーニーを整備、誘導することで開発生産性の向上を目指す Developer Docker Kubernetes Test Tools Git CI/CD Security 生産性 High Platform Engineering

Slide 6

Slide 6 text

6 Dev Team 1 Dev Team 2 Dev Team 3 開発者向けプラットフォーム (Internal Developer Platform) PF Eng. Team Platform as a Product User 開発者ヒアリング&フィードバック 優先順位を決め必要な機能を実装 Platform Engineering Team と開発者の関わり方

Slide 7

Slide 7 text

開発者に対するプラットフォーム作業(一例) ・コンテナプラットフォームの提供 ・周辺インフラの提供(データベース、ストレージ、DNS) ・プラットフォームのユーザーアカウント払い出し ・プラットフォーム上の権限設定 ・ソースコードリポジトリの提供 ・Wikiの提供 ・チケット管理ツールの提供 ・開発効率化ツールの提供(IDE/Skaffold/Kustomizeなど) ・CICDツールおよびCICDパイプラインの提供 ・サンプルアプリケーションの提供 ・テストツールの提供 ・セキュリティツールの提供(DevSecOps) ・監視ツールの提供 ・コンテナレジストリの提供 ・開発ノウハウの提供 ・そのほか拡張機能の提供(Serverless/ServiceMeshなど) etc… の自動化・セルフサービス化 Platform Engineering Teamのタスク 開発者のエクスペリエンス&生産性を 向上するためのあらゆるタスク 7

Slide 8

Slide 8 text

🤔 SREと何が違うの? 8

Slide 9

Slide 9 text

9 SRE と Platform Engineering の Performance Indicator (PI) SRE の PI - “Error Budget” と ”Toil” が優先的なPI Error Budget(=SLO) Toil システム復旧稼働 本番環境の準備稼働 システムの障害頻度 (MTBF) 障害検知時間 (MTTD) 復旧時間 (MTTR) for Customer Developer Experience Platform Engineering の PI - “Developer Experience” が優先的なPI チーム立ち上げから 開発開始までの期間 開発規模と 開発者の割合 開発開始から 初回リリースまでの期間 PF-Engチーム人数と 開発チーム数の割合 開発者の満足度 for Developer システムのリリース頻度 開発環境の準備稼働 自動化導入後の 稼働の削減効果

Slide 10

Slide 10 text

10 SRE と Platform Engineering の Performance Indicator (PI) SRE の PI - “Error Budget” と ”Toil” が優先的なPI Error Budget(=SLO) Toil システム復旧稼働 本番環境の準備稼働 システムの障害頻度 (MTBF) 障害検知時間 (MTTD) 復旧時間 (MTTR) for Customer Developer Experience Platform Engineering の PI - “Developer Experience” が優先的なPI チーム立ち上げから 開発開始までの期間 開発規模と 開発者の割合 開発開始から 初回リリースまでの期間 PF-Engチーム人数と 開発チーム数の割合 開発者の満足度 for Developer システムのリリース頻度 開発環境の準備稼働 自動化導入後の 稼働の削減効果 最初に設定する Performance Indicator

Slide 11

Slide 11 text

11 開発環境を利用する上で、開発者 が守るべきルールが提供 されているか? ノウハウ ルール 与えられた環境で 開発を行うための ノウハウを持っているか? 開発環境 開発を行うために必要な ツールやプラットフォームが 提供されているか? 開発を開始するために必要な要素 従来の基盤Teamが提供していたもの Cloud Native開発でPlatform Engineering Teamが提供すべきもの

Slide 12

Slide 12 text

Golden Pathによって構築された環境のObservability Golden Pathによって構築された環境のObservability 12 Golden Path Business Values Developer Docker Kubernetes Test Tools Git CI/CD Security 実際に動くサンプルアプリケーションとコード アプリケーションの開発に必要なCIパイプラインとGitOps Golden Pathの価値を正しく理解し活用するためのTechDocs PF Eng. Team Dev Team Platform Engineering Teamからのルールを付与しつつ 動くアプリとコードで開発者のノウハウ習得をサポート 開発のベストプラクティスを実際に動作する環境と共に開発者に提供する仕組み

Slide 13

Slide 13 text

13 Backstage IDP(Internal Developer Platform)の アクセスポイントとしてのポータル機能と、 プラットフォームの機能を活用するための ユーザーインターフェースを提供 Happy developers makes happy code! Backstage.io CNCFでホストされたオープンな Developer Portal プロジェクト

Slide 14

Slide 14 text

14 Golden Path × Backstage × Kubernetes Dev Team Golden Path - A Golden Path - B Golden Path - C Skeleton Repos App Repo Manifest Repo 開発環境 UT Build Scan Deploy IT Image Dev Team Webhook Commit/Push Portal TechDocs PF Eng. Team

Slide 15

Slide 15 text

15 Platform Engineer に対して Backstage が提供する価値 × 習得 × 体系化 開発&運用 ノウハウ の ◯集約 ◯展開 強力に支援 を Backstage は Platform Engineering のノウハウの集大成を展開するためのPortal Platform Engineering Teamに対する

Slide 16

Slide 16 text

16 開発・運用 ノウハウの習得 ノウハウの Golden Path化 Backstageで 開発者に展開 Backstage導入までのステップ PF Eng. Team Dev Team

Slide 17

Slide 17 text

17 Red Hat Developer Hub 開発チームのコラボレーションを加速するInternal Developer Portal Backstageをベースとした開発 者ポータルがOpenShiftで利 用可能に 定義済み、サポート付きの Golden Pathを提供 Red Hatが提供する様々な ソフトウェアと連携する 専用のプラグインを提供 エンタープライズレベルのサ ポートを提供 Coming Soon !!

Slide 18

Slide 18 text

18 まとめ ● Platform Engineeringは開発者を幸せにするためのプラクティス ● まずは”開発チームが開発を始めるまでの時間の短縮”を目指そう ● Golden Pathを使って開発者のノウハウ習得をサポートしよう ● Backstageの真価はGolden Pathの提供と運用にあり Platform Engineeringで 快適な CloudNative Days を目指しましょう!

Slide 19

Slide 19 text

19 Thank you !!