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
LINEヤフーにおける超大規模プラットフォーム実現への挑戦と学び / Challenges...
Search
hhiroshell
November 29, 2024
Technology
3
1.6k
LINEヤフーにおける超大規模プラットフォーム実現への挑戦と学び / Challenges and Lessons in Building an Ultra-Large-Scale Platform at LY Corporation
hhiroshell
November 29, 2024
Tweet
Share
More Decks by hhiroshell
See All by hhiroshell
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
2
510
Architecting Kubernetes-Based Internal Developer Platforms: Essential Patterns and Practices
hhiroshell
0
210
Discover Your Tailored Platform Strategy with Real-World Practice
hhiroshell
1
250
Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetesto Achieve Both Frequent Updates and Stability
hhiroshell
11
4.1k
Platform EngineeringにおけるKubernetesの活用法とLINEヤフーにおける事例のご紹介 / Platform Engineering and Kubernetes Findy Lunch LT Edition
hhiroshell
7
2.3k
大規模Webアプリケーションプラットフォームを開発して軌道に乗るまでにやったこと / How to Put Platforms on Track
hhiroshell
2
2.6k
Kubernetesとカスタムコントローラーを活用したプラットフォーム開発・運用の勘所 / Platform Engineering and Kubernetes
hhiroshell
1
1.5k
Best Practices for Applications on Kubernetesto Achieve Both Frequent Updates and Stability
hhiroshell
3
740
Cloud Native Developers JP (cndjp) のご紹介 / about cndjp
hhiroshell
0
260
Other Decks in Technology
See All in Technology
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
660
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
260
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
1
200
BigQuery Remote FunctionでLooker Studioをインタラクティブ化
cuebic9bic
2
220
活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19
sansan_randd
1
400
知識を整理して未来を作る 〜SKDとAI協業への助走〜
yosh1995
0
130
_第3回__AIxIoTビジネス共創ラボ紹介資料_20250617.pdf
iotcomjpadmin
0
140
ローカルLLMでファインチューニング
knishioka
0
120
Perk アプリの技術選定とリリースから1年弱経ってのふりかえり
stomk
0
120
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
29
9.5k
Observability в PHP без боли. Олег Мифле, тимлид Altenar
lamodatech
0
260
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
1
140
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
4 Signs Your Business is Dying
shpigford
184
22k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Six Lessons from altMBA
skipperchong
28
3.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
940
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Unsuck your backbone
ammeep
671
58k
Balancing Empowerment & Direction
lara
1
340
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
The Cost Of JavaScript in 2023
addyosmani
51
8.4k
A better future with KSS
kneath
239
17k
Making Projects Easy
brettharned
116
6.2k
Transcript
© LY Corporation LINEヤフーにおける 超大規模プラットフォーム実現への 挑戦と学び LINEヤフー株式会社 SIグループ クラウド統括本部 早川
博
© LY Corporation 2 自己紹介 • LINEヤフー株式会社 • 社内向けプラットフォームの開発運用 •
Java言語サポート • オープンソース プログラム オフィス(OSPO) • CNCF TAG App Delivery • プラットフォームエンジニアリング 分野でのコントリビューション • Kubernetes本 • 自作キーボード Hiroshi Hayakawa @hhiroshell
© LY Corporation 3 LY PaaSの概要 • KubernetesベースのWebアプリケーション実行基盤 • 簡単なコマンドを実行、またはマニフェストを適用するだけでアプリケー
ションが起動し、自動的にエンドポイントが公開される $ 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! ※一部実際のものとは異なる箇所があります
© LY Corporation 4 LY PaaSが提供する様々な機能 • クラウドコンソールからセルフ サービスでの利用開始 •
テレメトリ情報の自動送信 • ワークロードアイデンティティ と認証認可によるエンドポイント セキュリティ • シークレットマネージャーと 連携した機密情報の自動設定
© LY Corporation 5 LY PaaSにまつわる数字 Tenant 660 Application 26,000
Pod 100,000 Node 11,600 Request/s 900,000 max
© LY Corporation 6 LY PaaSの歴史 開発期 導入期 成長期 成熟期
660 Tenants 26,000 Applications 100,000 Pods Application数 パイロット提供 GA 約5年 旧プラットフォーム からの流入
© LY Corporation 7 LY PaaSの様々な課題 開発期 導入期 成長期 成熟期
Application数 パイロット提供 GA 約5年 旧プラットフォーム からの流入 アプリケーション数が急増しても安定的に 実行したい 円滑に移行を行い旧プラットフォーム の利用をゼロにしたい 様々なユーザーのユースケースに応えたい 660 Tenants 26,000 Applications 100,000 Pods
© LY Corporation 8 課題解決の鍵 スケールアウト ファースト Platform as a
Product
© LY Corporation 9 LY PaaSの様々な課題 開発期 導入期 成長期 成熟期
Application数 パイロット提供 GA 約5年 旧プラットフォーム からの流入 アプリケーション数が急増しても安定的に 実行したい 円滑に移行を行い旧プラットフォーム の利用をゼロにしたい 様々なユーザーのユースケースに応えたい 660 Tenants 26,000 Applications 100,000 Pods
© LY Corporation 10 スケールアウト・ファースト • LY PaaSでは、スケールアウトできないところがことごとく大規模化のボト ルネックとなった •
スケールアウトを設計時点で組み込んでおくのが理想。難しければ後から作 り変えが可能か確認しておく スケールアウト戦略をとれない箇所をできるだけ排除するよう にプラットフォームを設計・実装すること
© LY Corporation 11 クラスターのスケールアウト • 複数のKubernetesクラスター組み合わせてひとつのプラットフォームを構成 することで、Kubernetes単体のスケーラビリティの限界を解消 コントローラー 適切なクラスター
でアプリを起動 エンドユーザー アプリにアクセス アプリをデプロイ 開発者 App スケールアウト
© LY Corporation 12 参考:Kubernetesのスケーラビリティ • Kubernetesではサポートされる最大 Node数、Pod数などが公開されている が、これらのパラメータを同時に上限 まで満たせるわけではない
• 参考: Kubernetes Scalability thresholds • プラットフォームを構成するための システムコンポーネントをクラスタに 追加すると、それらもボトルネックに なり得る 出典: Kubernetes Scalability: A multi-dimensional analysis
© LY Corporation 13 メトリクスパイプラインのスケールアウト DaemonSet App A telegraf telegraf
telegraf Node Node Node App B App A App B App A App C Kubernetes MQ プラットフォーム メトリクス バックエンド • メトリクスエージェントをDaemonSetにすることで、クラスタの増強に合わ せて自然にスケールアウト メトリクス w/ Tenant Index
© LY Corporation 14 メトリクスパイプラインのスケールアウト kube-state-metrics telegraf telegraf telegraf Node
Node Node kube-api-server Kubernetes MQ プラットフォーム メトリクス バックエンド • 一つのExporterのメトリクス量が多すぎる場合は、複数のエージェントで手 分けして転送
© LY Corporation 15 Platform as a Product • ユーザーが求める価値にもとづいた投資判断、プロダクトマネジメントロー
ルの設置、Day1からDay2に至るまでのユーザー体験のケアなどの振る舞いが プラットフォームチームに生まれる • LY PaaSでは、ユーザーが求めるユースケースの分析、旧プラットフォーム からの移行の手厚いサポートなどのアクションにつながった 社内プラットフォームを顧客向けのプロダクトのように扱う プラットフォームチームのマインドセット
© LY Corporation 16 多様なユーザーのユースケースとどう向き合うか 典型的なユースケースを見つけ出して、 セルフサービスで使えるように実装する プラットフォームのユースケース全体
© LY Corporation 17 ユーザーストーリーマッピング • ユーザーの時系列の行動と、それに対するユーザー/プラットフォームチーム 視点のストーリーを網羅的に洗い出す( 仮説の設定) •
特定された機能群に対して実現の優先度を決定する 行動 関心 意識 開発前 開発中 デプロイ 運用中 障害発生時
© LY Corporation 18 仮説検証 ユーザーストーリーをもとに 作成したユースケース仮説 ユーザー アンケート ユーザー
インタビュー TVP* 開発 パイロット ユーザーへの 提供 * TVP: Thinnest Viable Platform
© LY Corporation 19 旧プラットフォームからの移行のサポート 典型的なユースケースに対して、 セルフサービスで移行できるようにする 旧プラットフォームのユースケース全体 エッジなユースケースに絞って 個別のサポートを提供
© LY Corporation 20 プラットフォーム移行のセルフサービス化 マニフェスト変換ツール • マニフェストを新フォーマッ トに自動変換 移行手順ドキュメント
• 移行に特化したドキュメント の提供 移行のスキル支援 • 移行に特化したハンズオン セッションの提供
© LY Corporation 21 エッジなユースケース向けの移行支援 移行における 課題の発見 解決策の 検討 解決策の
実施 • オフィスアワーの開催 • ユーザーフォーラムから の問い合わせ • コンサルティング • アプリケーションのアーキテク チャ変更 • プラットフォームへの機能追加 • 他プラットフォームへの移行
© LY Corporation 22 まとめ • LINEヤフーでは社内向けに大規模なWebアプリケーションプラットフォーム を提供 • スケールアウト・ファーストで設計することにより、大量のアプリケーショ
ンを安定して実行にできるプラットフォームに成長できた • Platform as a Productのマインドセットにより、多くの利用者のユースケー スをカバーしつつ、旧プラットフォームからの移行もサポートできた
© LY Corporation 23 Cloud Native Platform Engineering • Cloud
Nativeのテクノロジーはプラットフォームのための欠かせないビル ディングブロックです * CNCF graduated projects
© LY Corporation
© LY Corporation