Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DeNAの動画配信サービスを支えるインフラの内部 #denatechcon

4,038 views

Published on

DeNA TechCon 2017の登壇資料です。

Published in: Technology
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

DeNAの動画配信サービスを支えるインフラの内部 #denatechcon

  1. 1. Copyright © DeNA Co.,Ltd. All Rights Reserved. DeNAの 動画配信サービスを支える インフラの内部 Yusuke Hata Group Manager Group.1 IT Platform Dept. System Management Unit DeNA Co., Ltd. TechCon 2017
  2. 2. Copyright © DeNA Co.,Ltd. All Rights Reserved. 2 今回お話する内容 ■ 安定したライブ動画配信を支えるためにやっている事 ⁃ ストリームの sharding について ⁃ 分散させるための仕組み ⁃ インフラの構成 ⁃ オートスケーリング ■ クラウドサービスの利用について ■ オートスケーリングについて ■ 実績など
  3. 3. Copyright © DeNA Co.,Ltd. All Rights Reserved. 動画配信サービス ってどんなことやってるのか 3
  4. 4. Copyright © DeNA Co.,Ltd. All Rights Reserved. 動画配信サービスは大きく分けると2パターン ■ ビデオ・オン・デマンド(Video On Demand) ⁃ 収録済みの映像コンテンツを配信(レンタルビデオを見るイメージ) 4 ■ ライブストリーミング ⁃ 撮影しながら配信、視聴もリアルタイム視聴(TVの生放送のイメージ)
  5. 5. Copyright © DeNA Co.,Ltd. All Rights Reserved. 動画配信サービスは大きく分けると2パターン ■ ビデオ・オン・デマンド(Video On Demand) ⁃ 収録済みの映像コンテンツを配信(レンタルビデオを見るイメージ) 5 ■ ライブストリーミング ⁃ 撮影しながら配信、視聴もリアルタイム視聴(TVの生放送のイメージ)
  6. 6. Copyright © DeNA Co.,Ltd. All Rights Reserved. ライブ(ストリーミング)配信の仕組み - おさらい - 6
  7. 7. Copyright © DeNA Co.,Ltd. All Rights Reserved. 配信の仕組み(配信) Origin(オリジン)サーバー カメラなどで撮影したデータはエンコーダーを通して Originサーバと呼ばれる配信サーバに映像データが配信(publish)される 最近ではスマートフォンを使うことで簡単に撮影&配信が出来る 7
  8. 8. Copyright © DeNA Co.,Ltd. All Rights Reserved. 配信の仕組み(視聴) Edge(エッジ)サーバー Originサーバと違い、映像を届ける事をメインとするサーバ Originから配信された映像データをクライアント(視聴者)に届ける(配信する) 8
  9. 9. Copyright © DeNA Co.,Ltd. All Rights Reserved. 映像が届く仕組み(プロトコル) ■ RTMP - Real Time Messaging Protocol ⁃ マルチメディアのやり取りが得意のプロトコル、比較的低レイテンシ、Adobe製 ■ HLS - HTTP Live Streaming ⁃ HTTPプロトコルを使ってライブ配信を実現するプロトコル、Apple製 9
  10. 10. Copyright © DeNA Co.,Ltd. All Rights Reserved. DeNAの主なライブストリーミングサービス 10
  11. 11. Copyright © DeNA Co.,Ltd. All Rights Reserved. 1111 SHOWROOM Mirrativ DeNAインフラで動く主なサービス
  12. 12. Copyright © DeNA Co.,Ltd. All Rights Reserved. 1212 SHOWROOM (ショールーム) DeNAインフラで動く主なサービス ■ インターネット上でアイドル、タレントとコ ミュニケーションを楽しむことができる、仮 想ライブ空間 ■ 仮想ライブ空間では、アバターの格好にな り応援したいパフォーマーの部屋を訪問し コミュニケーションできる ■ パソコン・スマートフォンなどから配信する ことができる ■ VRライブ配信を行うこともできる (SHOWROOM VR)
  13. 13. Copyright © DeNA Co.,Ltd. All Rights Reserved. 1313 Mirrativ (ミラティブ) DeNAインフラで動く主なサービス ■ スマートフォンに特化した生配信・実況配 信が出来るコミュニケーションサービス ■ スマートフォンの画面をミラーリングしな がらライブ配信ができるので手軽 ■ 日本国内以外にも韓国などの海外でも 配信が賑わっている ■ ゲーム実況配信などが人気
  14. 14. Copyright © DeNA Co.,Ltd. All Rights Reserved. 安定したライブ動画配信を 支えるためにやっている事 - インフラ基盤について - 14
  15. 15. Copyright © DeNA Co.,Ltd. All Rights Reserved. 全体の構成 15
  16. 16. Copyright © DeNA Co.,Ltd. All Rights Reserved. 全体の構成およびSharding構成 16 ■ Origin と Edge は Sharding されて同一Shard内に配信される ■ そのため視聴側も同じShard内のEdgeに接続に行く ■ Shardを跨ぐ接続はしていない
  17. 17. Copyright © DeNA Co.,Ltd. All Rights Reserved. 安定運用のための Origin/Edgeのキャパシティプランニング 17
  18. 18. Copyright © DeNA Co.,Ltd. All Rights Reserved. Sharding構成 18 ■ なぜSharding? ⁃ スケールアウトをするため ⁃ Origin1台あたりが捌けるキャパシティに限界がある ⁃ Originのスケールアウト以外にEdgeのスケールアウトのコントロールのため ■ 配信は持続して行われる(連続的)のため キャパシティの上限になる前にスケールアウトしなければならない
  19. 19. Copyright © DeNA Co.,Ltd. All Rights Reserved. Sharding構成 19 ■ Edgeは同一Shard内にスケールアウト ■ Origin同様、配信は持続して行われる(連続的)のため キャパシティが近づくとオートスケールのプログラムによって新しいEdgeが作られる ■ 既存の接続は同一のEdgeに行くため、新規の接続は新しいEdgeに割り振られる
  20. 20. Copyright © DeNA Co.,Ltd. All Rights Reserved. 障害発生時やメンテナンス時に どのようにして 安全なサービスアウトを実現させているか 20
  21. 21. Copyright © DeNA Co.,Ltd. All Rights Reserved. 障害発生時 21 ■ Originは Act/Stby の LB によって管理されている ■ Edgeは Active機 Standby機どちらにも接続している ■ 障害発生時は即座にStandby機に切り替わり映像は継続されるようになっている 通常時 障害発生
  22. 22. Copyright © DeNA Co.,Ltd. All Rights Reserved. メンテナンス 22 ■ ハードウェア故障や脆弱性対応などでサーバのメンテナンスはいつも起こりえる ■ 配信可能なOriginサーバーのリストはDBにて管理され アプリケーションはこの値を使って配信するOriginを決定している ⁃ これによりいつでもメンテナンス(サービスアウト)を行えるようにしている ■ 既に配信されているOriginも対象、配信が終わり次第サービスアウトしている
  23. 23. Copyright © DeNA Co.,Ltd. All Rights Reserved. その他安定化のための 特別な配信への対応 23
  24. 24. Copyright © DeNA Co.,Ltd. All Rights Reserved. 特別な配信への対応 24 ■ 予め高画質な配信(VR配信など)が分かっている場合は Edgeを多めに用意している専用shardで配信を行うようにしている ■ 人気番組など分かっている場合も同様、専用のshardで配信を行えるようにしている ■ 後述するオートスケールプログラムと連携する事で大規模な配信にも対応
  25. 25. Copyright © DeNA Co.,Ltd. All Rights Reserved. 安定して視聴するための 分散方法の仕組みについて 25
  26. 26. Copyright © DeNA Co.,Ltd. All Rights Reserved. 視聴側の分散方法 26 ■ Origin同様の仕組みを持っていて、statusとweightによる分散と状態管理をしている ■ Edgeは接続数をベースにトラフィック量などに応じて接続が分散される ■ Edge増減はオートスケールプログラムによって完全自動化されている
  27. 27. Copyright © DeNA Co.,Ltd. All Rights Reserved. 低遅延を実現するためにしていること 27
  28. 28. Copyright © DeNA Co.,Ltd. All Rights Reserved. 低遅延を実現するためにしていること 1 28 ■ ライブ配信において映像の遅延は常に問題となってくる事 ■ 遅延時間が小さいと 視聴者と配信者でのリアルタイムコミュニケーションがしやすくなる ■ なるべく遅延が起きにくい構成にしている ⁃ メッシュ(フルメッシュ)構造にはしていない ⁃ Origin <-> Edge間に余計なものはいない ⁃ 基本的にはCDNが間にいない(直接Edgeに接続)
  29. 29. Copyright © DeNA Co.,Ltd. All Rights Reserved. 低遅延を実現するためにしていること 2 29 ■ 基本的に視聴時はRTMPを使っている ⁃ HLSもチューニングは行っているが、RTMPに比べ遅延が出てしまう ■ 以前はスマートフォンからの閲覧でHLSを利用していたが、RTMPを利用できるようになってい る(HLSへは回線状況に応じて切り替わる)
  30. 30. Copyright © DeNA Co.,Ltd. All Rights Reserved. クラウドサービスの利用について 30
  31. 31. Copyright © DeNA Co.,Ltd. All Rights Reserved. クラウドサービスの利用 31 ■ OriginはオンプレミスのDCで稼働している ■ Edgeはパブリッククラウドサービスを利用している ■ 設計上、複数のクラウドを混在させることが出来るようになっているため シームレス(ダウンタイムなし)にクラウドサービスの切り替え・混在が出来る
  32. 32. Copyright © DeNA Co.,Ltd. All Rights Reserved. クラウドサービスの利用 32 ■ クラウドサービスもActive系とStandby系に分けてクラウドサービスを運用 ⁃ Standby系のクラウドは「起こさない」限り、Edgeインスタンスの数はゼロ ⁃ 過去に一度だけ「起こした」事がある
  33. 33. Copyright © DeNA Co.,Ltd. All Rights Reserved. DeNAのオートスケールプログラムについて - 先程まで紹介してきた機能を どうやって自動化しているか - 33
  34. 34. Copyright © DeNA Co.,Ltd. All Rights Reserved. オートスケールするとはどういうことか ■ 配信の少ない時間帯は必要最低限のインスタンスが稼働している ⁃ インスタンスのコストの最小化 ⁃ ライセンスコストの最小化 ⁃ => 通常インスタンスが上がっているだけでコストがかかる ■ 人気の番組が配信された時は捌ききれる台数までスケールアウト ⁃ アラートが鳴ってから構築では遅すぎる ⁃ 一度に大量のインスタンスを作ることができる ⁃ 人気番組が終われば自動でスケールイン ■ オートスケールが出来るということ => 人の手を介さず、必要最低限なコストで運用できるということ => オペレーションミスの低減 => メンテナンスの容易さ => 運用コストの低減 ■ 突発的な配信にも耐えれるということ ⁃ ベイスターズのサヨナラヒットも ⁃ 人気アイドルグループの配信にも ⁃ ...etc 34
  35. 35. Copyright © DeNA Co.,Ltd. All Rights Reserved. オートスケールを実現するために必要なこと 35 ■ Originの性能限界の把握 ⁃ OriginはどれだけのEdgeをぶら下げることが出来るのか ⁃ Edgeの台数が増えると何が起きるのか • Edgeが増えると CPU 負荷が増える • Edgeが増えると origin <-> edge 間でのトラフィックが増える ⁃ トラフィックはNICの性能を超えないか ⁃ どれくらいの配信を受けることができるのか • 低ビットレート用transcorderが動いていて一定数を超えるとCPUが貼りつく • 配信数が増えるとメモリ消費量が増える ■ Edgeの性能限界の把握 ⁃ どれだけの接続を受けることができるのか(どこが先に頭打ちするのか) ⁃ 接続が増えるとトラフィックが増える(NICの性能を超えないか) ⁃ 解像度別の負荷状況の把握 ⁃ プロトコルによっても負荷状況は違う ⁃ クラウドサービスによってはインスタンス毎に性能値がバラバラ => Origin/Edgeともに負荷試験がとても大切
  36. 36. Copyright © DeNA Co.,Ltd. All Rights Reserved. オートスケールを実現するために必要なこと 36 ■ 内製負荷試験ツールの作成(scala) ⁃ さまざまな指標を元に性能値を取得するために作成 ⁃ 複数の解像度・複数のストリームなどを段階的に組み合わせて取得 ⁃ ここから性能値を把握し、オートスケールプログラムと監視の閾値に反映
  37. 37. Copyright © DeNA Co.,Ltd. All Rights Reserved. オートスケールの仕組みと実装 37
  38. 38. Copyright © DeNA Co.,Ltd. All Rights Reserved. オートスケールの仕組みと実装 1 38 ■ 基本は接続数ベースのオートスケール(トラフィック等も見ているが) ■ 各Edgeにどれだけ接続が来ているか常に収集 ■ 接続数と現在稼働中のEdgeの台数から、本来必要なインスタンス数を計算、 過不足があればインスタンスを N台 追加削除する ⁃ また、常にN+1台多めにスケールアウトするようにしている ⁃ スケールアウトする場合は、殆どの場合で接続が伸びる傾向にあるため、 予め多く構築している
  39. 39. Copyright © DeNA Co.,Ltd. All Rights Reserved. オートスケールの仕組みと実装 2 39 ■ スケジューリングされたオートスケーリングにも対応 ■ Y月X日Z時 に特別配信があるから、その時間帯だけ暖気ができる ■ ピークタイム時間帯には通常よりも台数を多くしておく等も可能 ■ スケジューリングされていても、接続数などに応じて自動スケールアウトもする
  40. 40. Copyright © DeNA Co.,Ltd. All Rights Reserved. オートスケールの仕組みと実装 3 40 ■ 最低限必要な台数以下には減らさない ■ スケールアウトによって追加されたインスタンスはサービスアウト後一定時間が経過するまで インスタンスの削除は行わない(cooldownタイムがある) ⁃ フラッピング防止の為 ⁃ 増やすときは上限まで増やすが、減らすことは頻繁に行わない
  41. 41. Copyright © DeNA Co.,Ltd. All Rights Reserved. オートスケールの仕組みと実装 4 41 ■ インスタンスは状態遷移が行われるようになっており サービスイン・サービスアウト、インスタンスの台数算出は状態に応じて行われる
  42. 42. Copyright © DeNA Co.,Ltd. All Rights Reserved. オートスケールの仕組みと実装 5 この他にも沢山の仕組みと実装があるが割愛 ■ originとedgeはそれぞれ別々に駆動するため、全体を巻き込んで死亡しないよう な設計になっている ■ 構築から性能に応じたスケーリング、自動監視、全てが自動化されている ■ 高解像度・高ビットレート(例えばVR)の配信がされた場合でもオートスケールが 正しく行えるよう、オートスケールの設定はshard単位で変更できるようになって いる ■ 状態管理はある一定のフォーマットに従って管理されるため、どのようなDCに edgeがあっても、自動で監視が入り、自動でサービスに組み込まれるようになっ ている ■ 監視が細かく入る、監視項目や監視プログラム数も多いため省略 42
  43. 43. Copyright © DeNA Co.,Ltd. All Rights Reserved. オートスケールを実現するために様々な指標を取っている ■ CPU => 急にCPUが跳ねる事がないか、常に跳ね続けていないか ■ MEMORY => 85% 以上メモリを使用すると増設のアラートが飛ぶ ■ TRAFFIC => outbound xxxMbps まで出ているとアラートが飛ぶ(偏りが起きていないか) ■ RTMP CONNECTION数 => port 1935で発行したtcp establish数、同一IPから大量発行が行われていないか ■ HLS の場合は発行したSESSION数 ■ Origin 配信数 ■ 全体の配信数 ■ DC毎のTRAFFIC値 => DCで出せる限界が決まっている場合はちゃんと監視も兼ねて取る ■ インスタンス数の上限値 => 上限にかかりそうな場合、zone切り替えなども ■ ...etc 43
  44. 44. Copyright © DeNA Co.,Ltd. All Rights Reserved. DeNAの配信基盤オートスケールの歴史 ■ 〜2014年 オートスケールのない時代 ⁃ 手動オートスケール ⁃ 数十台のインスタンスを1日で作りその日のうちに(手動で)削除するなどしていた ■ 〜2014年8月(たしか夏頃) 初代オートスケールの誕生 ⁃ 荒削りながらも自動化される ⁃ 足りない部分は運用でカバー ■ 〜2015年3月 2代目オートスケールの誕生 ⁃ 初代に改良を加え、ほぼ現在の実装、これがベース、長期間安定 ■ 〜2015年6月 3代目オートスケールの誕生 ⁃ 2代目のリソース面の問題を解消するため、新たにスクラッチした実装 ⁃ 2代目とは別環境で稼働 ■ 〜2016年3月 2.5代目3.5代目の誕生 ⁃ 本格的なSSL時代に向け監視の強化、パフォーマンスの向上 ■ 〜2016年7月 VR対応版 ⁃ VR配信など高画質配信に向けた本格的な対応 ■ 2016年8月〜 現在動いているモノ ⁃ 先に紹介したモノが一式揃っている実装 ■ 2016年10月〜 4代目オートスケール誕生 ⁃ 2代目と3代目はどちらも現役で動いているので、どちらでも移行しやすい設計に ⁃ 自動化の範囲を更に広げている 44
  45. 45. Copyright © DeNA Co.,Ltd. All Rights Reserved. SHOWROOMでの実績など 45
  46. 46. Copyright © DeNA Co.,Ltd. All Rights Reserved. SHOWROOMでの実績 46 ■ SHOWROOM 3周年記念配信 ■ 多数の芸能人の方々に主演いただいた
  47. 47. Copyright © DeNA Co.,Ltd. All Rights Reserved. SHOWROOMでの実績 47 ■ AKB48 45th シングル 選抜総選挙 ■ 48Gのメンバーによる多数の配信が行われた
  48. 48. Copyright © DeNA Co.,Ltd. All Rights Reserved. SHOWROOMでの実績 48 ■ 横浜DeNAベイスターズ 主催試合 生中継 ■ 試合以外にも特別番組などの配信も
  49. 49. Copyright © DeNA Co.,Ltd. All Rights Reserved. SHOWROOMのほかにも色々 49 紹介しきれていない動画配信サービスも 続々登場中。
  50. 50. Copyright © DeNA Co.,Ltd. All Rights Reserved. ほかにも色々 50 今後も より安定して、 よりエキサイティングな ライブ配信インフラを 提供していきます。
  51. 51. Copyright © DeNA Co.,Ltd. All Rights Reserved. 以上です。 51

×