> [!abstract] > トイル(toil)とは、本番サービスの運用に関連する手作業のうち、反復的で自動化可能であり、サービスの成長に比例して線形にスケールし、持続的な価値を生まない作業を指す。SRE はトイルを明確に定義し、計測し、組織的に削減することで、エンジニアリング活動に時間を確保する。 ## 書誌情報 - タイトル: Eliminating Toil(Chapter 5) - 著者: Vivek Rau - 書籍: [[SRE Book]](Site Reliability Engineering: How Google Runs Production Systems, O'Reilly, 2016) - URL: https://sre.google/sre-book/eliminating-toil/ ## トイルの定義 トイルは以下の 6 つの属性で特徴づけられる。 1. **手作業(manual)**: スクリプトの手動実行やコマンドの手打ちなど、人間が介在する作業 2. **反復的(repetitive)**: 初めてや 2 回目ではなく、繰り返し行われる作業 3. **自動化可能(automatable)**: 人間の判断が不要であり、機械で代替できる作業 4. **戦術的(tactical)**: 割り込みに応答する形で発生し、戦略駆動ではない作業 5. **持続的価値なし(no enduring value)**: 作業完了後にサービスの状態が変わらない作業 6. **線形スケール(O(n) with service growth)**: サービスの規模・トラフィックに比例して増加する作業 ## トイルとオーバーヘッドの区別 トイルは管理オーバーヘッド(会議、採用活動、人事評価など)とは明確に区別される。オーバーヘッドは組織運営に必要だがサービスの直接運用ではない。一方、トイルは本番サービスに直結し、自動化によって削減可能である点が異なる。 ## 50% ルール Google SRE では、SRE エンジニアの作業時間のうちトイルが 50% を超えないことを組織目標としている。実測では平均 33% がトイルであり、残りの時間をエンジニアリングプロジェクト(自動化、ツール開発、アーキテクチャ改善など)に充てている。この比率を守ることで、SRE チームが単なる運用部隊に退化することを防ぐ。 ## 過度なトイルのリスク トイルが過度に蓄積すると以下の組織的リスクが生じる。 - **キャリア停滞**: エンジニアが自動化やプロジェクトに取り組む時間を失い、技術的成長が止まる - **士気低下**: 反復的で創造性のない作業が日常を占めると、仕事への満足度が下がる - **離職**: 優秀なエンジニアが退屈や成長の限界を感じて組織を離れる - **自動化投資の先送り**: トイルに追われて自動化を進められず、トイルがさらに増える悪循環 ## エンジニアリング活動との対比 SRE におけるエンジニアリング活動は、長期的にサービスの信頼性や効率を改善する創造的な作業である。自動化ツールの開発、モニタリングの改善、アーキテクチャの再設計などがこれに該当する。トイルの削減はそれ自体が目的ではなく、エンジニアリング活動への時間を確保する手段である。 ## 関連 - [[@2016__OReilly__SRE Book - Chapter 7 Automation at Google]]: 自動化によるトイル削減の具体手法 - [[自動化のアイロニー]]: 自動化がもたらす新たな課題 - [[サービスレベル目標]]: トイル削減の優先度を決める指標としての SLO ## 出典 - Vivek Rau, "Eliminating Toil," in *Site Reliability Engineering*, O'Reilly, 2016