「SRE サイトリライアビリティエンジニアリング」を読んだ

年始に読んだのでメモ。

Googleの提唱するSREという概念(役割?)について説明された本。 SREがどういう役割をになっていて、どういう考えが必要か、具体的に何をするのかが書いてある。 主にGoogleの内部で実際に行われている大規模なサービスを運用する手法や、 Googleでのケーススタディが載っている。 グーグルグーグルしてるが世界一複雑で巨大なサービス群を抱えているGoogleなので特に違和感はない。

SRE (Site Reliability Engineer)とは、 コンピュータサイエンスとエンジニアリングの原則を、概して大規模な分散型のコンピュータシステムに適用して、 スケーラビリティ、信頼性、効率性を向上させていくエンジニア。 ざっくりしているが著者たちもはっきり言葉で表現できてはいないらしい。

いわゆるシスアドの仕事もするが、 オンコール対応もするが、日常運用は業務時間の50%を超えてはならないという決まりがあり、 コーディングスキルを使う開発を最低50%行う。 ただの何でも屋でもなくて、きちんとSLAの上でSLOを設定して積極的に改善を図っていく。

SREは能力に対する要件が非常に高い。 LRE (Launch Coordination Engineers、新しいサービスのローンチをサポートするSREの一部の人々) なんてトレーニングに半年かかるとのこと。

SRE (Site Reliability Engineering)はDevOpsという言葉とも少し似ているが、より大きい概念だと思われる。

厚い本だが、ひとまず2部の「原則」は誰にでもオススメ。SREが何をするかがざっくりわかる。

SREという言葉が知られるようになってから、いろんな会社でのSREという肩書や取り組みが聞かれるようになったが、 実際にこの本に書いてあるぐらいのことを徹底的に取り組めているところはあるのだろうか?たぶんない。

単なる運用をしている作業を超えてこういうことを少しずつ取り組み始めるとよいのだなという 一つのガイドラインにはなりそう。