Upgrade to Pro — share decks privately, control downloads, hide ads and more …

開発者こそ幸せたれ!クラウドネイティブ時代の開発を支えるPlatform Engineerin...

Shintaro Kitamura
February 16, 2024
3k

開発者こそ幸せたれ!クラウドネイティブ時代の開発を支えるPlatform Engineeringのススメ / Developers Summit Platform Engineering Practice

Developers Summit.mov

Shintaro Kitamura

February 16, 2024
Tweet

More Decks by Shintaro Kitamura

Transcript

  1. 2 北村 慎太郎
 Red Hat - Specialist Solution Architect -

    OpenShiftを中心としたプリセールス
 
 得意領域:SRE, Automation, CICD 
 
 #Kubernetes #OpenShift #AWS #GCP #Terraform
  2. 4 CloudNative開発が抱える課題
 Developer Business Values Docker Kubernetes Test Tools Git

    CI/CD Security 認知負荷が高まり、ビジネス成果向上への道のりが長く険しいものになっている

  3. 開発者体験はなぜ重要なのか?
 6 ソフトウェア提供
 スピードの向上
 開発者体験向上の効果
 開発者がスムーズに作業
 でき、PJ遅延のストレスがない
 適切なツールとプロセスで
 開発できる
 ソフトウェア


    品質の向上
 開発者の高い
 定着率の実現
 目指すべき開発者体験
 開発者体験の実現方法
 開発者が十分な時間を
 品質向上に費やせる
 適切なテストシナリオでバグの
 早期発見や品質向上に専念できる
 開発者が満足し、
 高いモチベーションを
 持っている
 適切な労働条件、スキルの成長機 会、オンボーディングが提供されてい る
 より良い開発者体験は、様々なメリットをもたらす

  4. Internal Developer Platform オンボーディング 7 Internal Developer Platform (IDP) ドキュメント

    オーケストレーター (K8s) Git CICD ストレージ Observability コンテナ テスト セキュリティ コンプライアンス レジストリ Developer Centric ポータル テンプレート 開発者の幸せを追求する開発者向けプラットフォーム
 開発者体験を向上するためのあらゆるツー ルを提供
 このPlatform上でアプリを開発・運用 するための学習環境を提供

  5. 8 Dev Team 1 Dev Team 2 Dev Team 3

    Internal Developer Platform Platform Engineering Team Platform as a Product User 開発者ヒアリング&フィードバック 
 優先順位を決め必要な機能を実装 
 開発者体験向上のための環境を提供する仕組み

  6. 10 Platform Engineering Team の Performance Indicator (PI) Developer Experience

    Platform Engineering の PI チーム立ち上げから
 開発開始までの期間
 開発規模と
 開発者の割合
 開発開始から
 初回リリースまでの期間
 PF-Engチーム人数と
 開発チーム数の割合
 開発者の満足度
 システムのリリース頻度
 開発環境の準備稼働
 自動化導入後の
 稼働の削減効果

  7. 11 Platform Engineering Team の Performance Indicator (PI) Developer Experience

    Platform Engineering の PI 開発規模と
 開発者の割合
 開発開始から
 初回リリースまでの期間
 PF-Engチーム人数と
 開発チーム数の割合
 開発者の満足度
 システムのリリース頻度
 開発環境の準備稼働
 自動化導入後の
 稼働の削減効果
 チーム立ち上げから 開発開始までの期間 最初に設定する
 Performance Indicator
  8. 12 開発環境を利用する上で、開発者 が守るべきルールが提供
 されているか?
 ノウハウ
 ルール
 与えられた環境で
 開発を行うための
 ノウハウを持っているか?
 開発環境


    開発を行うために必要な
 ツールやプラットフォームが
 提供されているか?
 開発を開始するために必要な要素
 従来の基盤Teamが提供していたもの
 CloudNative開発でPlatform Engineering Teamが提供すべきもの

  9. Golden Pathによって構築された環境のObservability Golden Pathによって構築された環境のObservability 13 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からのルールを付与しつつ
 動くアプリとコードで開発者のノウハウ習得をサポート
 開発のプラクティスを実際に動作する環境と共に開発者に提供する仕組み

  10. 15 Red Hat Developer Hub 開発チームのコラボレーションを加速する Internal Developer Portal Backstageをベースとした開

    発者ポータルがOpenShiftで 利用可能に
 定義済み、サポート付きの Golden Pathを提供
 Red Hatが提供する様々な
 ソフトウェアと連携する
 専用のプラグインを提供
 エンタープライズレベルのサ ポートを提供
 N ew Release!!
  11. 16 Golden Path × Developer Hub × OpenShift Dev Team

    Golden Path - A Golden Path - B Golden Path - C 開発環境

  12. 17 Golden Path × Developer Hub × OpenShift Dev Team

    Golden Path - A Golden Path - B Golden Path - C Skeleton Repos App Repo Manifest Repo 開発環境

  13. 18 Golden Path × Developer Hub × OpenShift Dev Team

    Golden Path - A Golden Path - B Golden Path - C Skeleton Repos App Repo Manifest Repo 開発環境

  14. 19 Golden Path × Developer Hub × OpenShift Dev Team

    Golden Path - A Golden Path - B Golden Path - C Skeleton Repos App Repo Manifest Repo 開発環境
 UT Build Scan Deploy IT
  15. 20 Golden Path × Developer Hub × OpenShift Dev Team

    Golden Path - A Golden Path - B Golden Path - C Skeleton Repos App Repo Manifest Repo 開発環境
 UT Build Scan Deploy IT Dev Team Commit/Push
  16. 21 Golden Path × Developer Hub × OpenShift Dev Team

    Golden Path - A Golden Path - B Golden Path - C Skeleton Repos App Repo Manifest Repo 開発環境
 UT Build Scan Deploy IT Dev Team Commit/Push Webhook
  17. 22 Golden Path × Developer Hub × OpenShift Dev Team

    Golden Path - A Golden Path - B Golden Path - C Skeleton Repos App Repo Manifest Repo 開発環境
 UT Build Scan Deploy IT Dev Team Commit/Push Webhook Image
  18. 23 Golden Path × Developer Hub × OpenShift 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 Commit/Push Webhook
  19. 24 Golden Path × Developer Hub × OpenShift Dev Team

    Golden Path - A Golden Path - B Golden Path - C Skeleton Repos App Repo Manifest Repo 開発環境
 UT Build Scan Deploy IT Image Portal TechDocs Dev Team Webhook Commit/Push
  20. 26 Platform Engineer に対して Portal が提供する価値
 
 
 × 習得


    × 体系化
 開発&運用
 ノウハウ 
 の
 ◯集約
 ◯展開
 強力に支援
 を
 Internal Developer Portal は Platform Engineering のノウハウの展開を支援する
 Platform Engineering Teamに対する 

  21. 27 開発・運用
 ノウハウの習得
 ノウハウの
 Golden Path化
 Internal Developer Portal で


    開発者に展開
 Internal Developer Portal 導入までのステップ
 PF Eng. Team Dev Team
  22. Developer Experience Platform Engineering Developer Experience Business Value (TCO /

    ROI) Tech Platforms テクノロジーをビジネス価値の実現につなげる
 People and Process 人材、プロセス、技術の習熟度向上による 
 ビジネス価値の創出 
 開発者の生産性を向上させ、 
 ビジネス価値を創出するためのスタート地点 
 プロジェクトで得た経験から開発のプラクティスを Golden Pathとして定義し、展開する 
 開発者のイノベーション加速を支援するために 
 Platformの継続的な改善を実施 
 Kubernetes/OpenShiftの各種機能を理解し、 
 単一クラスターの運用業務を定義 
 ビジネス価値の実現に向けて”単なる基盤”からの進化を目指す
 28
  23. CloudNative時代のPlatform に求められる変革
 29 従来のインフラ基盤
 CloudNative時代のPlatform 安定した状態の維持
 前もって定義された要件
 問題は対応策として改善される 
 OSレイヤによる明確な境界


    リクエストはチケットで処理
 継続的な改善
 ニーズの継続的な見直し
 問題は先手を打って解決する
 イノベーション加速への強力な支援 
 リクエストはセルフサービスで処理 
 開発者体験の向上への貢献と継続的な改善が不可欠
 “Better Practice”, NOT “Best Practice”
  24. 30 まとめ • Platform Engineeringは開発者を幸せにするためのプラクティス • Platform as a Productで継続的な改善を実施しよう

    • Golden Pathを使って開発者のノウハウ習得をサポートしよう • Internal Developer Portalの真価はGolden Pathの提供と運⽤にあり
  25. linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat 32 Red Hat is the world’s

    leading provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. Thank you