Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
大規模Webアプリケーションプラットフォームを開発して軌道に乗るまでにやったこと / How ...
Search
hhiroshell
December 06, 2023
Technology
2.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
大規模Webアプリケーションプラットフォームを開発して軌道に乗るまでにやったこと / How to Put Platforms on Track
hhiroshell
December 06, 2023
More Decks by hhiroshell
See All by hhiroshell
Maximizing Launch Reliability: Controlled Lift-off for Reliable Application Startup on Kubernetes
hhiroshell
0
92
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
270
Platform Engineering from the CNCF Perspective
hhiroshell
0
91
Maximizing the Launch Reliability: Ensuring Stable Application Lift-off and Orbit on Kubernetes
hhiroshell
0
130
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
410
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
5
930
LINEヤフーにおける超大規模プラットフォーム実現への挑戦と学び / Challenges and Lessons in Building an Ultra-Large-Scale Platform at LY Corporation
hhiroshell
3
1.9k
Architecting Kubernetes-Based Internal Developer Platforms: Essential Patterns and Practices
hhiroshell
0
340
Discover Your Tailored Platform Strategy with Real-World Practice
hhiroshell
1
320
Other Decks in Technology
See All in Technology
クロスボーダーM&AのValue Upを支えるプロダクト開発。日米チームのハブになったプロダクトエンジニアの実践 / Product Engineering Conference 2026
genda
0
110
enechainの内製セルフサービスプラットフォーム
hiyosi
0
150
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
250
GoにおけるFFIのこれまでとこれから
goccy
5
2.3k
Claude Code本って、 読む必要あるの?
oikon48
2
380
アリアドネの糸と、20年ごとの建て替え ── 長尾真『電子図書館』を、伊勢で読み直す / Rereading Makoto Nagao’s "Electronic Library" in Ise
ykiyota
0
150
2026/09/10 Spring Bootから Jakarta EE/MicroProfileへの移行
megascus
0
300
[2026-09-11]SREは誰のもの?運用エンジニアが始める 「SRE領域への越境」とチームの進化の軌跡 〜Road to NEXT CRE
tosite
0
120
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/6 - 2026/8
oracle4engineer
PRO
0
140
When Does a Local Qwen Start to Break
morshoto
0
200
Sigmaで作る業務アプリ
kazushiro_honma
0
110
module Synths; end
asonas
1
130
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.4k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
530
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
210
30 Presentation Tips
portentint
PRO
1
390
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
The Spectacular Lies of Maps
axbom
PRO
1
990
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
Leo the Paperboy
mayatellez
9
2.3k
Skip the Path - Find Your Career Trail
mkilby
1
220
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Transcript
Platform Engineering Meetup ⼤規模Webアプリケーションプラットフォームを 開発して軌道に乗るまでにやったこと @hhiroshell 1
Platform Engineering Meetup 【PR】⾃作キーボードはいいぞ • ⾃キ専⾨店「遊舎⼯房」へGo! 2 ←遊舎⼯房さんの店舗はこちら ↓@hhiroshellのキーボード #crkbd
⾃⼰紹介 @hhiroshell 早川 博 (はやかわ ひろし) • Cloud Nativeなインフラを開発 するエンジニア。 LINEヤフー 所属
Platform Engineering Meetup 【PR】本を書きました • 「Kubernetesマイクロサービス開発の実践」 – Kubernetesでアプリケーションを実⾏するサービ ス開発者向け –
“マイクロサービス”と銘打っていますが、コント ローラーやサービスメッシュでクラスタをもりも りにするよりも、Kubernetesの仕組みを理解して 使いこなすことにフォーカスしてます 3
Platform Engineering Meetup ⽬次 1. どんなプラットフォームを提供しているの? 2. 新規⽴ち上げから軌道に乗るまでにやったこと 3. まとめ
4
Platform Engineering Meetup ⽬次 1. どんなプラットフォームを提供しているの? 2. 新規⽴ち上げから軌道に乗るまでにやったこと 3. まとめ
5
Platform Engineering Meetup プラットフォームの概要 1/2 • Webアプリケーションの実⾏基盤 – 簡単なコマンドを実⾏ or
マニフェストを適⽤するだけでアプリが起動し、エ ンドポイントが公開される 6 $ paasctl create app hello-world --image=example-registry/sample/helloworld-go:latest --port=8080 $ paasctl get app hello-world NAME ENDPOINT READY REASON AGE hello-world https://hello-world.sandbox.app.dev.yahoo.co.jp True 6m4s $ curl https://hello-world.sandbox.app.dev.yahoo.co.jp Hello World! ※⼀部実際のものとは異なる箇所があります
Platform Engineering Meetup プラットフォームの概要 2/2 • ヤフーのプライベートクラウドにある多数の他サービスと連携し、 様々な機能を提供 – クラウドコンソールからのNamespace作成
– オブザーバビリティ系のサービスにテレメトリを⾃動送信 – 認証認可によるAPIの保護、ワークロードアイデンティティの⾃動挿⼊ – シークレットマネージャーと連携して機密情報をアプリに設定 • マルチテナント&スケーラビリティ – 複数のKubernetesクラスター組み合わせて論理的にひとつのクラスターを構成 – ヤフーが抱える多数のサービスを少数のクラスタで実⾏可能 7
Platform Engineering Meetup 8 • コンソールからのNamespace作成 ※画像はイメージです
Platform Engineering Meetup 9 • コンソールからのNamespace作成 ※画像はイメージです 4VQFS"XFTPNF1SJWBUF$MPVE$POTPMF NZQSPKFDU Namespace新規作成
Namespace名:
Platform Engineering Meetup 10 apiVersion: paas.yahoo.co.jp/v1 kind: App metadata: name:
hello-world namespace: my-project spec: service: autoscale: maxReplicas: 10 minReplicas: 2 template: spec: containers: - name: nginx image: registry.example.com/hello-world:latest ports: - containerPort: 8080 • アプリケーションを実⾏するための最低限のマニフェスト ※⼀部実際のものとは異なる箇所があります
Platform Engineering Meetup どのくらい使われているか • テナント数:数百 • アプリケーション数:約1万 • Pod数:数万
11
Platform Engineering Meetup 参考リンク • Kubernetesとカスタムコントローラーを活⽤したプラットフォーム開発・運⽤の 勘所 – https://www.docswell.com/s/ydnjp/KW1E1D-2023-02-13-111059 •
より安全なKubernetes Secrets管理のためのエコシステムの開発 – https://techblog.yahoo.co.jp/entry/2023021630413822/ – https://youtu.be/JQjL0-c1A-M • 価値提供のリードタイムを短くするための戦術としてのチーム替え「流動チー ム体制」に取り組んでいたら実はLeSSでのモブプロだったお話 – https://confengine.com/conferences/regional-scrum-gathering-tokyo-2024/proposal/19113/less 12
Platform Engineering Meetup ⽬次 1. どんなプラットフォームを提供しているの? 2. 新規⽴ち上げから軌道に乗るまでにやったこと 3. まとめ
13
Platform Engineering Meetup 14 取り組んだこと パイロット 提供 GA 導⼊期 成⻑期
成熟期 イマココ 仕様検討 ※ これとは別に開発活動ももちろん⾏っています
Platform Engineering Meetup 15 取り組んだこと パイロット 提供 GA 導⼊期 成⻑期
成熟期 イマココ 仕様検討 開発者への情報提供とサポート ※ これとは別に開発活動ももちろん⾏っています
Platform Engineering Meetup 16 取り組んだこと パイロット 提供 GA 導⼊期 成⻑期
成熟期 イマココ 仕様検討 開発者への情報提供とサポート 普及活動 ※ これとは別に開発活動ももちろん⾏っています
Platform Engineering Meetup 17 取り組んだこと パイロット 提供 GA 導⼊期 成⻑期
成熟期 イマココ 仕様検討 開発者への情報提供とサポート 普及活動
Platform Engineering Meetup 仕様検討 • ユーザー調査 – これから開発するプラットフォームに対するユーザーのニーズを調査したり、 プラットフォーム開発者間でのイメージを合わせる –
ユーザーストーリーマッピングの作成と、アンケート やインタビューによる ヒアリングを実施 • プロダクト調査 – 世の中にある競合サービスや、類似の既存のプラットフォームを調査し、こ れから開発するプラットフォームで必要/不要となるであろう機能の当たりを 付ける 18
Platform Engineering Meetup ユーザーストーリーマッピング • ⽬的 – ユーザー(開発者)の時系列の⾏動と、それに対する利⽤者/運⽤者視点のス トーリーを網羅的に洗い出す(→ 仮説の設定)
– 特定された機能群に対して実現の優先度を決定する 19 開発者の行動、そのとき感じ ていること、何に意識が向い ているかなど この場合、時系列をアプリ開 発のフェーズで表現
Platform Engineering Meetup ユーザーアンケートとユーザーインタビュー • ⽬的 – ユーザーストーリーマッピングで仮定した利⽤者の⾏動が正しいかどうかを 確認する(→ 仮説の検証)
– 既存の業務フローでのペインポイントや、既存プラットフォームに対する不 満点を確認し、機能提供の優先度に反映する • アンケートとインタビューは2段階 – ユーザーアンケートでインタビューに協⼒いただけると回答があった利⽤者 に対し、インタビューを実施 – インタビューは、オープンな質問をきっかけにした議論や、既存システムの アーキテクチャの詳細を聞くなど、広く深く利⽤者を理解できる機会になる 20
Platform Engineering Meetup 21 取り組んだこと パイロット 提供 GA 導⼊期 成⻑期
成熟期 イマココ 仕様検討 開発者への情報提供とサポート 普及活動
Platform Engineering Meetup 開発者への情報提供とサポート • ドキュメンテーション – 利⽤者にプラットフォームの使い⽅をガイドするドキュメントを提供 • サポート窓⼝開設・問い合わせ対応
– トラブルシュートや使い⽅に関する個々の相談を持ち込む窓⼝ • 個別案件の設定と対応 – パイロット(先⾏利⽤)ユーザーや特殊要件の対応が必要なユーザーに対し、 専⽤のチャネルを設けて⼿圧いサポートを⾏う 22
Platform Engineering Meetup ドキュメンテーション • ⽬的 – 利⽤者がプラットフォームをセルフサービスで利⽤可能にする – 既知の問題や特定機能のサポート状況を知らせるなど、利⽤者へのコミュニ
ケーションパスの⼀つとして利⽤する • ⾯倒かもしれないが、とても⼤事…。 – 無⽤な問い合わせを減らすことにもつながる 23
Platform Engineering Meetup ドキュメンテーションで意識していること • コンテンツ決め – 初期のコンテンツはユーザーストーリーマッピングを元に考える – チートシートは結構読まれる
– トラブルシュートのガイドは問い合わせの削減に効く • ドキュメントの書き⽅ – 読者の⽴場を意識する(例: 開発者向けか、そのマネージャー向けか) – できることではなく、読者がやりたいことを起点に – フィードバックが欲しい場合は実装よりドキュメント先に書くことも 24
Platform Engineering Meetup 個別案件の設定と対応 • ⽬的 – 特殊な要件があるなどして、継続的かつ⼿厚いサポートを必要とするプロ ジェクトに対し、円滑なプラットフォーム利⽤のお⼿伝いをする •
例:超⼤規模アプリケーションの実⾏ – 同種の要件があるプロダクトを受け⼊れるためのノウハウを獲得する – プラットフォームの利⽤実績の獲得 • 専⽤のチャネルで密にやり取り – ちょっとした相談にも乗りやすい環境を⽤意することで、サポート窓⼝では 気づけない問題を発⾒することも 25
Platform Engineering Meetup 26 取り組んだこと パイロット 提供 GA 導⼊期 成⻑期
成熟期 イマココ 仕様検討 開発者への情報提供とサポート 普及活動
Platform Engineering Meetup 普及活動 • ハンズオンセッション – プラットフォームを触り始めるきっかけを作る • よろず相談会
– プラットフォームを使う上での種々の相談を受け付ける • 事例セッション – プラットフォームを使ってくれた開発に発表してもらう 27 (いずれもTGConという社内イベントの中のコンテンツとして実施)
Platform Engineering Meetup TGConとは • プラットフォームやそれに関連する技術を取り扱う社内技術カン ファレンス – 新機能の発表、事例セッション、ハンズオン...etc 28
Platform Engineering Meetup ハンズオンセッション • ⽬的 – ユーザーがプラットフォームを使い始めるきっかけを作る – 開発部⾨の各チームにおいて「このプラットフォームに詳しい⼈」になって
もらう • ユースケースや習熟度毎のハンズオンを提供 – 新規アプリケーションの開発を始めるケース – 他のコンピューティングプラットフォームとの使い分け 29
Platform Engineering Meetup よろず相談会 • ⽬的 – ディスカッションを通じて開発チームのプロジェクトのアーキテクチャや課 題を深く理解した上で、最適な使い⽅をガイドする –
問い合わせフォームで聞くことでもないような質問を投げかけられる場を設 ける – プラットフォームに対する潜在的な受容を発⾒する • オンラインのバーチャルオフィス ツールで、⼊退場⾃由で相談を 受け付ける 30
Platform Engineering Meetup まとめ • LINEヤフーでは開発者向けに様々なプラットフォームを提供 • Webアプリケーションの実⾏基盤となるプラットフォームを新規に 開発し提供中 •
新しいプラットフォームを使ってもらうために、種々の取り組みを おこなった – 仕様策定のためのユーザー調査、プロダクト調査 – 開発者への情報提供とサポート(ドキュメント、個別案件対応...etc) – 普及活動(ハンズオン、よろず相談会 ...etc) • 個々の取り組みは⼀般に知られたもの。これらを地道に続けること が⼤切…。 31