Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

AbemaTV, Inc. All Rights Reserved
 今日お話すること
 2 1. 背景
 2. Backend Team's Embedded SRE
 3. Frontend Team's Embedded SRE
 4. まとめ


Slide 3

Slide 3 text

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


Slide 4

Slide 4 text

AbemaTV, Inc. All Rights Reserved
 ABEMAの変化
 4 サービス規模の成長
 ダウンロード 7300万 (2018年比 約100%増) WAU 1303万 (2018年比 約100%増) ※ 出典 CyberAgent, inc. 2021 年通期決算発表資料

Slide 5

Slide 5 text

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%増


Slide 6

Slide 6 text

AbemaTV, Inc. All Rights Reserved
 ABEMAの目指すかたち
 6

Slide 7

Slide 7 text

AbemaTV, Inc. All Rights Reserved
 ABEMAの目指すかたち
 7 新しい未来のテレビとは
 ● 無料・同時性
 ○ 報道・スポーツ
 ○ ドラマ・バラエティ
 ● 時間・空間からの開放
 ○ オンデマンド・追っかけ再生
 ○ マルチデバイス・ダウンロード再生 
 出典: CyberAgent, inc. 2021 年通期決算発表資料

Slide 8

Slide 8 text

AbemaTV, Inc. All Rights Reserved
 ABEMA SREとして向き合うポイント
 8 ● 映像が途切れることなく視聴出来る環境
 ● 障害発生時に即座に復旧出来る対応環境
 
 サービスの特性
 ● 利用規模に応じたシステムキャパシティの確保
 ● 各デバイスやシステムの拡大に応じた適切な品質維持
 サービス・システム・組織規模の拡大


Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

AbemaTV, Inc. All Rights Reserved
 2020年までの活動
 10 ● On-Call環境の改善 
 ● SLI/SLO基盤の開発 
 ● Production Readiness Checklist の作成
 1. プラクティスの導入
 ● GCP Networkの移設 
 ● 冗長Loadbalancerの構築 
 3. 基盤システムの改善
 ● インフラキャパシティの確保 
 ● 各インフラのメンテナンス 
 ● システムコストの管理・改善 
 2. 基盤システムの運用


Slide 11

Slide 11 text

AbemaTV, Inc. All Rights Reserved
 課題点
 11 1. サービスの成長速度に対するシステム理解速度の乖離
 2. 各サービスの品質と潜在的リスクの把握不足
 3. プラクティスの実験や検証における協力チームのキャパシティ
 4. SREプラクティスの導入と基盤システム改善の実施バランス


Slide 12

Slide 12 text

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の役割も担う

Slide 13

Slide 13 text

AbemaTV, Inc. All Rights Reserved
 2021年からの体制
 13 体制変更の狙い
 1. 注力するポイントの最適化 
 2. 担当チームと密にコミュニケーションを計り、各プラクティス導入の速度と質を上げる 
 3. チーム個別の課題やリスクを把握し、全体効率のよい施策の実施する 
 4. 改善プラクティスを他チーム (SRE) に伝播し、組織全体で信頼性の底上げを行う 


Slide 14

Slide 14 text

2. Backend Team's Embedded SRE


Slide 15

Slide 15 text

AbemaTV, Inc. All Rights Reserved
 Backend Team's Embedded SRE
 15 ● (継続) : SLI / SLO の設定
 ● (継続) : インシデントプロセスの改善
 ● (継続) : Service Doc (design doc + α)
 ● (継続) : Production Readiness Checklistの刷新
 ● (新規) : 連携サービスのキャパシティ情報管理の半自動化
 ● (新規) : 継続的負荷試験の導入
 取り組み


Slide 16

Slide 16 text

