SREとはSite Reliability Engineering の略で、サーバーやサービスの安定性を担保するのが仕事です。日本では 「サイト信頼性エンジニアリング」と訳されることが多いです。同名の書籍が出版されたことから、SREという言葉が一般的に使われるようになりました。
面白法人カヤックでは様々なサービスを運営しており、SREが対応するサービスも多岐にわたります。そのために各サービスにSREが所属するのではなく、SREチームとして独立したチームが各サービスの支援を行う体制をとっています。
目標はSREチームの仕事をなくすこと
カヤックのSREチームの目的は「サービスの可用性にフォーカスした改善・運用を行う」ことです。SREの責務である信頼性の担保の中でも、特に可用性を重視しています。
その上で 可用性を担保したままアプリケーション開発者でも運用できるようになる ことを最終目標としています。 つまり、対象のサービスについて、SREチームメンバーが直接手を動かさなければならない仕事をなくすということです。
サービスの現状から可用性に関係する要求を見つけ出し、具体的なタスクとして定義し改善を行っています。 そのような可用性担保のための活動を、アプリケーション開発メンバーだけで継続できる状態をつくるための仕組み化・ガイドライン化を進めています。最終的にはSREチームのメンバーが手を動かす仕事がなくなることを目標にしています。
具体的には以下のような活動を行っています。
- オペレーションを簡略化するためのデプロイツール整備
- 障害復旧速度を上げるための監視・開発サポート
- 陳腐化防止のための使用技術のアップグレードや移行
- サービスによらない一般的な運用ノウハウの定型化
SREチームの体制
カヤックのSREチームは2018年に発足しました。 当初は3名体制でしたが、メンバーの入れ替わりもありつつ徐々に人数を増やし、現在は6名が在籍しています。メンバーごとに一つ以上のサービスを担当しています。
各サービスの課題やその解決策をSREチーム内で共有し、サービスをまたがった知見の共有を行っています。知見の中から共有化できる部分をツールとして開発することもあります。
1年間のポストモーテム運用とそこから生まれたツール sre-advisor / SRE NEXT 2022
多岐にわたる自社サービスの開発運用経験が、互いの技術を高めることにつながっています。こうして培ったSREチームとしてのノウハウをカヤック以外の企業が運営するサービスに提供することもでてきています。
SREチームの取り組みを技術部ブログで発信しています。
SREチームの仕事に興味をお持ちの方は、是非中途採用ページからご応募ください。