Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【新卒研修】共通言語としてのSRE/SRE as a common language

【新卒研修】共通言語としてのSRE/SRE as a common language

GMOインターネットグループの合同研修である「GMO Launcher 2025」SREパートの資料を公開します。

---

SREは特定の専門職だけのものではない。
SREのプラクティスをサービスの開発に関わるすべての人の “共通言語” とすることで信頼性の優先順位を制御したり、コミュニケーションをスムーズにしやすくする。

SRE文化を実践しているチームと関わった際に、同じ土俵で会話ができるようになる。
サービス運用の課題に対し、SREを1つの解決手段として活用できるようになる。

1章:なぜ「共通言語としてのSRE」の話をするか?
2章:SREの基礎
 2.1. サービスレベル目標
 2.2. トイルの削減
 2.3. ポストモーテムの文化:失敗からの学び
3章:SREのアンチパターン

Takuma Kume

April 15, 2025
Tweet

More Decks by Takuma Kume

Other Decks in Technology

Transcript

  1. 共通言語としての SRE 久米拓馬 @takumakume / GMO PEPABO inc. 2025.4.15 GMO

    Launcher 2025 - SRE(GMOインターネット合同研修)
  2. 自己紹介 私のイズム GMOペパボ株式会社 ロリポップ・ムームードメイン事業部 事業部CTO 久米 拓馬 @takumakume • 2016年中途入社

    • インフラ、バックエンド、SREを経験 • 好きなソフトウェアはKubernetes • 釣りをしたり、コーヒー豆を焙煎したり、ウイスキー を買い集めたりしている 私の仕事は ホスティング領域の事業部CTOとして、技術力でユーザの表現のハードルを下げ、1つ でも多くの人類のアウトプットを増やすことです。
  3. 共通⾔語としてのSRE • 1章:なぜ「共通⾔語としてのSRE」の話をするか? • 2章:SREの基礎 ◦ 2.1. サービスレベル⽬標 ◦ 2.2.

    トイルの削減 ◦ 2.3. ポストモーテムの⽂化:失敗からの学び • 3章:SREのアンチパターン ⽬次 7
  4. 1章:なぜ「共通⾔語としてのSRE」の話をするか? • 収益 ◦ サービスが⽌まると価値は届かない=収益がない • 時間 ◦ 障害対応などの作業に時間を取られる •

    評判 ◦ 信頼性が⾼い競合他社に乗り換えられる • 健康 ◦ オンコールなどによって多くの時間を仕事に割く必要があり、健康に悪影響を及ぼす • 採⽤ ◦ 信頼性の低いシステムを抱え続ける会社で働きたいとは思わない 信頼性が与える影響 18 参考:『SREをはじめよう』O'Reilly - 1.1.1 信頼性
  5. 2.1 サービスレベル⽬標 信頼性スタック 32 • SLI(サービスレベル指標) ◦ システムの信頼性に関する定量的な測定値 ◦ 例:稼働率、レイテンシ、エラーレート

    • SLO(サービスレベル⽬標) ◦ SLIに対しての⽬標値 ◦ 例:稼働率 ⽉間 99.9% • エラーバジェット ◦ SLO違反を許容する範囲 ◦ 例:稼働率 ⽉間 99.99% の場合、0.01% (4分23秒) 引⽤:Alex Hidalgo, ⼭⼝能迪, 成⽥昇司 『サービスレベル⽬標』O'Reilly - 1.2 信頼性スタック
  6. 2.1 サービスレベル⽬標 CUJ (Critical User Journey) 34 • ユーザがサービスを利⽤する上で重要な体験 •

    例 ◦ ECサイト:商品検索→カートに⼊れる→決済 • どのメトリクスを計測すればCUJを担保できるかをベースにSLIを設定する
  7. • SLIを決めたらしばらく計測し、現状を把握する • 現状の値、ユーザの期待、技術的制約を考慮し達成可能な⽬標を設定する ◦ 現実とかけ離れた⾼い⽬標を設定すると機能しない • 稼働率と許容停⽌時間 ◦ 99.9%

    (⽉間 43.83分) ◦ 99.99% (⽉間 4.38分) ◦ 99.999%(⽉間 26.30秒) ◦ あなたのサービスが本当に必要とする信頼性は? • ⽬標は定期的に⾒直す ◦ サービスにとって重要なことは時間の経過とともに変化する 2.1 サービスレベル⽬標 SLO(サービスレベル⽬標) 36
  8. 2章:SREの基礎 64 • サービスレベル⽬標 ◦ SREはSLI/SLO/エラーバジェットを⽤いてデータドリブンな意思決定を⾏う ◦ ⼀⽅で、エラーバジェットを正しく運⽤する難易度は⾼い ◦ 最終的には、関係者との合意形成が重要

    • トイルの削減 ◦ サービス成⻑に⽐例して作業量が増えないようにトイルを削減する ◦ ⼀朝⼀⼣でトイルを削減できるエンジニアリング⼒は⼿に⼊らないので諦めない ◦ 最初から完璧なしくみを作らない、⼩さく始めて⼤きな成果につなげる • 失敗から学ぶ ◦ インシデントの原因は⼈ではなくシステムである、⼈を⾮難しない ◦ ポストモーテムでドキュメント化する ◦ 再発防⽌アクションは⼈ではなくシステムを改善する 2章のまとめ
  9. 3章:SREのアンチパターン • システムは常に周囲の状況が変化している ◦ ユーザのアクセスパターンの変化 ◦ 連携する別のシステムの変更 ◦ 使っているソフトウェアのバージョン更新 ◦

    新たな脆弱性の発⾒ ◦ ハードウェアスペックの進化 ◦ ⼈間の⼊れ替わり • システムに変更を加えなくても、周囲の変化によってシステムがダウンしたり、システム間通信プロト コルの互換性を失ったり、変更を加えることができなくなったりする。 • 変更されないシステムは⻑期的に⾒るとボトルネックとなり事業成⻑を阻害する。 71 「何もしないから壊れる」とは
  10. 3章:SREのアンチパターン • 俺の作った最強のスクリプトを個々⼈で所持 ◦ 短期的には成果が出る • サイトリライアビリティエンジニアリング=運⽤(オペレーション)ではない • スケールしない ◦

    サービスやチームが拡⼤すると、対応が追いつかなくなる • ⾃動化が進まない ◦ ⼿作業の“成功体験”が⾃動化の阻害要因になる • 再現性が低い ◦ 個⼈の存在‧集中⼒‧記憶⼒‧体調に左右される • 情報の⾮対称性が⽣まれる 72 「秘伝のタレ」によって属⼈化されたオペレーション 情報をアウトプットし、チームで解決できるようにしましょう
  11. • システムに不具合があった場合に担当者に知らせるためにアラートを設定し、オンコール対応を⾏い サービスの復旧を⾏う。 • ⼀⽅で、以下のようなアラートを出すのはアンチパターンである。 ◦ アクションが不要なアラート ▪ 数秒後に復旧し、対応不要なもの(アラートで起こされたけど、すぐに復旧していた) ▪

    アラート単体では無視できるもの(CPU使⽤率が90%だったけど、サービスはまだ動いて いるので対応不要) ◦ アクションが不明なアラート ▪ アラートが来たけど、何が問題か分からない、どこから調べたらいいか分からない 3章:SREのアンチパターン 73 ノイズの多いアラート