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

NewRelic_Media_Industry_ABEMA_Frontend_SRE.pdf

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

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を導入・運用
 
 • より安全なリリースの実現