SREチーム体制について


本稿はJCB Advent Calendar 2022の12/20の記事です。

JCB デジタルソリューション開発部 SREチームの笹野と申します。
今回はJDEP(JCB Digital Enablement Platform) におけるSREチームの体制ついてご紹介します。

SREチームとは

JDEPではGoogleが提唱しているSRE(Site Reliability Engineering)の考え方をベースにチームを組成しています。 ミッションとして、各アプリチームが継続的に(信頼性高く)サービスを提供できる状態を提供することを掲げており、 ひいては、JDEPで提供するサービスを使用するお客様の満足度を維持することを目的としています。 こうしたミッションをもとに、各工程での取り組みをSREとして実践すること、また各アプリチームにSREの考え方や手法を注入することを日々実施しています。

SREのエンゲージメントモデル

SREとアプリケーションチームのメンバー間の関係性を表わしたものをエンゲージメンドモデルといい、上記のように様々なタイプのモデルが定義されています。 SREは採用するモデルによって振る舞いを変える必要があり、また、必要なスキルセットも異なります。

我々はこのモデルで言うと、プラットフォームSREとして、各アプリチームの環境構築のフォローや、サービスレベル・運用設計を実施するにあたってのスキルセットを注入しています。

SREチーム体制

発足当初は、Platformチームから分化し、新規アプリケーションチームの構築に対してフォローする形でチームの運用が始まりました。 徐々にアプリチームが増えるほど支援業務が多くなり、全体としての改善事項(運用ポリシー策定・障害試験計画等)の着手が十分に出来ない状況が発生しました。 そういった課題を踏まえ、それぞれの役割を分担し現在の2チーム体制(合計24名体制)での運用を開始しています。

Diplomat(外交官)チームは各アプリチームの窓口対応として、前述の各アプリチームへのSRE業務の注入・支援をする役割を担い、 Sheriff(保安官)チームは全体の信頼性向上の為に、横断した取り組み(障害訓練の企画、各種ポリシーの整備等々)を行う役割を担います。

取り組み内容

チームで取り組んでいる業務について、いくつかご紹介します。 全体的に信頼性を上げる取り組みとして記載の内容を遂行しています。

  • 障害訓練対応(Gameday, WheelOfMisfortune)
    JDEP全チームのインシデント発生時の対応強化を目的として定期的に企画し、横断的な取り組みとして実施しています。 具体的な内容については以下をご参照ください。
    クレジットカード会社のGameday(概要・運営編)
    クレジットカード会社のGameday(実践編)
    SREでWheelOfMisfortuneをやってみた

  • Daily Monitoring
    チーム全員で朝会時に本番稼働しているサービスのリソース確認を実施します。 Platformのリソースについて数日前と比較して異常だと感じられる部分を確認し、必要に応じて調査・影響を各チームへとアナウンスします。

  • SLI / SLOの策定支援
    サービスの信頼性を適切に設定・測定することを目的に、各アプリケーションに対して SLI (Service Level Indicators) / SLO (Service Level Objectives) を策定しています。 これらの策定はシステム側・ビジネス側といった片方という考えではなく、一緒になって適切な値を定めています。 また、この値を持ってアプリのチームだけでなく、プラットフォーム側のチームもインシデントの際SLOに影響を与えているかを確認し、対応できるよう共有しています。

終わりに

今回の記事ではSREチーム組成から、役割・体制についてを記載しました。 今後はチーム内でどのような取り組みをしているか、より具体的な内容について共有できればと思います。

最後になりますが、JCBでは我々と一緒に働きたいという人材を募集しています。 詳しい募集要項等については採用ページをご覧下さい。


本文および図表中では、「™」、「®」を明記しておりません。
Google Cloud, GCPならびにすべてのGoogleの商標およびロゴはGoogle LLCの商標または登録商標です。

記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。

©JCB Co., Ltd. 20︎21