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.7k
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
Maximizing the Launch Reliability: Ensuring Stable Application Lift-off and Orbit on Kubernetes
hhiroshell
0
51
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
200
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
5
730
Architecting Kubernetes-Based Internal Developer Platforms: Essential Patterns and Practices
hhiroshell
0
260
Discover Your Tailored Platform Strategy with Real-World Practice
hhiroshell
1
270
Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetesto Achieve Both Frequent Updates and Stability
hhiroshell
11
4.3k
Platform EngineeringにおけるKubernetesの活用法とLINEヤフーにおける事例のご紹介 / Platform Engineering and Kubernetes Findy Lunch LT Edition
hhiroshell
7
2.5k
大規模Webアプリケーションプラットフォームを開発して軌道に乗るまでにやったこと / How to Put Platforms on Track
hhiroshell
2
2.7k
Kubernetesとカスタムコントローラーを活用したプラットフォーム開発・運用の勘所 / Platform Engineering and Kubernetes
hhiroshell
1
1.8k
Other Decks in Technology
See All in Technology
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
8
4.6k
膨大なデータをどうさばく? Java × MQで作るPub/Subアーキテクチャ
zenta
0
110
持続可能なアクセシビリティ開発
azukiazusa1
6
270
[mercari GEARS 2025] なぜメルカリはノーコードを選ばなかったのか? 社内問い合わせ工数を60%削減したLLM活用の裏側
mercari
PRO
0
140
重厚長大企業で、顧客価値をスケールさせるためのプロダクトづくりとプロダクト開発チームづくりの裏側 / Developers X Summit 2025
mongolyy
0
160
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
210
AS59105におけるFreeBSD EtherIPの運用と課題
x86taka
0
160
単一Kubernetesクラスタで実現する AI/ML 向けクラウドサービス
pfn
PRO
1
320
AI時代の戦略的アーキテクチャ 〜Adaptable AI をアーキテクチャで実現する〜 / Enabling Adaptable AI Through Strategic Architecture
bitkey
PRO
12
5.6k
LINEギフト・LINEコマース領域の開発
lycorptech_jp
PRO
0
330
Moto: Latent Motion Token as the Bridging Language for Learning Robot Manipulation from Videos
peisuke
0
160
巨大モノリスのリプレイス──機能整理とハイブリッドアーキテクチャで挑んだ再構築戦略
zozotech
PRO
0
190
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
Unsuck your backbone
ammeep
671
58k
Visualization
eitanlees
150
16k
It's Worth the Effort
3n
187
28k
How to Ace a Technical Interview
jacobian
280
24k
Code Reviewing Like a Champion
maltzj
527
40k
We Have a Design System, Now What?
morganepeng
54
7.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
35
How STYLIGHT went responsive
nonsquared
100
5.9k
Balancing Empowerment & Direction
lara
5
760
Building an army of robots
kneath
306
46k
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