Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ABEMA SREの挑戦〜Frontend & Backend TeamへのEmbedded SRE導入〜

ABEMA SREの挑戦〜Frontend & Backend TeamへのEmbedded SRE導入〜

ABEMAは開局して5年が経過し、サービスの成長に伴いシステム・組織共に非常に大規模になってきました。

私たちは「新しい未来のテレビ」の実現を目指しているため、継続して規模を拡大していく中でも安定性とサービスデリバリー速度を両立することが欠かせません。

そこでSREのプラクティスを組織に浸透させることで、より戦略的にバランスの取れたサービス開発・運用が可能なのではないかと考えました。

現在では、クライアントを含めた各チームにSREを配置し、チームの中からSREの文化構築を進めております。

本セッションではこれまでのSRE活動と今後の展望についてご紹介します。

https://developer.abema.io/2021/sessions/RTiQQThqgg/?utm_medium=social&utm_source=slideshare

CyberAgent
PRO

December 15, 2021
Tweet

More Decks by CyberAgent

Other Decks in Technology

Transcript

  1. View Slide

  2. AbemaTV, Inc. All Rights Reserved

    今日お話すること

    2
    1. 背景

    2. Backend Team's Embedded SRE

    3. Frontend Team's Embedded SRE

    4. まとめ


    View Slide

  3. 1. 背景 ~ Embedded SRE 体制にいたるまで ~


    View Slide

  4. AbemaTV, Inc. All Rights Reserved

    ABEMAの変化

    4
    サービス規模の成長

    ダウンロード 7300万 (2018年比 約100%増) WAU 1303万 (2018年比 約100%増)
    ※ 出典 CyberAgent, inc. 2021 年通期決算発表資料

    View Slide

  5. AbemaTV, Inc. All Rights Reserved

    ABEMAの変化

    5
    システム規模の増加

    90 →

    150+

    k8s Nodes

    1000 →

    2500+

    k8s Pods

    50 → 

    350+

    k8s Services

    2018年比 66%増
 2018年比 600%増
 2018年比 150%増


    View Slide

  6. AbemaTV, Inc. All Rights Reserved

    ABEMAの目指すかたち

    6

    View Slide

  7. AbemaTV, Inc. All Rights Reserved

    ABEMAの目指すかたち

    7
    新しい未来のテレビとは

    ● 無料・同時性

    ○ 報道・スポーツ

    ○ ドラマ・バラエティ

    ● 時間・空間からの開放

    ○ オンデマンド・追っかけ再生

    ○ マルチデバイス・ダウンロード再生

    出典: CyberAgent, inc. 2021 年通期決算発表資料

    View Slide

  8. AbemaTV, Inc. All Rights Reserved

    ABEMA SREとして向き合うポイント

    8
    ● 映像が途切れることなく視聴出来る環境

    ● 障害発生時に即座に復旧出来る対応環境


    サービスの特性

    ● 利用規模に応じたシステムキャパシティの確保

    ● 各デバイスやシステムの拡大に応じた適切な品質維持

    サービス・システム・組織規模の拡大


    View Slide

  9. AbemaTV, Inc. All Rights Reserved

    2020年までの体制

    9
    Frontend Backend Platform
    Project B
    Project C
    Team
    A
    Team
    B
    Team
    C
    Team
    D
    SRE
    Project A
    ● 横断組織としてインフラを軸とした
    SREチーム
    ● 各チーム横軸で複数の開発が平行で動いている
    Cloud
    Platform

    View Slide

  10. AbemaTV, Inc. All Rights Reserved

    2020年までの活動

    10
    ● On-Call環境の改善 

    ● SLI/SLO基盤の開発 

    ● Production Readiness
    Checklist の作成

    1. プラクティスの導入

    ● GCP Networkの移設 

    ● 冗長Loadbalancerの構築 

    3. 基盤システムの改善

    ● インフラキャパシティの確保 

    ● 各インフラのメンテナンス 

    ● システムコストの管理・改善 

    2. 基盤システムの運用


    View Slide

  11. AbemaTV, Inc. All Rights Reserved

    課題点

    11
    1. サービスの成長速度に対するシステム理解速度の乖離

    2. 各サービスの品質と潜在的リスクの把握不足

    3. プラクティスの実験や検証における協力チームのキャパシティ

    4. SREプラクティスの導入と基盤システム改善の実施バランス


    View Slide

  12. AbemaTV, Inc. All Rights Reserved

    2021年からの体制

    12
    Frontend Backend Platform
    Project B
    Project C
    Team
    A
    Team
    B
    Team
    C
    Team
    D
    Project A
    Frontend SRE Backend SRE
    SRE
    Cloud
    Platform
    ● 既存SRE一部メンバーをCloudPlatformとEmbeddedSREに役割変更
    ● Frontendチームの一部メンバーがSREの役割も担う

    View Slide

  13. AbemaTV, Inc. All Rights Reserved

    2021年からの体制

    13
    体制変更の狙い

    1. 注力するポイントの最適化 

    2. 担当チームと密にコミュニケーションを計り、各プラクティス導入の速度と質を上げる 

    3. チーム個別の課題やリスクを把握し、全体効率のよい施策の実施する 

    4. 改善プラクティスを他チーム (SRE) に伝播し、組織全体で信頼性の底上げを行う 


    View Slide

  14. 2. Backend Team's Embedded SRE


    View Slide

  15. AbemaTV, Inc. All Rights Reserved

    Backend Team's Embedded SRE

    15
    ● (継続) : SLI / SLO の設定

    ● (継続) : インシデントプロセスの改善

    ● (継続) : Service Doc (design doc + α)

    ● (継続) : Production Readiness Checklistの刷新

    ● (新規) : 連携サービスのキャパシティ情報管理の半自動化

    ● (新規) : 継続的負荷試験の導入

    取り組み


    View Slide

  16. AbemaTV, Inc. All Rights Reserved

    Backend Team's Embedded SRE

    16
    ● (継続) : SLI / SLO の設定

    ● (継続) : インシデントプロセスの改善

    ● (継続) : Service Doc (design doc + α)

    ● (継続) : Production Readiness Checklistの刷新

    ● (新規) : 連携サービスのキャパシティ情報管理の半自動化

    ● (新規) : 継続的負荷試験の導入

    取り組み

    時間の関係で割愛 🙏 


    View Slide

  17. AbemaTV, Inc. All Rights Reserved

    Backend Team's Embedded SRE

    17
    SLI / SLO の設定


    View Slide

  18. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    18
    なぜ ABEMA にとって SLI / SLO が必要だと考えているのか

    “ Reliability Is the 

    Most Important Feature ‘’

    Ben Treynor, Google's VP 

    ● サービス特性である同時性の担保

    ● 機能・システム・組織規模の拡大

    ● 様々な改善やプラクティスへの活用性

    ● 組織との共通言語化


    View Slide

  19. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    19
    1. 重要ドメインの選定

    2. 各サービス構成の理解

    3. CUJの特定

    4. SLIの測定対象と方法の決定

    5. SLOの設定

    6. SLO Documentを利用した合意

    SLO 設定の始め方


    View Slide

  20. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    20
    アーキテクチャ

    メトリクス収集
    永続化
    可視化

    View Slide

  21. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    21
    Dashboard

    一覧 詳細

    View Slide

  22. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    22
    Dashboard

    一覧 詳細
    機能単位のSLI / SLO / ErrorBudget

    SLO Documentなどの各Link

    SLO/SLIに関する情報

    Featureに関わる様々なメトリクス

    View Slide

  23. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    23
    Dashboard

    一覧 詳細
    機能単位のSLI / SLO / ErrorBudget

    SLO DocumentなどLink

    SLO/SLIに関する情報

    Featureに関わる様々なメトリクス

    ※ 少しずつ改善中💪


    View Slide

  24. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    24
    設定範囲の進捗 (重要ドメイン)

    視聴

    導線

    購入・登録

    視聴


    View Slide

  25. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    25
    設定範囲の進捗 (重要ドメイン)

    視聴

    導線

    購入・登録

    視聴

    順調👍

    順調👍


    View Slide

  26. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    26
    設定範囲の進捗 (重要ドメイン)

    視聴

    導線

    購入・登録

    視聴

    順調👍

    順調👍

    難航😓


    View Slide

  27. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    27
    映像配信システムにおける指標の策定

    映像の視聴はABEMAにとって
    最も重要なユーザージャーニー

    View Slide

  28. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    28
    映像配信システムにおける指標の策定

    難しいポイント① : 指標の粒度を決めるのが難しい

    ● 配信規格ごとに扱うリソースは様々
    ● 配信形態ごとにやりとりする頻度や内容が異なる
    配信規格 配信形態
    リニア VOD
    Payperview
    低遅延配信
    追っかけ
    Playlist
 TS

    TS

    TS
 MPD
 MP4

    MP4

    MP4

    CM
    HLS mpeg-
    DASH

    View Slide

  29. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    29
    映像配信システムにおける指標の策定

    難しいポイント② : 単純なHTTPの成功・失敗のみでは信頼性を表現出来ない

    ● 視聴プレイヤーのバッファリングにより映像ファイル取得の失敗 =映像の停止とならない
    ケースがある
    ● ABRの仕組みにより映像ファイルの取得遅延 =映像の停止とならないケースがある
    出典: cloudinary. Product Updates
    出典: Qiita HLSやMPEG-DASHの時間的な変化をグラフで理解する

    View Slide

  30. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    30
    映像配信システムにおける指標の策定

    難しいポイント③ : レスポンスの中身の検査が必要

    ● e.g , 取得したmanifestが前回取得時の内容と整合性が取れているか
    ● e.g , 計画された配信スケジュール通りになっているか (番組やフィラーなど)
    manifest 番組表 フィラー
    ↑正常
    ↓異常

    View Slide

  31. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    31
    映像配信システムにおける指標の策定

    難しいポイント① : セグメント粒度を決めるのが難しい

    難しいポイント② : 単純なHTTPの成功・失敗のみでは表現出来ない

    難しいポイント③ : レスポンスの中身の検査が必要


    他にもたくさん...

    View Slide

  32. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    32
    映像配信システムにおける指標の策定

    計画中のアプローチ

    配信形態
    リニア
    VOD
    News
    PPV
    ...
    配信規格
    HLS
    DASH
    リソース種別
    Manifest
    Segment
    検査種別
    Availability
    Latency
    Correctness
    ...
    x x x
    各指標の組み合わせに対し、

    計測方法(RUM/STM)と観測点(CDN/Origin)を選択して測定


    View Slide

  33. AbemaTV, Inc. All Rights Reserved

    SLI / SLO の設定

    33
    映像配信システムにおける指標の策定

    計画中のアプローチ

    配信形態
    リニア
    VOD
    News
    PPV
    ...
    配信規格
    HLS
    DASH
    リソース種別
    Manifest
    Segment
    検査種別
    Availability
    Latency
    Correctness
    ...
    x x x
    各指標の組み合わせに対し、

    計測方法(RUM/STM)と観測点(CDN/Origin)を選択して測定


    View Slide

  34. AbemaTV, Inc. All Rights Reserved

    Backend Team's Embedded SRE

    34
    今後について


    View Slide

  35. AbemaTV, Inc. All Rights Reserved

    今後の挑戦していきたいこと

    35
    ● SLI / SLO

    ○ 活用のユースケースを増やす

    ■ e.g , 監視,リリース管理,パフォーマンステスト

    ○ 設定の簡略化

    ○ 開発フローへの組み込み

    ● 潜在的リスクの発掘・改善

    ○ 継続的負荷試験

    ○ カオスエンジニアリング 

    ● 自律的防御システムの開発

    ○ キャパシティに応じたトラフィック制御 


    View Slide

  36. 3. Frontend Team's Embedded SRE


    View Slide

  37. AbemaTV, Inc. All Rights Reserved

    動画市場の拡大

    37
    市場規模の拡大

    出典: 2020, サイバーエージェント 国内動画広告の市場調査
    ABEMAサービス規模の拡大


    View Slide

  38. AbemaTV, Inc. All Rights Reserved

    ABEMAの変化

    38
    よりユーザーに近い部分での品質

    に着目した高い信頼性が必要


    View Slide

  39. AbemaTV, Inc. All Rights Reserved

    Frontend SRE の必要性

    39
    端末のリソースとスペックの向上

    ● 64bit処理系の普及

    ● CPU/GPUの性能向上

    オンデバイス処理の普及 

    高速で大容量のストレージ 

    ● SSDの普及

    ● 安価で大容量なHD

    ● LTEの普及

    ● 5Gの普及

    ネットワークの高速化 


    View Slide

  40. AbemaTV, Inc. All Rights Reserved

    ABEMAにおけるFrontend SREの必要性

    40
    サポートデバイスの多様化


    View Slide

  41. AbemaTV, Inc. All Rights Reserved

    ABEMA frontendの課題

    41
    モニタリング

    ● 基本的なログやクラッシュ情報しかない

    ● 機能ごとの正常性を判断出来る指標がない

    ● 障害の基準や判断があいまい

    ● 影響範囲をすぐに把握できない

    インシデント対応


    View Slide

  42. AbemaTV, Inc. All Rights Reserved

    SREプラクティスの導入

    42
    SLOの導入


    View Slide

  43. AbemaTV, Inc. All Rights Reserved

    計測ソリューションの導入

    43

    View Slide

  44. AbemaTV, Inc. All Rights Reserved

    計測ソリューションの導入

    44
    iOS, Android, Browser, TV Deviceなどで導入


    - SLI の計測

    - ダッシュボード作成

    - アラート管理 (PagerDuty 連携)

    - クエリでの柔軟な情報収集

    NewRelic の導入

    SaaS 型のオブザーバビリティプラットフォーム 


    View Slide

  45. AbemaTV, Inc. All Rights Reserved

    オブザーバビリティの確保

    45

    View Slide

  46. AbemaTV, Inc. All Rights Reserved

    SLI / SLOの定義

    46
    1. 機能が提供できていると言える条件を定義する 

    2. 計測対象を明確化する 

    3. 計測実装を入れる 

    4. ベースラインを確認する 

    5. SLOを設定する

    SLI / SLOの設定手順


    View Slide

  47. AbemaTV, Inc. All Rights Reserved

    計測戦略の統一

    47
    ● テーブル・アトリビュート設計

    ● 計測仕様・インターフェース

    ● SLO Document

    フロントエンド共通の計測戦略

    → 実装から可視化までのフローを共通化


    View Slide

  48. AbemaTV, Inc. All Rights Reserved

    SLOの監視・アラート

    48

    View Slide

  49. AbemaTV, Inc. All Rights Reserved

    段階リリースによるメトリクスの確認

    49
    Youbora (視聴品質)
 NewRelic (プロダクト品質)


    View Slide

  50. AbemaTV, Inc. All Rights Reserved

    アラートの自動化と運用

    50
    SLOを設定すると自動でダッシュボードと

    アラートに反映される仕組みを構築


    ・バーンレートに基づくアラート設定

    ・エラーバジェットの算出

    ・AvailabilityとLatencyそれぞれに設定

    Terraform による自動化

    出典: https://sre.google/workbook/alerting-on-slos/

    View Slide

  51. AbemaTV, Inc. All Rights Reserved

    SLOの監視・アラート

    51

    View Slide

  52. AbemaTV, Inc. All Rights Reserved

    Frontend SRE の難しさ

    52
    ● SLO のベースラインが低い


    ● 同一ユーザーで多発したり、端末や通信環境に依存することが多い

    実際に起きた問題


    View Slide

  53. AbemaTV, Inc. All Rights Reserved

    Frontend SRE の難しさ

    53
    ● SLO のベースラインが低い


    ● 同一ユーザーで多発したり、端末や通信環境に依存することが多い

    実際に起きた問題

    → セッションベースではなくユニークユーザに対する影響率で集計


    → ノイズを加味したアラート設定


    View Slide

  54. AbemaTV, Inc. All Rights Reserved

    Frontend SRE の難しさ

    54
    スケール

    モバイルアプリにおけるの課題

    モニタリング

    制御

    変更管理

    膨大なデバイスモデルと外部要因を考慮しながら

    複数バージョンをサポートする等の制約が多い

    モニタリングコストとして端末リソースや影響が

    避けられない (全てを観測することは不可能)

    ユーザーが更新しなければならず

    バイナリの更新を強制できない

    ロールバックができず

    バージョンが長く残り続けてしまう

    出典:
    https://sre.google/resources/practices-and-processes/engineering-reliable-mobile-applications/

    View Slide

  55. AbemaTV, Inc. All Rights Reserved

    活動まとめ

    55
    ● NewRelicの導入

    ● SLI / SLOの導入

    ● ダッシュボード&アラートの自動化

    ● PagerDutyとの連携

    ● 段階リリースでのチェック

    ● RUNBOOKの作成

    運用

    活動内容


    View Slide

  56. AbemaTV, Inc. All Rights Reserved

    frontend SREの今後の方針

    56
    ● サポートデバイス全体での品質の維持/向上 


    ● MTTD(平均検知時間)とMTTR(平均復旧時間)の短縮


    ● 品質指標によるロールアウト戦略の自動化


    View Slide

  57. 4. 全体まとめ


    View Slide

  58. AbemaTV, Inc. All Rights Reserved

    Embedded SRE 体制を振り返って

    58
    良かった点


    ● Frontend、Backend間で協力関係が強化された

    ● 各チームのナレッジがより共有されるようになった

    ● チーム毎に異なっていた障害対応フローを統一できた

    苦労した点


    ● チームへのインストールコストが高い

    ● 費用対効果を実感できるまでが長い

    ● オーバーエンジニアリングの境界を見極めるのが難しい


    View Slide

  59. AbemaTV, Inc. All Rights Reserved

    これからの挑戦

    59
    Embedded SREがチームのプラクティスを持ち寄り
    サービス品質を自律的に維持・向上できる組織を目指します

    View Slide

  60. View Slide