5章 トイルの撲滅
5.1 トイルの定義
- 行わなければならない管理上の業務はトイルではなく、オーバーヘッド。チームミーティング、ゴールの設定・評価、人事事務作業等はオーバーヘッドにあたる
- 以下、当てはまるものが多ければトイルといえる
- 手作業であること
- 繰り返されること
- 自動化できること
- 戦術的であること:割込み作業。ページャーのアラートへの対応はトイルにあたる
- 長期的な価値を持たないこと
- サービスの成長に対してO(n)であること
5.2 トイルは少ないほうが良い理由
- トイルは、確認せずに放っておくと全員の時間を100%使ってしまう傾向にあるため、GoogleではSREチームのトイル作業時間は50%以下としている
5.3 エンジニアリングであるための条件
- エンジニアリングの作業は、新しいことをするものであり、本質的に人間の判断を必要とする
- 典型的なSRE活動はおおむね以下のように分類できる
- ソフトウェアエンジニアリング:コードの作成・修正を含む作業。関連する設計やドキュメントの作業もある
- システムエンジニアリング:プロダクションシステムの設計・設定の変更、システムに関するドキュメント作成がふくまれ、1回の作業で改善効果が持続するような方法で行われる
- トイル:サービスを稼働させることに直結する作業で、繰り返されたり、手作業だったりするもの
- オーバーヘッド:サービスを稼働させることに直結はしない管理的作業
5.4 トイルは常に悪なのか?
- 多少のトイルはやむを得ない。トイルが少量であるならば問題ない
- トイルを大量に処理せねばならなくなるとつらい。以下のようなことは考えておくべき
- キャリアの停滞:プロジェクトに使う時間があまりに少なくなると、キャリアアップが遅くなる
- モラルの低下:あまりに多すぎるトイルは燃え尽き、倦怠、不満につながる
- トイルに時間を使いすぎると、SREの組織には以下のダメージが生じる
- 混乱の発生:SREはエンジニア組織であるよう皆は努力している。トイルをしすぎると、その努力を台無しにし、SREの職務について誤解を与えてしまう
- 進捗速度の低下
- 習慣づけ:あまりにトイルに取り組みすぎると、開発側からもっと依頼されてしまうかもしれない
- 摩擦の発生:自分はよくても、他のメンバーが大量のトイルに対して快く思っていない可能性がある
- 信義違反:トイルばかりだと、新規採用者、SRE新規参画者を欺くこととなる
5.5 まとめ
- イノベーションを増やし、トイルを減らそう