AbemaTV, Inc. All Rights Reserved
 Backend Team's Embedded SRE
 16 ● (継続) : SLI / SLO の設定
 ● (継続) : インシデントプロセスの改善
 ● (継続) : Service Doc (design doc + α)
 ● (継続) : Production Readiness Checklistの刷新
 ● (新規) : 連携サービスのキャパシティ情報管理の半自動化
 ● (新規) : 継続的負荷試験の導入
 取り組み
 時間の関係で割愛 🙏 


Slide 17

Slide 17 text

AbemaTV, Inc. All Rights Reserved
 Backend Team's Embedded SRE
 17 SLI / SLO の設定


Slide 18

Slide 18 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 18 なぜ ABEMA にとって SLI / SLO が必要だと考えているのか
 “ Reliability Is the 
 Most Important Feature ‘’
 Ben Treynor, Google's VP 
 ● サービス特性である同時性の担保
 ● 機能・システム・組織規模の拡大
 ● 様々な改善やプラクティスへの活用性
 ● 組織との共通言語化


Slide 19

Slide 19 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 19 1. 重要ドメインの選定
 2. 各サービス構成の理解
 3. CUJの特定
 4. SLIの測定対象と方法の決定
 5. SLOの設定
 6. SLO Documentを利用した合意
 SLO 設定の始め方


Slide 20

Slide 20 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 20 アーキテクチャ
 メトリクス収集 永続化 可視化

Slide 21

Slide 21 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 21 Dashboard
 一覧 詳細

Slide 22

Slide 22 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 22 Dashboard
 一覧 詳細 機能単位のSLI / SLO / ErrorBudget 
 SLO Documentなどの各Link 
 SLO/SLIに関する情報 
 Featureに関わる様々なメトリクス 


Slide 23

Slide 23 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 23 Dashboard
 一覧 詳細 機能単位のSLI / SLO / ErrorBudget 
 SLO DocumentなどLink 
 SLO/SLIに関する情報 
 Featureに関わる様々なメトリクス 
 ※ 少しずつ改善中💪


Slide 24

Slide 24 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 24 設定範囲の進捗 (重要ドメイン)
 視聴
 導線
 購入・登録
 視聴


Slide 25

Slide 25 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 25 設定範囲の進捗 (重要ドメイン)
 視聴
 導線
 購入・登録
 視聴
 順調👍
 順調👍


Slide 26

Slide 26 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 26 設定範囲の進捗 (重要ドメイン)
 視聴
 導線
 購入・登録
 視聴
 順調👍
 順調👍
 難航😓


Slide 27

Slide 27 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 27 映像配信システムにおける指標の策定
 映像の視聴はABEMAにとって 最も重要なユーザージャーニー

Slide 28

Slide 28 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 28 映像配信システムにおける指標の策定
 難しいポイント① : 指標の粒度を決めるのが難しい
 ● 配信規格ごとに扱うリソースは様々 ● 配信形態ごとにやりとりする頻度や内容が異なる 配信規格 配信形態 リニア VOD Payperview 低遅延配信 追っかけ Playlist
 TS
 TS
 TS
 MPD
 MP4
 MP4
 MP4
 CM HLS mpeg- DASH

Slide 29

Slide 29 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 29 映像配信システムにおける指標の策定
 難しいポイント② : 単純なHTTPの成功・失敗のみでは信頼性を表現出来ない
 ● 視聴プレイヤーのバッファリングにより映像ファイル取得の失敗 =映像の停止とならない ケースがある ● ABRの仕組みにより映像ファイルの取得遅延 =映像の停止とならないケースがある 出典: cloudinary. Product Updates 出典: Qiita HLSやMPEG-DASHの時間的な変化をグラフで理解する

Slide 30

Slide 30 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 30 映像配信システムにおける指標の策定
 難しいポイント③ : レスポンスの中身の検査が必要
 ● e.g , 取得したmanifestが前回取得時の内容と整合性が取れているか ● e.g , 計画された配信スケジュール通りになっているか (番組やフィラーなど) manifest 番組表 フィラー ↑正常 ↓異常

