Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
大規模Webアプリケーションプラットフォームを開発して軌道に乗るまでにやったこと / How ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
240
Platform Engineering from the CNCF Perspective
hhiroshell
0
80
Maximizing the Launch Reliability: Ensuring Stable Application Lift-off and Orbit on Kubernetes
hhiroshell
0
110
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
350
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
5
880
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
310
Discover Your Tailored Platform Strategy with Real-World Practice
hhiroshell
1
310
Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetesto Achieve Both Frequent Updates and Stability
hhiroshell
11
5.1k
Other Decks in Technology
See All in Technology
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
370
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
980
失敗を資産に変えるClaude Code
shinyasaita
0
650
LLMにもCAP定理があるという話
harukasakihara
0
330
FinOps × AIエージェントで実現する コストインシデントの自動調査
oasis1994liveforever
0
140
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
990
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
590
20260619 私の日常業務での生成 AI 活用
masaruogura
1
200
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
170
連合学習と機密コンピューティング
lycorptech_jp
PRO
0
120
Chainlitで作るお手軽チャットUI
ynt0485
0
240
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
140
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
What's in a price? How to price your products and services
michaelherold
247
13k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
240
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Cost Of JavaScript in 2023
addyosmani
55
10k
The browser strikes back
jonoalderson
0
1.2k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
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