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

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

Avatar for CyberAgent

CyberAgent

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 データ基盤」で検索、ご応募をお待ちしております。