Slide 31

Slide 31 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLO の設定
 31 映像配信システムにおける指標の策定
 難しいポイント① : セグメント粒度を決めるのが難しい
 難しいポイント② : 単純なHTTPの成功・失敗のみでは表現出来ない
 難しいポイント③ : レスポンスの中身の検査が必要
 他にもたくさん...

Slide 32

Slide 32 text

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)を選択して測定


Slide 33

Slide 33 text

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)を選択して測定


Slide 34

Slide 34 text

AbemaTV, Inc. All Rights Reserved
 Backend Team's Embedded SRE
 34 今後について


Slide 35

Slide 35 text

AbemaTV, Inc. All Rights Reserved
 今後の挑戦していきたいこと
 35 ● SLI / SLO
 ○ 活用のユースケースを増やす 
 ■ e.g , 監視,リリース管理,パフォーマンステスト 
 ○ 設定の簡略化
 ○ 開発フローへの組み込み 
 ● 潜在的リスクの発掘・改善
 ○ 継続的負荷試験
 ○ カオスエンジニアリング 
 ● 自律的防御システムの開発
 ○ キャパシティに応じたトラフィック制御 


Slide 36

Slide 36 text

3. Frontend Team's Embedded SRE


Slide 37

Slide 37 text

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


Slide 38

Slide 38 text

AbemaTV, Inc. All Rights Reserved
 ABEMAの変化
 38 よりユーザーに近い部分での品質
 に着目した高い信頼性が必要


Slide 39

Slide 39 text

AbemaTV, Inc. All Rights Reserved
 Frontend SRE の必要性
 39 端末のリソースとスペックの向上
 ● 64bit処理系の普及
 ● CPU/GPUの性能向上
 オンデバイス処理の普及 
 高速で大容量のストレージ 
 ● SSDの普及
 ● 安価で大容量なHD
 ● LTEの普及
 ● 5Gの普及
 ネットワークの高速化 


Slide 40

Slide 40 text

AbemaTV, Inc. All Rights Reserved
 ABEMAにおけるFrontend SREの必要性
 40 サポートデバイスの多様化


Slide 41

Slide 41 text

AbemaTV, Inc. All Rights Reserved
 ABEMA frontendの課題
 41 モニタリング
 ● 基本的なログやクラッシュ情報しかない
 ● 機能ごとの正常性を判断出来る指標がない
 ● 障害の基準や判断があいまい
 ● 影響範囲をすぐに把握できない
 インシデント対応


Slide 42

Slide 42 text

AbemaTV, Inc. All Rights Reserved
 SREプラクティスの導入
 42 SLOの導入


Slide 43

Slide 43 text

AbemaTV, Inc. All Rights Reserved
 計測ソリューションの導入
 43

Slide 44

Slide 44 text

AbemaTV, Inc. All Rights Reserved
 計測ソリューションの導入
 44 iOS, Android, Browser, TV Deviceなどで導入 
 
 - SLI の計測
 - ダッシュボード作成
 - アラート管理 (PagerDuty 連携) 
 - クエリでの柔軟な情報収集 
 NewRelic の導入
 SaaS 型のオブザーバビリティプラットフォーム 


Slide 45

Slide 45 text

AbemaTV, Inc. All Rights Reserved
 オブザーバビリティの確保
 45

Slide 46

Slide 46 text

AbemaTV, Inc. All Rights Reserved
 SLI / SLOの定義
 46 1. 機能が提供できていると言える条件を定義する 
 2. 計測対象を明確化する 
 3. 計測実装を入れる 
 4. ベースラインを確認する 
 5. SLOを設定する
 SLI / SLOの設定手順


Slide 47

Slide 47 text

AbemaTV, Inc. All Rights Reserved
 計測戦略の統一
 47 ● テーブル・アトリビュート設計
 ● 計測仕様・インターフェース
 ● SLO Document
 フロントエンド共通の計測戦略
 → 実装から可視化までのフローを共通化


