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
今後について