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

NewRelic_Media_Industry_ABEMA_Frontend_SRE.pdf

Avatar for RyoIshikawa 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活動について

Avatar for RyoIshikawa

RyoIshikawa

January 20, 2022
Tweet

More Decks by RyoIshikawa

Other Decks in Technology

Transcript

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


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

  2. 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の役割も担う
  3. AbemaTV, Inc. All Rights Reserved
 ABEMA frontendの課題
 7 モニタリング
 •

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

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

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

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


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

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

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

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

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

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

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

    Document ・バーンレート ・アラートトリガーの有無 ・Runbook URL …
  11. AbemaTV, Inc. All Rights Reserved
 Frontend SRE の難しさ
 17 •

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

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

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

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


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

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

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

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