総視聴数7400万でも障害ゼロ、AbemaTVが72時間のライブ配信に成功した理由:テラbps級のトラフィックに挑んだ「72時間ホンネテレビ」の裏側(3/3 ページ)
AbemaTV社が開催した「AbemaTV Developer Conference 2018」で、サイバーエージェント 技術本部 インフラエンジニアの柿島大貴氏は、2017年11月に配信した「72時間ホンネテレビ」を障害なく実現するため、開発本部が取り組んだ施策について説明した。
72.5時間の配信<シフト勤務>が始まった――番組制作部門も仕掛けた負荷対策
2017年11月2日、72時間ホンネテレビ放送開始30分前から、「戦いが始まっていた」と柿島氏は話す。戦いは「技術面以外にも」及んだ。
番組表に沿ったリニア型配信の場合、前述のように「アプリの起動時」と「CMの開始時」という“特定のタイミング”でリクエストが増大すると分かっていた。そこで番組開始に伴うアプリの起動によるサーバダウンを防ぐため、番組制作部門に『配信開始直後の負荷を下げる方法』を相談。その結果、「超直前 カウントダウン放送」を行うことになったという。
「配信開始までの残り時間を表示するシンプルな仕組みだが、30分間カウントダウンする間に50万を超える視聴数を集めることができた。これにより、配信開始直後の負荷を分散させることができた」
「リクエストを減らすためCDNを強化した効果も明らかだった」と柿島氏は述べる。
「番組開始直後、99.8%のリクエストをCDNサーバのキャッシュで返すことができた。『亀田興毅に勝ったら1000万円』の時と比較して、GCPに対する1接続当たりの秒間リクエスト数は10分の1まで減らすことができ、障害なく配信を実現できた」
もし、番組配信中に障害が発生したらどうしていたのか。柿島氏は「Bプランを用意していた」と述べる。
「72時間の配信はシフト勤務で監視するため、誰が監視しても即座に意思決定できなければならない。そこで、対応すべき障害の優先順位を策定するとともに、障害レベルに応じた対応方法を標準化した。より具体的には、誰でも状況に応じて正しく対応法を判断するとともに、『メンテナンス画面への移行』『帯域不足に対する解像度の制限』『既に視聴していたユーザーを守るための起動制限』などを実施できる環境を整備した」
柿島氏は後日談と今後のAbemaTVの取り組みについて述べて講演を締めくくった。
「72時間ホンネテレビでサーバダウンがなかったことは、ニュースなどでも取り上げられ感慨深かった。その後の年末特別配信番組も問題なく放映できた他、今回採った負荷分散対策によってGCPのコスト削減にもつながった。プロジェクトの成功は、重要なもの以外を割り切る『選択と集中』、業務部門との連携あってのものだと考える。2018年10月現在、AbemaTVはCDNへのトラフィックだけでTbpsの世界へ突入しており、クラウドやCDN側にある物理機器、ネットワークの制約も考えていく必要がある。今後もより多くのユーザーに番組を届けるため、試行錯誤を続けていきたい」
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- AbemaTV、サイバーエージェントの講演から探る、アジャイル開発成功の鍵と炎上しないための教訓
“いいもの”を、より早く形にして市場に届ける際に欠かせないのが「テスト」だ。DevOpsやアジャイルといった開発スタイルの中で適切に、かつ効率よくテストを実施する秘訣とは何だろうか? @IT編集部が主催した「DevOps時代のテスト自動化カンファレンス〜はやく、いいものを届けよう〜」の講演から、そのヒントを紹介する。 - アマゾンと楽天――大手Eコマースサイトを裏側で支えるCDN
Eコマースサイトにおいて、コンテンツ配信ネットワークの利用は日常化しています。ブラウザー型解析ツールの「HttpWatch」とオンライン解析ツールの「robtex.com」を使い、その裏側に迫ってみましょう。 - 開発、リリース、運用のサイクルを回す――アメブロのフロントエンドにおけるモダンなDevOps環境作り
2004年から続くブログサービス「アメブロ」が2016年9月にシステムをリニューアル。本連載では、そこで取り入れた主要な技術や、その効果を紹介していく。今回は、アメブロのフロントエンド開発におけるDevOpsの取り組みについて。