Slide 48

Slide 48 text

AbemaTV, Inc. All Rights Reserved
 SLOの監視・アラート
 48

Slide 49

Slide 49 text

AbemaTV, Inc. All Rights Reserved
 段階リリースによるメトリクスの確認
 49 Youbora (視聴品質)
 NewRelic (プロダクト品質)


Slide 50

Slide 50 text

AbemaTV, Inc. All Rights Reserved
 アラートの自動化と運用
 50 SLOを設定すると自動でダッシュボードと 
 アラートに反映される仕組みを構築 
 
 ・バーンレートに基づくアラート設定 
 ・エラーバジェットの算出
 ・AvailabilityとLatencyそれぞれに設定 
 Terraform による自動化
 出典: https://sre.google/workbook/alerting-on-slos/

Slide 51

Slide 51 text

AbemaTV, Inc. All Rights Reserved
 SLOの監視・アラート
 51

Slide 52

Slide 52 text

AbemaTV, Inc. All Rights Reserved
 Frontend SRE の難しさ
 52 ● SLO のベースラインが低い
 
 ● 同一ユーザーで多発したり、端末や通信環境に依存することが多い
 実際に起きた問題


Slide 53

Slide 53 text

AbemaTV, Inc. All Rights Reserved
 Frontend SRE の難しさ
 53 ● SLO のベースラインが低い
 
 ● 同一ユーザーで多発したり、端末や通信環境に依存することが多い
 実際に起きた問題
 → セッションベースではなくユニークユーザに対する影響率で集計
 
 → ノイズを加味したアラート設定


Slide 54

Slide 54 text

AbemaTV, Inc. All Rights Reserved
 Frontend SRE の難しさ
 54 スケール
 モバイルアプリにおけるの課題
 モニタリング
 制御
 変更管理
 膨大なデバイスモデルと外部要因を考慮しながら 
 複数バージョンをサポートする等の制約が多い 
 モニタリングコストとして端末リソースや影響が 
 避けられない (全てを観測することは不可能) 
 ユーザーが更新しなければならず 
 バイナリの更新を強制できない 
 ロールバックができず 
 バージョンが長く残り続けてしまう 
 出典: https://sre.google/resources/practices-and-processes/engineering-reliable-mobile-applications/

Slide 55

Slide 55 text

AbemaTV, Inc. All Rights Reserved
 活動まとめ
 55 ● NewRelicの導入
 ● SLI / SLOの導入
 ● ダッシュボード&アラートの自動化
 ● PagerDutyとの連携
 ● 段階リリースでのチェック
 ● RUNBOOKの作成
 運用
 活動内容


Slide 56

Slide 56 text

AbemaTV, Inc. All Rights Reserved
 frontend SREの今後の方針
 56 ● サポートデバイス全体での品質の維持/向上 
 
 ● MTTD(平均検知時間)とMTTR(平均復旧時間)の短縮
 
 ● 品質指標によるロールアウト戦略の自動化


Slide 57

Slide 57 text

4. 全体まとめ


Slide 58

Slide 58 text

AbemaTV, Inc. All Rights Reserved
 Embedded SRE 体制を振り返って
 58 良かった点
 
 ● Frontend、Backend間で協力関係が強化された
 ● 各チームのナレッジがより共有されるようになった
 ● チーム毎に異なっていた障害対応フローを統一できた
 苦労した点
 
 ● チームへのインストールコストが高い
 ● 費用対効果を実感できるまでが長い
 ● オーバーエンジニアリングの境界を見極めるのが難しい
 


Slide 59

Slide 59 text

AbemaTV, Inc. All Rights Reserved
 これからの挑戦
 59 Embedded SREがチームのプラクティスを持ち寄り サービス品質を自律的に維持・向上できる組織を目指します

Slide 60

Slide 60 text

No content