Paper2 Blog

ともに、かける

SREがたどる4つのフェーズ

SREのプラクティス導入による文化面の変化などを踏まえ、「火消し」「門番」「パートナー」「触媒」の4フェーズを紹介します。自チームの現状把握と今後の方向性を検討する上での材料になったら幸いです。*1

火消しフェーズ

火消しフェーズ

初期段階では開発チームが機能開発のタスク(Feature Task)に注力し、サービスに必要な信頼性に関するタスク(Reliability Task)が対応領域に含まれないことがあります。このフェーズではSREチームが火消し部隊としてReliability Taskを巻き取り、信頼性の向上に努めます。コラボレーションなどは考慮されず、火消しが最優先となります。そのため、Reliability TaskはSREチームだけが処理するものとなっていき、後の門番フェーズに突入します。

門番フェーズ

門番フェーズ

信頼性に関するタスクの大部分をSREチームが対応しているフェーズです。例えば、開発チームが本番の変更などをする際にもSREの承認が必要で、SREチームが門番となってしまっている状況になります。このフェーズでは必要最低限の信頼性は担保されている一方で、SREチームがボトルネックとなり信頼性向上の効率が下がり始めます。SREチームは各開発チームからの依頼対応に追われ、信頼性の更なる向上に取り組めなくなります。また、別の問題として開発チームが信頼性担保をSREチームに完全に任せてしまうことで主体性が欠けていき、信頼性低下の地雷を各所に埋め込み始める可能性もあります(EX: DBのパフォーマンスを考慮しないクエリ...etc)。

このフェーズでは、開発チームへのReliability Taskの委譲が重要となります。委譲をしない限りReliability Taskは全てSREが担当し続け、日々課題は増え、信頼性を向上するどころか必要最低限の信頼性も担保できない状況に発展する場合があります。

パートナーフェーズ

パートナーフェーズ

信頼性に関するタスクをSREチームと開発チームで協力して対応しているフェーズです。SREだけが対応していたReliability Taskを徐々に委譲していきます。開発チームの信頼性のオーナーシップ醸成を含めた文化づくりや各種自動化による支援が重要となります。これまでのフェーズと比較するとハードスキルでの課題解決力よりもコミュニケーション面などのソフトスキルも強く求められるフェーズとなります。

触媒フェーズ

触媒フェーズ

Reliability Taskを開発チームに委譲し、信頼性に関するタスクを開発チームが自律的に対応しているフェーズです。SREチームは開発チームの効率的かつ自律的な対応を促進する触媒のような存在になります。(触媒:化学反応の際に、それ自身は変化せず、他の物質の反応速度に影響する働きをする物質。)

このフェーズではSREチームはボトルネックになることがなく、各開発チームがスピード感を持って自律的に各タスクを進めることができます。またスケーラブルな組織となり、開発チームを適宜増やしていくことが可能となります。SREが信頼性向上の文化を根付かせ、それを効率的に回す仕組みもできているのであれば、究極的にはSREは解散できるでしょう。

まとめ

SREの主要なフェーズとして「火消し」「門番」「パートナー」「触媒」を紹介しました。自チームの現状把握と今後の方向性を検討する上での材料になったら幸いです。

*1:当フェーズはSREの探求の22.4節をベースに筆者の観点で SREがたどる1つのモデルとして記載しています。