SLO
Service Level Objective
障害を起こしても許容される頻度の目標値
正常に動作していなくてもユーザが重大な混乱に陥らないと保証する目標値
SLIを満たしたイベントの割合は下記で求められる
SLIを満たしたイベント / 全イベント
この割合の満たすべき目標値がSLO
参考
/mrsekut-book-4814400349/076 (4章 適切なサービスレベル目標の選択)
#WIP
目標値である
契約上の合意ではない
自由に変更や更新できる
この目標値を上回っている場合、ユーザはサービスの状態に満足する
この目標値を下回っている場合、ユーザはサービスの状態に満足しない
SLOが高ければ良いというわけでもない
自分の担当する部分が信頼性が高くても、依存する他のサービスの信頼性が低ければユーザから見れば信頼性がないことに変わりはない
/mrsekut-book-4814400349/037 (1.2.1 サービスレベル指標)
e.g. ユーザの自宅のネットが弱い
高すぎると、失敗できる機会が少なくなる
/mrsekut-book-4814400349/078
学習できる機会が減る
実験できない
カオスエンジニアリングできない
短時間で機能のリリースができない
これは問題だねmrsekut.icon
障害とは
サービスが期待される動作を実行していないこと
緊急かどうかは関係ない
APIが十分な速さでレスポンしなかったら障害と言える
問題になるのは、詳細が頻繁に発生したり、長く続いた場合のみ
SLOが多すぎても問題
/mrsekut-book-4814400349/080
意思決定する難しさが増す
どうやって決めるか?
/mrsekut-book-4814400349/088 (4.4 目標値の選択)
過去のパフォーマンスを参考にする
https://speakerdeck.com/juju62q/slowohuo-yong-sitaji-shu-de-gai-shan?slide=51
例
「1ヶ月間のリクエスト成功率が99.9%以上であること」
「95%以上のリクエストが300ms以内に完了する」
/mrsekut-book-4814400349/044 (1.4 念頭におくべきこと)
SLOは単なるデータである
もっかいよもうmrsekut.icon