SRE本1章 - 作業のうち50%はエンジニアリングにあてるべし
昨日宣言した通り、「SRE サイトリライアビリティエンジニアリング」の1章について書きたいと思います。
1章 イントロダクション
イントロダクションなので、これ先この本にどのようなことがかかれているのかというのがまずは網羅的に紹介されています。
ただ、イントロダクションの時点ですでにおもしろいし、勉強になる!
どんどん先を読みたくなります。
そもそもサイトリライアビリティエンジニアリング(SRE)とは、Googleで培われたシステム管理とサービス運用の方法論です。こちらの本では、実際にGoogleにおいて、どのような理念に基づき、具体的にどのような手法で運用されているのかということが書かれています。
全部で547ページ!大作です(索引込み)。
Googleで誕生したSREですが、Google社では「SREメンバーの作業における50%は、エンジニアリングであること」というルールがきっちり決まっているそうです。
緊急のオンコール対応や、手作業のルーチンワークみたいなことは、必ず全体の50%以下の時間で行わなければいけません。それを超えないように、SREはがんがん自動化していくのです。その結果が、たとえ複雑なものとなろうとも。
もし、あるサービスがなんらかのSREメンバーが行う手作業に依存してしまうと、そのサービスがスケールしていくごとに手作業の量もどんどん膨らんでいきます。
そうならないよう、個々のメンバーの作業内訳をしっかりと計測し、エンジニアリングが50%を下回ってしまうようなときにはなんらかの手を打つわけです。
僕がここでとても興味があるのは、「どのように個々のメンバーの作業内訳を計測しているのか」という点です。
メンバーが日報などで、「あー今日何やったかなぁ」などと振り返りながらやるのは非常に面倒だし、僕ならそんなことを毎日やりたくはありません。第一、正確に計測できているとも思えません。
この先を読むと出てくるのか、それともそこについては各チームで工夫すべきところなのか。
まぁまずは先を読んでみたいと思います。
なんかこの部分を読んだだけでも、これまで僕がやってきたことを振り返ってみて、手作業が多かったなぁ俺・・・と落ち込みました。デプロイとか、おかしなインスタンスにはアクセスが行かないようにして・・・とか、もっと自動化しちゃえばよかったなぁ、と。
まぁ1章はイントロダクションなので、さらっとこんな感じですかね。
明日は2章 SREの観点から見たGoogleのプロダクション環境
を見ていきたいと思います。