総視聴数7400万でも障害ゼロ、AbemaTVが72時間のライブ配信に成功した理由:テラbps級のトラフィックに挑んだ「72時間ホンネテレビ」の裏側(1/3 ページ)
AbemaTV社が開催した「AbemaTV Developer Conference 2018」で、サイバーエージェント 技術本部 インフラエンジニアの柿島大貴氏は、2017年11月に配信した「72時間ホンネテレビ」を障害なく実現するため、開発本部が取り組んだ施策について説明した。
会員登録不要で、誰でも無料で視聴できるインターネットテレビ局「AbemaTV」。2017年11月2〜5日、稲垣吾郎さん、草なぎ剛さん、香取慎吾さんの3人が出演した「72時間ホンネテレビ」は総視聴数が7400万を超え、配信内容に関する複数のハッシュタグがTwitterでトレンド入りするなど話題になった。AbemaTV社では、サーバを一度もダウンさせず視聴者へライブ配信を届けるため、開発本部による“総力戦”が行われていたという。
AbemaTV社が2018年10月13日に開催した「AbemaTV Developer Conference 2018」でサイバーエージェント 技術本部 インフラエンジニアの柿島大貴氏が発表した「『72時間ホンネテレビ』の負荷対策とその裏側」の内容を要約してお伝えする。
ある失敗を基に「配信負荷対策」を開始
同社では、AbemaTVのシステム本体を「Google Cloud Platform」(以下、GCP)に構築し、連携するシステムを「Amazon Web Services」(以下、AWS)やプライベートクラウドなどに構築している。GCPが配信する番組の動画データ(セグメントファイル)は「Akamai CDN(Content Delivery Network)」を用いてCDNのキャッシュサーバに保存している。
柿島氏は「このような構成で運用していたが、“ある失敗”を基に負荷対策を始めた」と説明する。“ある失敗”とは、2017年5月7日のライブ配信「亀田興毅に勝ったら1000万円」だ。番組を視聴しようとしたユーザーからのアクセス負荷に耐え切れず、試合開始と同時にサーバがダウンした。
参考記事:「亀田興毅に勝ったら1000万円」AbemaTV史上最多アクセスでサーバダウン(ITmedia NEWS)
柿島氏は「膨大なアクセスによるサーバダウンが起きないよう、アクセス負荷対策の検討を始めたが、AbemaTV本体システムがあるGCP側で発生した不具合による障害も発生した」と振り返る。
サーバダウンや障害を受け、柿島氏は、どこが原因でどのような障害が発生したか把握するため、サービスの構成と障害のマッピングを実施。GCP由来の問題への対策が急がれる一方で、年末にも膨大なアクセスが予想される特別番組が控えていたため、社長による決断の下、GCP由来の障害対策よりアクセス負荷対策を優先する方向へ舵を切ったという。
2017年9月予定の負荷対策プロジェクト始動に向け、柿島氏はアプリやブラウザでAbemaTVの番組を視聴した際にどういったリクエストがサーバへ送られているのか、分析を行った。
「HTTP通信モニタリングツールの『Charles Web Debugging Proxy』や、ブラウザに搭載されている開発者用ツールを利用して調査した結果、番組視聴中に多数のリクエストがGCPへ送られていると分かった。メトリクス分析からは、『アプリの起動時』と『CMの開始時』という“特定のタイミング”でリクエストが増大すると判明。そこで視聴数に応じて増えるリクエストと、特定のタイミングで増大するリクエストの2種類について、負荷対策を考える必要があった」
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- AbemaTV、サイバーエージェントの講演から探る、アジャイル開発成功の鍵と炎上しないための教訓
“いいもの”を、より早く形にして市場に届ける際に欠かせないのが「テスト」だ。DevOpsやアジャイルといった開発スタイルの中で適切に、かつ効率よくテストを実施する秘訣とは何だろうか? @IT編集部が主催した「DevOps時代のテスト自動化カンファレンス〜はやく、いいものを届けよう〜」の講演から、そのヒントを紹介する。 - アマゾンと楽天――大手Eコマースサイトを裏側で支えるCDN
Eコマースサイトにおいて、コンテンツ配信ネットワークの利用は日常化しています。ブラウザー型解析ツールの「HttpWatch」とオンライン解析ツールの「robtex.com」を使い、その裏側に迫ってみましょう。 - 開発、リリース、運用のサイクルを回す――アメブロのフロントエンドにおけるモダンなDevOps環境作り
2004年から続くブログサービス「アメブロ」が2016年9月にシステムをリニューアル。本連載では、そこで取り入れた主要な技術や、その効果を紹介していく。今回は、アメブロのフロントエンド開発におけるDevOpsの取り組みについて。