ABEMA ログ基盤のクラウドベースリアーキテクチャの内容と運用について

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

ABEMA ログ基盤のクラウドベースリアーキテクチャの内容と運用について

Avatar for CyberAgent

CyberAgent PRO

March 03, 2025
Tweet

More Decks by CyberAgent

Other Decks in Technology

Transcript

  1. AbemaTV, Inc. All Rights Reserved
 1 AbemaTV, Inc. All Rights

    Reserved
 1 ABEMAログ基盤のクラウドベー スリアーキテクチャの内容と運 用について TECH+ EXPO 2025 Winter for データ活用 
 株式会社 AbemaTV Development Headquarters Data Engineer 山村 英貴 Hideki Yamamura
  2. AbemaTV, Inc. All Rights Reserved
 3 自己紹介 山村 英貴 (やまむら

    ひでき) 株式会社サイバーエージェント2013年度新卒入社後、2019年 株式会社AbemaTVに出向 担当領域は、ログのインジェストに関するサーバー開発と、データパイプラインの開発・運用です。 全般的に、ISUCONの学びを活かした内容になっています。 X @hidekiy GitHub @hidekiy 株式会社AbemaTV > Development Headquarters > Data Division > Data Platform Team Data Engineer
  3. AbemaTV, Inc. All Rights Reserved
 4 目次 1. 要件の整理 2.

    2022年のリアーキテクチャの設計思想とその背景 3. 2023年以降の開発内容について 4. まとめと今後のデータ基盤
  4. AbemaTV, Inc. All Rights Reserved
 8 可用性要件 #1 ABEMAで配信が実施出来ている状態であれば、必ずログも収集して欲しいという要件がありました。 動画配信が実施できる限りログも収集する

    動画配信状況 ログ収集状況 結果 〇 〇 OK(目標) 〇 × NG(欠測によりデータが出せない ) × 〇 調査に活用出来るので OK × × 良くないが非常事態なので OK
  5. AbemaTV, Inc. All Rights Reserved
 9 可用性要件 #2 利用用途は日次バッチ処理後のデータであるので、出来る限りバッチ処理に寄せたアーキテクチャとしました。 障害発生時の対応が分かりやすい事

    インジェスト方式 集計方式 コメント ストリーム 日次バッチ ストリームとしては役に立たないのに、ス トリーム障害(復旧難易度:難)は起こ る。 アワリーバッチ 日次バッチ ビジネス要件を満たす。 分かりやすい(特に障害発生時) コストパフォーマンス優位。 ストリーム ストリーム 必要な場合は構築可能。バッチ集計ライ ンとは分離して用意する事は復旧難易 度を下げる。
  6. AbemaTV, Inc. All Rights Reserved
 13 リアーキテクチャ実施前の懸念点 処理限界を超える流量に対しては取り込み遅延が発生し、翌日の日次バッチの開始に影響するので、タイム リーに十分なリソースを確保したいが、オンプレミス基盤の物理制約以上の調達は、即座には要求を満たせな い懸念があった。

    オンプレミス環境の限界を超えるスループットへの対処 ⇒ 基盤全体のパブリッククラウド完結が必要 (注) パブリッククラウドのリージョンには大小があるため、あらかじめ大 規模リージョンを選定することが前提
  7. AbemaTV, Inc. All Rights Reserved
 14 リアーキテクチャ実施後 (バッチレイヤー) ポイント •

    CloudFrontのアクセスログを使うことで、ログの喪失を抑止 • 計算リソース要求を USに逃すことで、アプリ本体側との取り合いを回避
  8. AbemaTV, Inc. All Rights Reserved
 16 Dataflowジョブの負荷分散パラメーターの調整 リアーキテクチャ後の世界的なスポーツ大会を経て • 当初マネージドサービスと考えていたが、ジョブテンプレートによっては負荷によりチューニ

    ングが必要なパラメーターが存在した • Pub/Sub To GCSのジョブを利用する場合、書き出しシャード数は十分な検証が必要 • 今検討するなら Pub/SubのマネージドなGCS書き出し機能も利用可能
  9. AbemaTV, Inc. All Rights Reserved
 18 当初想定していた要件について リアーキテクチャ実施後から現在まで • 日次集計の遅延を数時間以内とする

    ◦ 致命的な障害は起こっておりませんが、引き続き何が起こっているのか分かりやすいデータパイプ ラインを維持しています。 • 配信が実施できる限りログも収集する、障害復旧が容易 ◦ インジェストの障害はアプリケーションを排除した結果、クラウド側のリージョン障害に由来する遅延 以外で、ほぼ起こっておらず、データロスは発生しておりません。 • 柔軟なリソースを確保出来る ◦ 平時は十分な規模まで縮退しつつ、ドラマ最終回等の突発的な負荷にも十分対応出来ておりま す。
  10. AbemaTV, Inc. All Rights Reserved
 20 2023年以降の開発内容について • 負荷対策 ◦

    実施なし。2022年のイベントを通じて、概ね問題なかったため追加開発は不要としました。 • 開発効率向上 ◦ 2件実施。クラウドベースアーキテクチャを活用した新たな機能追加を実施しました。 • ガバナンス強化 ◦ 1件実施。取り扱うデータの幅が広がり、ガバナンスの強化が求められました。 開発案件の大分類
  11. AbemaTV, Inc. All Rights Reserved
 22 2023年以降の開発内容の抜粋 ストリーミングアプリケーションの連携先として、 BigQueryテーブルを想定した時、ストリーム書き込みを効率的 に行うためには、BigQuery

    Storage APIを利用出来ます。 こちらを用いて、最新のログデータが都度参照出来るテーブルを作成し、主に開発中のデバッグ用途で利用し ています。 【開発効率】 BigQuery Storage APIによるストリーム書き込み Cloud Pub/Sub など アプリ BQテーブル BQ Storage API
  12. AbemaTV, Inc. All Rights Reserved
 28 最後に https://hrmos.co/pages/cyberagent-group/jobs/0001102 We’re hiring!

    宜しければ「ABEMA データ基盤」で検索、ご応募をお待ちしております。