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

NewRelic_Media_Industry_ABEMA_Frontend_SRE.pdf

2e2d200e4cb0e42f113e366c9060b1cd?s=47 RyoIshikawa
January 20, 2022

 NewRelic_Media_Industry_ABEMA_Frontend_SRE.pdf

https://newrelic.com/jp/events/2022-01-20/media-meetup

New Relic どう使ってる?メディアビジネス4社の活用事例

ABEMAにおけるFrontend SRE活動について

2e2d200e4cb0e42f113e366c9060b1cd?s=128

RyoIshikawa

January 20, 2022
Tweet

More Decks by RyoIshikawa

Other Decks in Technology

Transcript

  1. AbemaTV, Inc. All Rights Reserved
 1 ABEMAにおけるFrontend SRE活動について 
 株式会社AbemaTV

    Native Application Engineer 石川 諒
  2. AbemaTV, Inc. All Rights Reserved
 今日お話すること
 2 1. ABEMAにおけるFrontend SREの背景


    2. NewRelicを活用したSLI/SLOの管理
 3. まとめ

  3. AbemaTV, Inc. All Rights Reserved
 Frontend SRE の必要性
 3 端末のリソースとスペックの向上


    • 64bit処理系の普及
 • CPU/GPUの性能向上
 オンデバイス処理の普及 
 高速で大容量のストレージ 
 • SSDの普及
 • 安価で大容量なHD
 • LTEの普及
 • 5Gの普及
 ネットワークの高速化 

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


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


  6. AbemaTV, Inc. All Rights Reserved
 2021年からの体制
 6 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の役割も担う
  7. AbemaTV, Inc. All Rights Reserved
 ABEMA frontendの課題
 7 モニタリング
 •

    基本的なログやクラッシュ情報しかない
 • 機能ごとの正常性を判断出来る指標がない
 • 障害の基準や判断があいまい
 • 影響範囲をすぐに把握できない
 インシデント対応

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


  9. AbemaTV, Inc. All Rights Reserved
 計測ソリューションの導入
 9 iOS, Android, Browser,

    TVデバイスなどで導入 
 
 ・SLI の計測
 ・ダッシュボード作成
 ・アラート管理 (PagerDuty 連携) 
 ・クエリでの柔軟な情報収集 
 NewRelic の導入
 SaaS型のオブザーバビリティプラットフォーム 

  10. AbemaTV, Inc. All Rights Reserved
 (Beta) サービスレベル管理機能
 10 
 


    ・NRDBのイベントから定義が可能
 ・エラーバジェットの可視化
 
 Service level management
 出典: https://docs.newrelic.com/jp/docs/service-level-management/intro-slm/
  11. AbemaTV, Inc. All Rights Reserved
 SLI / SLOの定義
 11 1.

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

  12. AbemaTV, Inc. All Rights Reserved
 計測戦略の統一
 12 • テーブル・アトリビュート設計
 •

    計測仕様・インターフェース
 • SLO Document
 フロントエンド共通の計測戦略
 → 実装から可視化までのフローを共通化

  13. AbemaTV, Inc. All Rights Reserved
 メトリクス化による中長期の分析
 13 分析対象があらかじめ存在し 
 中長期の変化を観察したい場合に有効

    
 
 ・13ヶ月のデータ保存が可能
 ・通常のデータ保存より廉価
 Events-to-metrics service
 出典: https://newrelic.com/jp/blog/nerdlog/product-announcements-metrics-service
  14. AbemaTV, Inc. All Rights Reserved
 ダッシュボードとアラートの自動化
 14 SLOを設定すると自動でダッシュボードと 
 アラートに反映される仕組みを構築

    
 
 ・バーンレートに基づくアラート設定 
 ・エラーバジェットの算出
 ・AvailabilityとLatencyそれぞれに設定 
 Terraform による自動化
 出典: https://sre.google/workbook/alerting-on-slos/
  15. AbemaTV, Inc. All Rights Reserved
 SLI/SLO メタデータ
 パラメーター ・SLOの閾値 ・SLO

    Document ・バーンレート ・アラートトリガーの有無 ・Runbook URL …
  16. AbemaTV, Inc. All Rights Reserved
 ダッシュボード(一部抜粋)
 表示しているもの ・SLI / SLO

    (SingleValue) ・SLI (TimeSeries) ・SLO Document ・Error Budget
  17. AbemaTV, Inc. All Rights Reserved
 Frontend SRE の難しさ
 17 •

    SLO のベースラインが低い
 
 • 同一ユーザーで多発したり、端末や通信環境に依存することが多い
 実際に起きた問題

  18. AbemaTV, Inc. All Rights Reserved
 Frontend SRE の難しさ
 18 •

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

  19. AbemaTV, Inc. All Rights Reserved
 Frontend SRE の難しさ
 19 スケール


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

    (プロダクト品質)

  21. AbemaTV, Inc. All Rights Reserved
 段階リリースチェッカーの要件
 21 • 任意のプラットフォーム・任意のバージョンを指定可能
 •

    SLI/SLOがリリース基準を満たしているか自動でチェックできる
 • 満たしていない場合はダッシュボードへ誘導する
 機能要件

  22. AbemaTV, Inc. All Rights Reserved
 Nerd Graph


  23. AbemaTV, Inc. All Rights Reserved


  24. AbemaTV, Inc. All Rights Reserved
 実行結果(サンプル) 


  25. まとめ


  26. AbemaTV, Inc. All Rights Reserved
 まとめ
 26 NewRelicの活用ポイント
 
 •

    メトリクス化による中長期の品質分析
 
 • Terraformを利用した自動化
 
 • NerdGraphを活用したリリース判定
 frontend SREの活動
 
 • Embedded SREの体制への変更
 
 • SLI/SLOを導入・運用
 
 • より安全なリリースの実現

  27. AbemaTV, Inc. All Rights Reserved
 ご視聴ありがとうございました