Implementing Service Level Objectives 読書メモ
Chapter 1
- 私達はサービスの世界にいる
- monitoring as a service , database as a service, etc...
- 更にマイクロサービスアプローチを採用し機能をサービスに分割している
あらゆる物がサービスに見える
信頼性を確保したい、そしてそれを複雑なシステムとともに、あるいは、複雑なシステムの中で実現したい
- そのために過去とは違う方法で考える必要がある
- あなたはグローバルに配置されたサービスに対して責任があるかもしれない、あるいは、少しのVMを実行するだけの責任かもしれない
- それらに共通で言えることとして、それを利用するユーザーが居るはずだ
- そうであるなら、ユーザーの視点で考える必要がある
- この最初の章では以下に注目する
- サービスとそれらのユーザーに関する真実を確立すること
- SLOがどのように機能するかの、いくつかの要素に関する概要
- 残りの部分を読むにあたって覚えておいたほうが良いこと
Service Truths
- いろんなサービスに当てはまることはいくつかあるけど、全部のサービスに当てはまることは3つだけ
- 1つめ
- 適切な信頼性は重要な運用要件の1つ
- サービスの目的はユーザーに十分な信頼性を提供すること
- 信頼性には可用性以外にも品質・信頼性・応答性など他の多くが含まれる
- サービスが信頼できるというのは、サービスがユーザーに必要なことをしているということ
- 信頼性がユーザーにとって十分であること(完璧である必要はない)
- 2つめ
- ユーザーに対してどのように動作しているか見えるが信頼できるかどうかを決定する
- あなたがどうみえるかではない!
- いかなるメトリック(ログのエラー、何らかの可用性メトリック)がサービスが信頼できることを表していてもユーザーが信頼性があると思わなければ、信頼性はない!
- ユーザーに対してどのように動作しているか見えるが信頼できるかどうかを決定する
3つめ
- サービスが完璧である必要はない
NOTE
- ユーザーとはなにか → あなたのサービスに依存するものだ
- それは人かもしれないし、顧客のソフトウェアかもしれないし、別の内部のサービスかも知れない、ロボットかも