「SREを目指すなら読んだほうがいいよ」って本、ネット探すとでてくるよね。他のジャンルと違って、そこまで多くない気がするけどね。いわゆるSRE本とか、SLOとかカオスエンジニアリングとかモニタリングとかとか。
そういうの色々読んでみて、「あー、色々繋がってるんだなー」って思った。出発点はリスク評価かなという気持ち。
具体だとこういうこと。
リスク評価をやろうとする。リスクを洗い出すよね。リスクが見つかると「そのリスクって発生の有無どうやって判断するの?」ってなる。そうなるとシステムのメトリクス見て判断する必要があって、それってモニタリング。で、モニタリングするってことは「どういう状態だったら正常なの?」って定義することになる。そうなると、「じゃぁ異常系だったらどうするの?」って話しになって、そうなると異常系から復活させる手順書を作ることになる。そのうち「この手順を何回もやるのが面倒だよね?」ってなって、トイル削除とか復旧速度上げるとかの文脈で「よし、自動化しよう」ってなる。自動化したら、「この自動化したやつ、本当に動く?どうやって確認するの?」って話しになって、「じゃぁわざと壊して、動作確認するかー」ってなって、それってカオスエンジニアリング。そして「今ってカオスエンジニアリング的に壊して本当に大丈夫?」って話しになってその判断基準ででてくるのがエラーバジェットだったりする。そしてエラーバジェットってSLOでSLIになってくる。
こんな感じでリスク評価からエラーバジェットとかSLOに繋がると思う。もちろんこの導線を繋げるとって引くほど難しい。ほとんどのサービスがやってないんじゃないかな?と思うし、コストに対してリターンは少ないんじゃないかなーという気持ち(サービス育てるうえで、もっと優先することもっとあるよね?という文脈)。
まぁ言いたいことこれで全部。1つ1つは独立してる雰囲気だけど、こんな感じで繋がってそうだからボトムアップ的に上げていければシステムの信頼性があがるんじゃないかなーとか思った今日このごろでした。