Share
Embed
Transcript
47 slides
-
Kazuto Kusama @jacopen Product Evangelist @PagerDuty Japan Organizer @Platform Engineering
Meetup Founder @Cloud Native Innovators Association -
クラウドの登場とDevOps Dev Ops Configure Verify Package Plan Monitor Release Create
Plan DevとOpsの垣根をなくし、ソフトウェアの開発とデリバリーを継続して行えるよ うにするアプローチ。 このプロセスの中にセキュリティ対策を組み込むDevSecOpsというパターンも登 場した -
真のDevOps 開発者が、アプリをエンドツーエンドでデプロイし、実行する ただし、多くの組織にとって現実的ではない Kubernetes Buildkit Helm Dockerfile Grafana Prometheus GitHub
Actions React Next.js Security Node.js Terraform ArgoCD APM Compliance 認知負荷が 高すぎる これをやり切れ る人材は少ない -
ゴールデンパス ベストプラクティスや標準化されたプロセスにより、開発チームが迷わず素早く安 全にアプリケーションを開発・運用できるようにした一連のルートや仕組みのこと • 開発者の認知負荷を減らす • セキュリティやコンプライアンスを自然と担保する • 開発チームがビジネス価値の創出に集中できるよう支援する 例えば
• 新規サービス生成時に使えるテンプレート • テストやCI/CDパイプラインのセットアップスクリプト • モニタリングやログ収集などの運用機能のガイド -
Platform Engineeringでよく出る2つのIDP 開発チームがインフラやツールを効率的 に利用できるようにするための内部向け プラットフォーム インフラ、CI/CD、監視、認証などを抽 象化し、開発チームがアプリ開発に集中 できるようにする。 インフラやサービスの自己管理を支援 し、「セルフサービス」で素早く安全に
操作できるように設計する。 Internal Developer Platform Internal Developer Portal 開発者向けのインターフェース。 Internal Developer Portalに含まれる ことも多い 自社のサービスやインフラ、ツールの 情報を一元化し、開発者が必要なリ ソースや情報に簡単にアクセスできる ようにしたもの。 ドキュメントやAPI仕様、サービスの 稼働状況をカタログ形式で表示した り、検索可能にしたりする。 -
開発者が運用まで担うの大変じゃない? • 自分で無理に頑張るより、その道のプロにお願いしたい • 全部任せたいけど、難しい場合はせめて相談に乗って欲しい。 適切な情報提供をお願いしたい その道のプロ = Platform Team
その道のプロを体系だって作っていく取り組み = Platform Engineering Platform Engineeringの理解は、この程度でいいと思います -
Platform Engineeringでよく出る2つのIDP 開発チームがインフラやツールを効率的 に利用できるようにするための内部向け プラットフォーム インフラ、CI/CD、監視、認証などを抽 象化し、開発チームがアプリ開発に集中 できるようにする。 インフラやサービスの自己管理を支援 し、「セルフサービス」で素早く安全に
操作できるように設計する。 Internal Developer Platform Internal Developer Portal 開発者向けのインターフェース。 Internal Developer Portalに含まれる ことも多い 自社のサービスやインフラ、ツールの 情報を一元化し、開発者が必要なリ ソースや情報に簡単にアクセスできる ようにしたもの。 ドキュメントやAPI仕様、サービスの 稼働状況をカタログ形式で表示した り、検索可能にしたりする。 -
Platform Engineeringでよく出る2つのIDP 開発チームがインフラやツールを効率的 に利用できるようにするための内部向け プラットフォーム インフラ、CI/CD、監視、認証などを抽 象化し、開発チームがアプリ開発に集中 できるようにする。 インフラやサービスの自己管理を支援 し、「セルフサービス」で素早く安全に
操作できるように設計する。 Internal Developer Platform Internal Developer Portal 開発者向けのインターフェース。 Internal Developer Portalに含まれる ことも多い 自社のサービスやインフラ、ツールの 情報を一元化し、開発者が必要なリ ソースや情報に簡単にアクセスできる ようにしたもの。 ドキュメントやAPI仕様、サービスの 稼働状況をカタログ形式で表示した り、検索可能にしたりする。 気にしなくていい -
ちいさいチームでも、だいたい課題はある • CI/CDパイプライン作るのが後回しになって手作業増えてたりしない? • .envファイルの共有で毎回DMしてない? • 追加した環境変数がメンバーに共有されておらず、エラーが出てムキーって なったりしてない? • レビュー環境でのエラーログ確認方法がバラバラで手間かかってない?
• などなど... → 数人規模のチームでも、こういったペインを解決していけば、開発者体験は向 上する -
Team Topologiesから考える、チームの関わり方 開発チーム その道のプロ 開発チーム その道のプロ Collaboration Facilitating その道のプロが開発チームに勉強会を 開いたり、Slackで情報提供
その道のプロが開発チームにジョインし Manifest書くのを担う 開発チーム その道のプロ XaaS その道のプロが用意したプラットフォームの レールの上で開発 -
Team Topologiesから考える、チームの関わり方 開発チーム その道のプロ 開発チーム その道のプロ Collaboration Facilitating その道のプロが開発チームに勉強会を 開いたり、Slackで情報提供
その道のプロが開発チームにジョインし Manifest書くのを担う 開発チーム その道のプロ XaaS その道のプロが用意したプラットフォームの レールの上で開発 -
最も小さいプラットフォームは、ただのWikiかも At the same time, we're not aiming to build
a massive platform. We're aiming to build what we in the book call a thinnest viable platform TVP. This TVP could be just a wiki page if that's all you need for your platform. 私たちは巨大なプラットフォームの構築を目指して いるわけではありません。私たちは、書籍で「最も 薄い実行可能なプラットフォーム(TVP)」と呼ん でいるものを構築することを目指しています。 このTVPは、プラットフォームに必要なものがウィ キページだけなら、ウィキページだけで構成するこ とも可能です。 https://teamtopologies.com/key-concepts-con tent/what-is-a-thinnest-viable-platform-tvp -
ゴールデンパス ベストプラクティスや標準化されたプロセスにより、開発チームが迷わず素早く安 全にアプリケーションを開発・運用できるようにした一連のルートや仕組みのこと • 開発者の認知負荷を減らす • セキュリティやコンプライアンスを自然と担保する • 開発チームがビジネス価値の創出に集中できるよう支援する 例えば
• 新規サービス生成時に使えるテンプレート • テストやCI/CDパイプラインのセットアップスクリプト • モニタリングやログ収集などの運用機能のガイド -
Team Topologiesから考える、チームの関わり方 開発チーム その道のプロ 開発チーム その道のプロ Collaboration Facilitating その道のプロが開発チームに勉強会を 開いたり、Slackで情報提供
その道のプロが開発チームにジョインし Manifest書くのを担う 開発チーム その道のプロ XaaS その道のプロが用意したプラットフォームの レールの上で開発 -
Team Topologiesから考える、チームの関わり方 開発チーム その道のプロ 開発チーム その道のプロ Collaboration Facilitating その道のプロが開発チームに勉強会を 開いたり、Slackで情報提供
その道のプロが開発チームにジョインし Manifest書くのを担う 開発チーム その道のプロ XaaS その道のプロが用意したプラットフォームの レールの上で開発 -
そのうえで、プラットフォーム(XaaS)を作る • セキュアバイデフォルトなプラットフォーム • ワンクリックで環境調達ができるポータル • 各種ミドルウェアのオンデマンド払い出し • 統一された認証認可 •
メトリクス収集・監視の標準セットアップ • などなど 開発チーム その道のプロ XaaS 大事なことは、機能を揃えるのではなく、必要とされるものを提供すること -
Platform as a Product 顧客 Platform Product プロダクトを提供 プロダクトを提供 プロダクト
マネージャー • プラットフォームが最も達成したい指標は何か ◦ North Star Metricsの策定 • 顧客は何にペインを感じているのか ◦ ユーザーヒアリング • 最も重要なものから実現し、TVP(Thinnest Viable Platform)を作る ◦ 実装する機能の優先順位付け • 社内にその存在を知ってもらう ◦ ブランディング、社内マーケティング -
まとめ • Platform Engineeringは、開発者体験を向上させアウトプットを向上させる 取り組み • その手段のひとつとして、内部開発者プラットフォーム(IDP)の作成がある が、最初の段階では全く気にしなくて良い • 開発フローを振り返ると、何らしかペインがあるのでそれを解決するところ
から始めよう。最初はWiki, Notion, Confluenceの1ページでいい • 拡大していくにあたっては、Team Topologiesが大変役立つ • 信頼がなによりも大事