【SREを理解する(SLI / SLO / SLA)】
SREの基礎をざっくり学習
通常は、SLA → SLO → SLI の順番で設定することが一般的
SLI (Service Level Indicators):サービスレベル指標
あらかじめ決めたユーザーの利用するサービスがユーザーが許容できる範囲で完了するまでの指標
-
良いイベント数 / すべてのイベント数 ✕ 100 = SLI
-
良いイベントの設定はユーザーがサービスを利用するにあたり、最も重要に考えられることを設定する必要がある
- データ処理の正確性
- データの鮮度
- スループット ..etc
-
SLIはシンプルにしよう!!
- 2~6個にする
-
SLIを設定する際の定義(例)
- 定義1:リクエスト・レスポンス
- 可用性、応答スピード、品質
- 定義2:データ処理
- 可用性、正確性、鮮度、スループット
- 定義3:ストレージ
- 耐久性、冗長性、復旧時間
- 定義1:リクエスト・レスポンス
SLO (Service Level Objectives):サービスレベル目標
SLIで設定した値以内で完了したサービス提供回数がすべてのサービス提供回数のうち、 どのぐらいの割合で提供できればいいかという目標値
-
SLOを90%と定義していた場合に、SLIが95%であれば、SLOを達成していることになる
- SLI
- 期間:SLIを計測する期間となり、 先月一ヶ月間とか過去の特定の期間 (30日間、 1週間) となります
- 目標:特定の期間に期待する 「良好なイベント」 のイベント全体に占める割合などになります
-
GoogleからSLOを定義する際に留意すべきルールが紹介されている
- 現在のパフォーマンスに基づいてターゲットを選択してはならない
- シンプルさを保つ
- 「絶対」を避ける
- SLOは最小限に設定する
- 最初から完璧を目指すな
SLA(Service Level Agreement):サービスレベル契約
SLOが達成できなかった場合に、ユーザーに対して何らかの補償などを約束する法的な契約
- SLAの可用性ついて
- 巧妙に設計されたソフトウェアは99.9%(スリーナイン)
- 巧妙に設計された運用は99.9%(フォーナイン)
- 巧妙に設計されたビジネスは99.9%(ファイブナイン)
おわり
参考にさせていただいたUdemyの講座はSRE学習の初めに最適だと感じました。
SRE サイトリライアビリティエンジニアリング――Googleの信頼性を支えるエンジニアリングチーム は積読ぎみなので、少しづつ読んでいこう。。