🐒

SREってなんだろう - “SREの探究”を読んで混乱した

2022/01/28に公開

はじめに

いま"SREの探究"を読んでいます。

この本は様々な企業でのSREの実践例が掲載されていて、SREに取り組むすべての人にとって考える機会となるような示唆に富んだ内容となっています。

SREの探求 ―様々な企業におけるサイトリライアビリティエンジニアリングの導入と実践

この本では会話を重視しています。本書のすべてに同意しようとするのではなく、対等に受け止め能動的に意見を出すことでSREの分野を進展させることが目的だ、とも述べられています。
その心意気に則った、各テーマに関する考察はいずれ別記事でとりあげたいと思います。

今回は本を読みながら感じた、前提とするSREの定義に関するもやもやについて触れます。

本題

SREの探究を読んでいると、SRE本やワークブックで説明されている"SRE"と、"SRE"という言葉の使われ方に乖離があるように感じました。
「Googleのやり方とは違う、うち流のやり方はこうです!」みたいな紹介だったりするので、それはそうなのですが、違和感があったのです。

その正体を自分なりに考えた結果、SREという単語が ”技術分野としてのSRE””SREを実践している人・チーム” のどちらも指す言葉で、書籍の中でもいずれを指すのか明確に捉えることが難しいために生じる混乱だと落ち着きました。

改めてSRE本を読むと、SREを以下のような言葉で説明しています。

そもそもの始まりからデプロイと運用、改善、そして最終的に迎える平穏な撤去に至る、ソフトウェアのライフサイクル全体に焦点を当てる、もう一つの分野が見えるはずです。
(中略)
サイトリライアビリティエンジニアリングと呼ぶ分野です。

まず何よりもSREはエンジニアです。

SREとは、ソフトウェアエンジニアに運用チームの設計を依頼した時に出来上がるものである。

SREチームは、サービスの可用性、レイテンシ、パフォーマンス、効率性、変更管理、モニタリング、緊急対応、キャパシティプランニングに責任を負います。

SREは分野であり、また人を指す言葉としても使われているのです。
(メルカリさんではこれらをSREとSREsという形で表記を分けて区別しています。 参考

このため、文脈の理解が曖昧なまま「SREの仕事にはこういうものがある!」といわれたときに混乱するのです。
「Googleのやり方とは違う、うち流のやり方」の中に、「プラクティスとして採用しなかった・責務として存在しないという話」もあれば、「SREの責務として述べられているものはSREチームではなく別の体制で担っているという話」もあるということに気付けていませんでした。

イメージ

ただ落ち着いて読んでみると、多くはチームとしての責任を定義する上での違いに言及しています。SREの要素を取り入れてチームの仕事を再構築した結果として、組織文化的にSRE本やワークブックにあるプラクティスが必要なかったという形で責務の有無に違いが生まれた状態になっているようです。
全体としてどんな仕事があるかを吟味して、必要なロール、人員をアサインしてチームを構成する、みたいな逆の流れのつもりで読んでいると認識がずれてしまいます。

その腹づもりで挑めば、最初より違和感なく読み進めることができそうです。

Discussion