SREを組織に浸透させるためのアプローチ
このように多くの効果が得られるSREを、組織に浸透させていくのは一筋縄ではいかない。そこでスリーシェイクでは、SREチームの位置づけ・目的を定義することを、SREを組織に導入する最初のステップとして位置づけている。組織の役割が曖昧で、メンバーに目的が浸透していないと、期待通りの結果を得られない原因となるからだ。その上で、スリーシェイクではGoogleが提唱するアプローチにこだわらず、お客さまの現状を踏まえた導入アプローチを採用している。
SREを浸透させていくアプローチはわかったが、実際にどういうところからSREに着手すればよいのか、悩んでいる人も多い。藏本氏は実践内容例として、監視基盤導入、SLI/SLOの定義、運用体制整備、IaC(Infrastructure as Code)、CI/CDの導入、パフォーマンス分析などを挙げている。
「もちろん、これらをすべて一気に実践するのは無理がある。まずは小さく始めて、SREチームで成功体験を得ることが大事」と藏本氏。一つのプロダクトやサービスに展開して、成功すれば横展開していくのである。できれば新しいサービスで試すのが望ましいが、そう都合よく新しいサービスが生まれるわけではない。「既存サービスの中で、導入対象を選定し、小さく始めるのがベストプラクティスとなる」(藏本氏)
導入対象のサービスを選定した後は「当社ではSLI、SLO、エラー予算を定義することから始めることが多い」と藏本氏は話す。これらの定義を上質なものにするためには、ある程度目星をつけながら、とにかくデータを取得することがおすすめだ。メトリクスなどの収集は、上質なSLIやSLOの設定に使うだけではない。トイルの削減にもつながるからだ。
次はポストモーテムを実施する。ポストモーテムとは、インシデントとその影響、インシデントを軽減または解決するために取られたアクション、根本原因、およびインシデントの再発を防止するためのフォローアップアクションを書面で記録することである。適切な振り返りをするためには、障害解析に対して追跡ができるような仕組みが必要になる。そしてもう一つ大事なことは「特定個人を非難しない文化であること。つまり心理的安全性を担保していること」が重要だと藏本氏は言う。障害はシステマティックな問題や仕組みの問題だからだ。
組織へのSRE導入の難しさとして、例えば、SREを導入する対象が決済基盤など、SREのSLOやエラーを許容する考え方と相性が悪いケースもある。このようなケースの場合は、「このサービスについて、SLOによるハンドリングをストップし、別の領域にSREの導入を進めていくことは一つの手」と藏本氏は語る。先述したように、SRE導入には、小さく始めて効果の出やすい領域から実績を作って行くことが、何よりも大事だからだ。
さらに藏本氏はSRE人材の育成に関しても言及。SRE人材はOSやネットワーク、モニタリング、トラブルシュートなど、多くの技術スキルが求められる。さらに、関係する組織やアプリケーションの知識、関連システムの変更への対処方法など、提供サービス・システムに対するナレッジが必要になる。「これを一人の人間で満たすのは不可能に近い」と藏本氏は話す。
藏本氏たちがSREを導入する際は、理想的なチームを話し合って決めた上で、例えば、開発部門からSREチームに留学してもらう形でバーチャルチームを結成し、内部での運用について知ってもらうような対応を行っている。
とはいえ内製化や増員を考えるとSREを教育していく必要がある。その手法として藏本氏が注目しているのがオライリーの『SREの探究』という本で紹介されている「アクティブラーニング」である。アクティブラーニングとは座学ではなく生徒が能動的に考え、学習する教育方法で、同書ではアクティブラーニングの例としてロールプレイングゲームやカードゲームなどを活用した方法が紹介されている。「いずれの方法を用いるにしても、泥臭く障害やサービスを理解していくことが必要になる」と藏本氏。
最後に藏本氏は次のように参加者に呼びかけセッションを締めた。「Googleが提唱するSREは、現在サービスを運用する上で最適だと言われる方法論の一つ。SRE本の通りに実践することが真のゴールではない。SREのプラテクティスを自分たちなりに解釈し、組織にあったSREを手のつけやすいところから小さく始めていきましょう」