SREの取り組みについて

こんにちは、今期からSRE(Site Reliability Engineer)として活動している岩崎です。今回は主に自分が中心になって進めているSREの取り組みについてご紹介します。

SREとは

SRE(Site Reliability Engineering)とはGoogleによるサービス管理のベストプラクティスです。直訳すれば「サイトの信頼性エンジニアリング」ということになります。Google SREの創始者であるBenjamin Treynor Sloss氏の「SREとは、ソフトウェアエンジニアに運用チームの設計を依頼したときにできあがるもの」という言葉を借りれば、Yet Another DevOpsと言うこともできるかもしれません。

SREは対立しがちなDevとOpsの問題を一段上の問題に昇華し、ソフトウェアエンジニアリングによって解決しようとします。また、「エラーバジェット」や「トイル」など、SRE独自の興味深い概念も多いです。

SREの取り組み

今期からSREとして活動していくにあたり、まず最初に行ったのが現状の問題点の洗い出しとロードマップの作成です。

既存の問題点に対するアクションは、基本的な運用フローの作成から、SLO(sevice level objectives = サービスレベル目標)の設定、アクセスが殺到した場合の負荷対策まで幅広いものでしたが、中にはSRE以前の問題も多く含まれていました。今はそれら一つ一つを課題として設定し、時にはSRE的な手法を用いて改善を進めています。

たとえば、運用負荷が特定の人間に集中するという問題がありました。当時は別部署からの問い合わせ対応やバグの調査・修正を特定の人間が一人で行っていたのですが、忙しさに追われて本来その人がやりたいエンジニアリングの作業ができていませんでした。

SREでは戦術的でなく成長を伴わないルーチンワークのことをトイルと呼び、トイルは各人の作業時間の50%以下に抑えるべきであるとされています。さもなければ、個人のキャリアの停滞やモラルの低下に繋がるからです。

上記のケースは厳密にはトイルではないかもしれませんが、同じようにエンジニアリングを伴わない日常作業でモチベーションが下がっていたため、チーム内で相談し週単位でローテーションすることにしました。下は自分が作った週ごとの担当者をお知らせするbotです。

画像1

勉強会

また、CAMPFIREでは今期から定期的にSREについての勉強会を開催しており、現在はSRE本の輪読会を行っています。

こちらは社員、業務委託を問わず興味のある人に自由に参加してもらっているのですが、業務委託で関わってくれている16歳のエンジニアに参加して良かったと言ってもらえて嬉しかったです。楽しみながら、今後も続けていきます。

画像2

以上、簡単ではありますがCAMPFIREのSREの取り組みについてご紹介しました。知見がたまったらまた何か書きたいと思います。

最後までお読みいただきありがとうございました!




この記事が気に入ったらサポートをしてみませんか?