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

第89回 雲勉【オンライン:初心者向け】実践!SLI/SLO with New Relic!

l_tanno
November 25, 2022

第89回 雲勉【オンライン:初心者向け】実践!SLI/SLO with New Relic!

l_tanno

November 25, 2022
Tweet

More Decks by l_tanno

Other Decks in Technology

Transcript

  1. 0.講師⾃⼰紹介 n ⼤園 隼⼈ • 所属 ︓クラウドインテグレーション事業部 MSP セクション 東京第2グループ

    グループリーダー • 経歴 ︓零細企業で⾊々なお仕事 ( 2年 ) ネットワーク保守監視業務 ( 2年 ) • ひとこと ︓雲勉初登壇です︕外部向けの発表⾃体が初なので お⼿柔らかにお願いしますmm 2
  2. 0.受講想定者 ・Google SRE に興味がある / 興味はあるが、理解まで難しいと感じている ・SLI / SLO の導⼊を検討している、サービスレベルの計測をしたいと考えている

    ・New Relic に興味がある 補⾜︓内部機能 ( Dashboards ) のハンズオンを⾏うため 多少触れたことがあると尚良いです︕ 3
  3. 0.受講想定者 New Relic の知識に不安がある⽅は 以下のウェビナーを受講するとより理解が深まります︕ Ø New Relic はじめの⼀歩 概要編

    ­ https://newrelic.com/jp/events/2020-08-06/webinar-first-steps-overview Ø New Relic ダッシュボードワークショップ( NRQL ⼊⾨編 ) ­ https://newrelic.com/jp/events/2020-11-29/nru-201-202008271-ty 4
  4. アジェンダ 0. ⾃⼰紹介 受講想定者 1. Google SRE について 2. SLI

    / SLO への理解 3. New Relic 導⼊ - ハンズオン 4. 終わりに 5. 質疑応答 5
  5. 1.Google SRE について – 概要 7 SRE ( Site Reliability

    Engineer(ing) ) → ⽇本語訳では「サイト信頼性エンジニアリング」
  6. 1.Google SRE について – 信頼性 とは︖ 8 どのようなシステム、サービスにおいても 最も重要な機能は 信頼性

    である → サービスの信頼性が著しく失われると ユーザーからの信⽤、関⼼も容易に失われてしまう
  7. 1.Google SRE について – 信頼性 とは︖ 9 信頼性 を⾼くして 100%

    にすれば良いの︖ ✖ 基本的にどんなときでも 100%は誤った信頼性 の⽬標
  8. 1.Google SRE について – SRE とは︖ 11 SRE とは... サービスの信頼性の⽋如におけるリスク

    と イノベーション ( 開発 ) の速度、サービスの運⽤効率性 との バランスを取るためのプラティクス および 役割
  9. 2.SLI / SLO への理解 – 概要 SLA ( Service Level

    Agreement / サービスレベル契約 ) Ø サービスの信頼性に関する顧客との取り決め SLO ( Service Level Objective / サービスレベル⽬標 ) Ø SLA に抵触する前にサービスの信頼性に関する問題を検知するためのしきい値 SLI ( Service Level Indicator / サービスレベル指標 ) Ø SLO を満たすために計測すべき指標 / 尺度 15
  10. 2.SLI / SLO への理解 – SLI 参考例 あるいは cloudpack の公式ページから問い合わせをした際の

    リクエスト処理成功割合 ( HTTPステータスコード 5xx 以外のものなど ) などを定めたもの 17
  11. 2.SLI / SLO への理解 – SLO とは︖ その上で... 定義した SLI

    に対しての ⽬標ならびにしきい値 を SLO として策定 例 )SLI が cloudpack のトップページの表⽰が 2秒 以内で成功した割合とした場合に 99% 以上 を SLO ( ⽬標値 ) とする 20
  12. 2.SLI / SLO への理解 – SLO とは︖ SLO は ギリギリ達成できれば

    サービスの典型的なユーザーが満⾜するような、⽬標値とすべき 「SLO を満たしている」 ⇄ 「ユーザーが満⾜している」 「SLO を満たしていない」⇄ 「ユーザーは不満である」 21
  13. 2.SLI / SLO への理解 – SLO とは︖ SLO の ⽬標設定には

    ⽬標値 と 測定期間 の両⽅を設定 22 SLO の種類 ⽬標 可⽤性 過去 28 ⽇ で 97% の成功 レイテンシー 過去 28 ⽇ で リクエストの 99% < 2000ms ... ...
  14. 2.SLI / SLO への理解 – エラーバジェット とは︖ エラーバジェット ( ⾮信頼性予算

    ) とは... サービスの信頼性がある程度損なわれても許容出来る指標 =割り当てることができる予算になる 例 )SLO が 99% の⽬標値であった場合に残りの 1% は エラー を許容しても良い 23
  15. 2.SLI / SLO への理解 – エラーバジェット とは︖ エラーバジェットの使い道としては... ・新しい機能のリリース ・予定されたシステムの変更

    ・避けられないハード、ネットワークの障害 ・計画停⽌ ・リスクの⾼い実験 などに使える 24
  16. 2.SLI / SLO への理解 – メリット SLI / SLO を策定することで...

    ・どのレベルのサービス品質を⽬指して 開発 / 運⽤をするのかの指針 ・エラーバジェットにより エラーの概念を変えて開発や運⽤の活動にエラーの予算を利⽤できる = 適度なサービスの品質を保つ ≒ ⾼いパフォーマンスの維持 に繋がる 25
  17. 3.New Relic 導⼊ – Dashboards ( レイテンシー ) 前提条件 :

    Browser Agent をサーバーへ導⼊済 オレンジのライン が SLI で iret.media の表⽰速度が 2秒 以内で定義 緑のライン が SLO で今回は 99% で策定 27
  18. 3.New Relic 導⼊ – Dashboards ( レイテンシー ) SELECT percentage(count(*),

    WHERE duration <= 2), 0.99 as 'SLO' FROM PageView WHERE pageUrl = 'https://iret.media/' AND appName = 'service_MEDIA-PRD_php' TIMESERIES AUTO SINCE 1 day ago NRQL : オレンジの⽂ が SLI で iret.media の表⽰速度が 2秒 以内で定義 緑の⽂ が SLO で 今回は 99% で策定 28
  19. 3.New Relic 導⼊ – Dashboards ( 可⽤性 ) オレンジのライン が

    SLI で cloudpack.jp の リクエスト処理成功割合 で定義 緑のライン が SLO で 今回は 97% で策定 前提条件 : APM Agent をサーバーへ導⼊済 29
  20. 3.New Relic 導⼊ – Dashboards ( 可⽤性 ) NRQL :

    オレンジの⽂ が SLI で cloudpack.jp の リクエスト処理成功割合 で定義 緑の⽂ が SLO で 今回は 97% で策定 SELECT percentage(count(*), WHERE httpResponseCode < '400'), 0.97 as 'SLO' FROM Transaction WHERE name = 'WebTransaction/Uri/index.php' AND appName = 'service_CLP-PRD_php' TIMESERIES AUTO SINCE 1 day ago 30
  21. 3.New Relic 導⼊ – Service levels 機能 1. New Relic

    機能メニュー から Service levels を選択 2. Add a service level indicator (SLI) から SLI を定義 データの収集しているサービス、対象 Entity を選択 2. 3. プリセット選択 もしくは カスタマイズした SLI を作成 3. 4. 設定完了したら画像のように、GUI 上で期間ごとの SLI の確認が容易になる 31
  22. 4.終わりに ・SLI の導⼊で 開発のスピード と サービスの信頼性 の バランスを取れる ・New Relic

    での SLI / SLO の実導⼊はそこまで時間は掛かりません ただし、SRE チームの作成、SLO / SLI の 定義、どのように活⽤するかの検討には時間が掛かるかも... ・SLI / SLO の定義にはサンプルが沢⼭あるので、ぜひ検索してみてください︕ → SRE Google - Example SLO Document 33 ・SRE の原則としてシステムの最も重要な機能は「信頼性」であると⾔うこと
  23. 4.終わりに – 最後の最後に︕ 今回は SRE、SLI / SLO の基礎的な部分をお話しましたが ユーザージャーニー、トイルなどなどのもっとたくさんのプラティクスが Google

    SRE 本 にまとめられています︕ オンラインだと 無料 で閲覧可能 ( 英⽂のみ ) のため 興味を持った⽅はぜひ読んでみてくださいmm → SRE Books 34