この記事では、SREチームを組織する際どのように進行すればスムーズにいくのかを解説します。
リソース不足の組織が、SREに取り組む際の3つのポイントについて解説 [SREチーム構築]
「自社エンジニア組織においてSREを導入したい」「しかし、リソースの制約により、Googleが行っている『理想的なSRE』を行うのは難しい」
このように考えている企業は多いかと思います。今回は、「制約がある状況下でも、SREに取り組む際のポイント」についてご紹介したいと思います。
「理想的なSRE」とのギャップを理解する
Googleが提唱するSREについてですが、下記の3点が特徴として上げられます。
- SREチームの人材
- 50-60%は「(Googleの)正規のソフトウェアエンジニア」で、残りの40-50%は「正規のエンジニア予備軍だが、他のメンバーには持っていないスキルを持っているエンジニア」で構成される。
- SREの方法論
- SLI/SLOの定義、エラーバジェットの設定、自動化のためのコーディング、CI/CDの導入、インシデント後のポストモーテムの実施など
- SREが根付く組織文化
- 組織のサイロ化をなくした競合体制の構築、インシデント発生時に特定の人を責めずポストモーテムとして学ぶの機会とするなど
この3つのどれが欠けても「Googleと同様のSREチーム」の構築が難しいのが実情です。しかし、大半の組織の実情は「この3つが揃っていることはほとんどない」のが一般的で、最も欠けているのは「人材」です。例えば、以下のような例です。
- Webサービス開発を行っているソフトウェアエンジニアを、SREチームに異動させるのは開発リソース的に難しい。
- 技術力が乏しい人材が、SREチームに配置されている。
- そもそも社内には、SREとなる要件を満たす人材がほとんどいない。
- SRE経験者を外部から採用するのは、人件費を考えると難しい。
このように、世の中の大半の組織では「Googleが行っているSRE」と「自社が行うSRE」との、特に人員的なギャップに悩むことになります。
リソース不足の組織がSREをはじめる際のポイント
Googleが提唱するSREと、自社が行えるSREのギャップに直面して、「当社にはSREは無理か」と諦めそうになるケースもあります。しかし、多くの組織ではこうした人材に関する問題がありながらも、SREチームを設けて活動を続けています。
「Done is better than perfect. (完璧であるより、まずは終わらせることが重要)」という格言がある通り、SREも「完璧な体制を整えようとせずに、与えられた状況下でまず始める」ことが大切です。
限られたリソースでSREに取り組むために必要な「3つのポイント」を以下でお伝えします。
1.小さく始める
当社は「Sreake」という、SREを外部企業に提供するサービスを行っていますが、お客様に常にお伝えしているのは「小さく始めましょう」という点です。
やるべきことは多くあり、かつSREが根付く文化も一朝一夕では実現できません。かつ、人的リソースも限られている中でSREをはじめるには、「SREチームとして、我々はやっていける」という成功体験を得ることが非常に大切です。このため、既存の大型サービスから取り組むのではなく、新規のサービスやそこまで大きくないサービスから取り組むほうが、SREをはじめやすいと言えます。
なお、GoogleはSREチームの評価に役立つレベル別チェックリストを作っていますので、参考にしてください。
2.できることをやる
SREというと、「コーディングスキルが高いSREエンジニアが、サービス自動化のために大量にプログラムを書いていく」イメージをお持ちの方もいるかと思います。しかし、「SREを導入したいが、SREエンジニアの要件を満たす人材がほとんどいない」ケースもあります。
一例に「株式会社ハートビーツ」があります。こちらの会社はMSP事業者向けにインフラ運用を代行する事業を行っています。ハートビーツがSREを行った際、その主体となったのは「運用グループのエンジニア」です(サービス開発を行うソフトウェアエンジニアではありません)。
ハートビーツでは、サービス開発を行うエンジニアと比べ、ソフトウェアエンジニアリング力に限界があることは承知のうえで、SREの方法論を用いてトイル対策に臨んでいます。結果、トイルの削減に成功していますが、Googleが実現している「トイルに費やす時間は、SREエンジニアの時間の半分以下」という目標まではまだ到達していません。
では、ハートビーツのSREが失敗だったかというと、もちろんそうではありません。自社の限界を理解しながらも、改善を積み重ねて成果を出しています。
もし、貴社が「うちのリソースでは到底SREは無理」とお考えの場合は、ぜひハートビーツの事例を参照ください。リソースが限定的であっても「できることをやる」という姿勢で正しく取り組むことで、得られるものは多くあります。
3.正しい方法論で取り組む
SREは概念ではなく、体系だった方法論です。よって、方法論の正しい実践により、成功確率を高められます。SREの方法論は、「SRE: サイトリライアビリティエンジニアリング」(通称SRE本)の内容をGoogleが無償公開(英語)していることに加え、邦訳も刊行されているため容易に入手できます。
また、SREに関しては多くの企業が自社の取り組みをセミナーやブログで公開しているので、こうした具体例からも多くを学べます。なお、当社では2020年9月に「SRE Gaps 理論と実践からSREを再考する」というイベントを開催し、この内容をアーカイブ配信ならびイベントレポートとして公開しています。ぜひ参考にしていただければと思います。
こうした情報を踏まえた上で、「自社でSREを始めるために支援を受けたい」という場合は、当社のSRE支援サービスである「Sreake」をご検討ください。これまで、NTTデータ様、JCB様などの大きな企業向けに支援実績に加え、中堅企業やスタートアップへの支援実績も豊富にあります。多くの組織でSREの導入支援に取り組んできたメンバーが、貴社SREの実践のお手伝いをさせていただきます。
リソース不足を理由にSREをあきらめない
「SREチームを社内に設けて、サービスの信頼性を高めたい」という企業が、はじめから「リソースが全て揃った完璧な状態でスタートできた」という例はほぼ皆無といってよいでしょう。逆に言うと、どの企業も何かしらのリソース不足を抱えたまま、SREチームを設けて苦闘しています。
前項で、リソース不足であっても「小さく始める」「できることをやる」「正しい方法論で取り組む」ことが重要とお伝えしました。また、自社のリソースだけではSREチームの立ち上げが難しい、または成功確率を高めるために外部の支援を得たいという場合は、当社のSRE支援サービス「Sreake」を活用ください。お問い合わせを頂いた内容について、真摯に回答させていただきます。
東京在住のソフトウェア開発者、Motouchi Shuyaです。
システムの開発・運用・最適化が好きです。