Re:ゼロからもう一度考えるSLI/SLO |【連載 第0回】

はじめに

Re:ゼロからもう一度考えるSLI/SLO にようこそ。 これは、信頼性に向き合うすべての人に向けた連載企画です。

SLI/SLOとは?

SLI(Service Level Indicator: SLI)とは、サービス全体がどの程度の信頼性をもつかを示す指標であり、SLO(Service Level Objective: SLO)とは、サービス提供者が設けたSLIの基準値よりも、定められた期間の間、高い状態を維持することを目標とするものです。


SLOは、信頼性を向上する取り組み(通称 SREプラクティス)で序盤に登場する概念です。

私の経験上、SLOはくせ者です。今まで在籍した組織での導入を経験してきましたが、一筋縄ではいきません。例えば、SLI/SLOを導入したものの、運用に手こずっている組織も多いのではないでしょうか。

SLI/SLO自体はただの目標管理であるため、導入自体は一見簡単に見えますが、実はその後の運用で問題が発生しがちです。

  • 【SLI/SLOを導入したものの、運用に手こずっているとき】
    • 何を計測して、どう目標値にするかわかりにくい。結果、消滅したりなんとなく運用している
    • 過度に高い目標値が設定されているため、現場とのギャップがあり運用が困難
    • 導入してみたものの、うまく利用できている気がしない。"ただあるだけ"になっている

なぜこのような状況になるのか?その課題はどこにあるだろう?と考えてきました。

その回答のひとつとして「立場によって、SLOについて認識が異なる(or ない)のではないか」と思っています。バズワードとして広く利用されるようになったため、独自の解釈が生まれているでしょう。

導入後における、ばらばらの認識となっている例をあげてみます。

  • (SRE)SLOというものが必要らしいのでまずは設定しよう
  • (開発責任者)SLOをKPIにして99.x%を死守しよう。そうすればシステムはより安定するし、顧客は満足するはずだ
  • (開発者)SLOというのを守るといいらしい。サービスがよりよくなるなら特に反対意見はない。SREの手伝いをすればいいのかな?

認識が異なるケースの一例
認識が異なるケースの一例

お察しの通り、SLOがあればサービスが安定するかは不明です。ただ設定しただけでも、それははじめの一歩を踏み出したに過ぎません。
ただデータが揃っただけであり、その数字が勝手に何かをしてくれるわけではないからです。

このように、各登場人物のSLOに対する認識が異なるために、SLOの運用を複雑化させている一端を担っているのではないかと思います。 もちろんほかにも複雑な要因はありますが、ともあれスタート地点は「合意形成をする範囲内で正しく共通認識が取れていない」のではないかと考えています。
※SRE本人が勘違いしているケースがないとも言い切れません。

関係者間でSLOの存在が薄くなっていく例
関係者間でSLOの存在が薄くなっていく例

そこで、本シリーズではSLOを如何にして導入・運用するのが良いのか、考えをまとめていきたいと思います。

読者対象

  • SLOはなぜ必要なのか知りたい人
  • SLI/SLOを導入しようとしている人
  • SLO/SLOについて理解を深めて自社で展開したい人

このシリーズ記事の読み方

連載企画のため、随時更新していきます。

ゼロからもう一度考えるためにも、単にSLI/SLOを導入・運用するのではなくその手前にあるコミュニケーションといった問題にも切り込んでいければと思います。

⏬️ Topotal Blogの購読ボタンをClick!

blog.hatena.ne.jp

監修: @yuuk1t 氏

このSLI/SLOをもう一度考えるにあたり、Topotalテクノロジーアドバイザーのyuuk1氏に監修いただいております。

SRE (Site Reliability Engineering) の研究者。博士(情報学)。さくらインターネット研究所。Topotalテクノロジアドバイザー。

https://x.com/yuuk1t

インデックス

※随時更新

インシデントにおける「Commander(指揮官)」の重要性とその難しさについて

こんにちは Topotal エンジニアの高谷(@nerdyboy_cool)です。

今回も「Incident Management For Operations」を題材にインシデントマネジメントサービスについて書いていきたいと思います。

前回のおさらい

前回の記事ではインシデントマネジメントの起源に触れつつ、「Reactor」と「Responder」という重要なキーワードについて取り上げました。

Reactor、Responder ともにインシデントに対して具体的なアクションを起こす人という点では共通していますが、「Responder」の方が障害に対してより責任を持った行動を取るメンバーであることがわかっていただけたかと思います。

項目 Responder(レスポンダー) Reactor(リアクター)
専門性 特定の問題解決に対して訓練されている 訓練されていない、準備不足
協調性 組織化されている、規律がある 協調性がない
問題へのアプローチの姿勢 統一された視点で問題に取り組む それぞれ異なった視点で群がる・見解を持つ
プレッシャー下における対応 冷静でプレッシャーの下でも冷静に対処 慌てふためく、感情的になりがち

blog.topotal.tech

しかし、優秀な Responder が存在するだけではインシデントを素早く・適切に収束させることはできません。 今回の記事ではインシデントにおける指揮官である Incident Commander について取り上げつつ、 Commander の仕事がいかに複雑で大変なものかということを私なり考察したいと思います。

Incident Commander とは

インシデント・コマンダー(Incident Commander; IC)は、インシデントが発生した際に、その対応を現場で指揮し、解決へと導くリーダーを指します。

インシデントが発生すると状況は「通常時(Peacetime)」から「戦時体制(Wartime)」へと移行します。このような緊急事態において、各自が勝手に動き出して統率が取れていない状態では、素早く正常な状態に戻すことはできません。

本著ではリーダー(= Commander) が行うべきことを下記のように定義しています。

  • Responder グループが問題を正確に把握していることを担保する
  • 主要なデータ・メトリクスから、アクションプラン構築の議論を促進する
  • 時間に配慮する
  • 問題を解決するのに必要なリソースプールへのアクセスをもつ
  • 分野を横断したコミュニケーションを確立
  • 主要プレイヤーにリアルタイムに情報提供

インシデント・コマンダーの役割

Commander はインシデント対応におけるオーケストレーターです。つまり、問題を直接的に解決するのではなく「情報の統制」「意思決定の促進」「組織の橋渡し」が求められます。Responder たちが最大限のパフォーマンスを発揮できるよう、情報・時間・リソース・コミュニケーションという4つの要素をマネジメントするのがCommanderの仕事となります。

Incident Commander がなぜ難しいのか

Commander に要求される能力は多種多様ですが、今回は「状況把握」というトピックに絞って難しさを考えてみたいと思います。

インシデントが発生すると、Commanderはさまざまなステークホルダーとの情報共有をしなければなりません。復旧に関するエンジニアチームとのコミュニケーションはもちろんのこと、顧客とのやりとりを担当するカスタマーサービスチーム、重要な意思決定に関する経営層とのコミュニケーションなどです。

さらに、これらのコミュニケーションは互いに依存し合っているため、完全に並行して進めることができません。Commander はインシデントを最短で収束させるべく、最適な順番で効率的なコミュニケーションを随時行っていく必要があります。大抵のケースでは、Commander の脳内メモリにこれらの情報が格納され実行されますが、インシデントという心拍数が上がるイベントにおいてミスなく行動を選択し、実行するのは非常に難しいです。

インシデント・コマンダーの並列コミュニケーションライン]

そして、これらの複雑なコミュニケーションを行うことができるメンバーが限られているというのも Commander をより難しいものにしています。 本著では、Commander は必ずしもその技術領域の専門家や管理職である必要はないとされていますが、実際のところ複雑なタスクを処理できるメンバーはこれらの役職についているケースが非常に多く、「Commander を担える人材が少ない」という問題が起こりがちです。

「難しさ」に対する Waroom の回答

Commander にはさまざまな情報を整理し、適切に管理・統制する責務がありますが、ストレスフルな状況下でこれを行うのは非常に難しいことです。 そのため、Waroom には「Incident State Document」というインシデント中に発生した事象を AI でまとめる機能があります。

WaroomのIncident State Document

この機能は、インシデント起票時に作成される対応用 Slack チャンネルに投稿されたメッセージをリアルタイムで要約します。これにより、インシデント中に起こったイベントを誰でも Waroom から確認できるため、Commander が情報共有に割く負担を大幅に軽減できます。 また、ドキュメントのテンプレート機能を活用すれば、要約内容を「顧客向け」の文章としても利用できます。

docs.waroom.com

一方で、Incident State Document のように現在の状況を文章ベースで整理してくれる機能は存在しますが、より複雑な状況を視覚的に表現する機能はまだありません。 そこで将来的には、Commander 向けの状況整理用コンソールの実装を構想しています。その画面では、以下のような情報を視覚的に閲覧できるようにするイメージです:

  • 各 Responder のタスク一覧と進行状況
  • インシデント中に発生した重要イベントの記載
  • ステークホルダーとの循環的で複雑なやり取りの可視化(Runbook のような直線的な進行ではなく)

加えて、タイムマネジメントなどの時間管理業務についても AI を活用して代替できるようにしたいと考えています。

この手法がうまくいけば Commander はコンソールに存在する手順を順々に実行もしくは承認していけば良いことになるので Commander 不足の問題も解決する一手となると考えています。

最後に

今回の記事では、「Commander」に求められる能力や難しさについて取り上げました。 特に、Commander がマネジメントすべきリソースのうち「情報」を、複数の相手に適切な順序・タイミングで共有する難しさについてわかっていただけたかと思います。次回は再び Incident Commander に焦点を当てつつ、メイントピックである IMS(インシデントマネジメントシステム)について取り上げていく予定です。

最後に少し宣伝をさせてください..

Topotal では「インシデント対応を楽にする」Waroom バックエンドエンジニア(Ruby on Rails)を募集しています。 最近では、Waroom をより便利に活用できるような機能として Webhook 機能を絶賛開発中です。エンジニアとしてインシデント対応中にあったらいいな!と思える機能も積極的に取り組んでいますのでぜひ、気になった方はカジュアル面談の予約をお願いします!

jobs.topotal.com

Topotal入社1週間で感じた、SRE as a Serviceという働き方と日常

2025年9月から同社に入社しています、VTRyoです。一週間と少し経過しました。

だんだん慣れてくると何が他社と異なるかわからなくなってきますので、まだ新鮮なうちにTopotalの日常を紹介していこうと思います。

ちなみにこのTシャツは入社とともに自宅に発送されます。

Topotalとは

Topotalは「事業成長に伴う技術課題をSREによって解決する組織」です。在籍する社員のほとんどがSREで構成されており、お客様のサービスに対してSRE as a Serviceを提供しています。

また、WaroomというインシデントマネジメントのSaaSも展開しています。

topotal.com

ギルド構造で働くTopotalの日常

分散型チームでよく課題となる「情報共有の難しさ」や「知識の属人化」といった問題に対して、Topotalでは積極的に取り組む工夫が実装されています。

バディ制による協力体制

SRE as a Serviceにおけるお客様のご支援については、必ず2名以上がアサインされるようになっています。

ひとりで担当するということはなく、互いに協力しながら社内のSlackやGather(バーチャルオフィス)を使って相談しながら進めています。

この体制により、知識の属人化を防ぎ、品質の向上と継続性を担保しています。

またどちらかが不在となっていても、お互いに助け合いながら進められる安心感もまた精神的に重要です。

ノウハウの自動収集と共有

組織にとって情報のサイロ化は常に課題になります。DevOpsを体現するSREは、この問題を解決すべく頭を悩ませます。

Topotalにおいては、まだ少数精鋭組織という前提もありますが次のようなことが実施されています。

  • 定期的なLT会の開催
  • ノウハウを自動的に収集してドキュメント化される基盤(Topotal SRE Document)

Waroomのドックフーディング&LT会
Waroomのドッグフーディング&LT会(ゆるふわ)

Topotal SRE Document
Topotal SRE Document

実際にメンバーが経験した技術的な内容にアクセスできる環境は今まで在籍した組織でも整っていないことが多く、この仕組みは特に印象的でした。

20%ルール: 毎週金曜は自社改善デー

毎週金曜日は、メンバー全員が自社の改善に時間を当てています。

Topotal社員のほとんどがSREで構成されていることから、社内のToilには敏感です。もちろんソフトウェアによって解決すべく、このような日が設けられています。

スタートアップとして継続的に改善・構築する必要があるフローは多くありますが、そうした活動をこの日に実施しています:

  • Software Engineering - 業務プロセスの自動化。社内業務用のCLI改善なども
  • Platform Engineering - Topotal社内の基盤改善(k8sやTerraformのメンテナンス、クラウド基盤のコスト管理など)
  • SRE Advocacy - ブログ(社内・社外問わず)、登壇、コミュニティ活動、勉強会の開催など

これらの活動は、Squad単位(共通の目的を持ったグループ)で行っています。

私はもともと外部発信が得意なので、まずはSRE Advocacyに参加しています。

珍しくなったフルリモートワークの実際

Topotalはフルリモートワークを採用しており、私は個人的な事情で出社が極力必要のない職場を探していたため、この点でマッチしました*1

福利厚生として提供されるリモートワーク手当(毎月1万円分のお菓子、炭酸水、備品など)も実用的でありがたく感じています。

「そんなこと言って〜、いつか出社しようっていう話が出るんじゃないの〜?」と懐疑的になる私。

times芸人は今日も元気ですね
times芸人は今日も元気ですね

弊社には出社すべきオフィスがありませんので、安心してください。

出社すべきオフィスがないので回帰する物理出社もない

コミュニケーションは基本的にSlackかGather

オフィスがないため、メンバーは基本的にSlackかGatherというバーチャルオフィスで話をしています。 バーチャルオフィスにあまり明るくはなかったのですが、操作は案外簡単です。

バーチャルオフィス Gather
バーチャルオフィス Gather

会議の時間になると、大きな部屋にテクテク歩いていくことでそのスペースにいるメンバーと会話できるようになります。それ以外のときは、自分の席(論理)でマイクもカメラもオフにしていることがほとんどです。

事業会社のSREだった私から見た、SRE as a Serviceが持つ可能性

さてここからは私が所属している事業の話になります。

SRE as a Serviceとは『サービスの価値を最大限に引き出すためのエンジニアリングを提供するサービス』です。

自社サービスのSREとは大きく異なり、私たちはお客様のサービスに対して活動します。これまでずっと自社サービスのSREとしてやってきたため、Topotalがどのような支援活動を行っているのかオンボーディングで詳しく学びました。

実際にSRE as a Serviceをご利用いただいた企業の方々の声も参考になります:

前職の私は、非常に多くのプロダクトチームを抱える事業会社であったため、別のチームの支援に参加すると全く違う文脈とルールで支援していました。まるで同じ会社とは思えないほどです。むしろそれが、SRE as a Serviceという事業に貢献できるかもと思ったきっかけです。

Topotalのように多くのお客様の支援ができる場所にいることで、業界全体の信頼性工学に貢献できると思っています。

SRE as a Serviceのビジョン

TopotalのSRE as a Serviceが目指す将来像は、私が常々考えていた世界観に似ていました。

Topotal の考える "SRE as a Service" の将来像は、2019 年の SRECon EMEA にあった発表の SRE in the Third Age や、2020 年の Grafana のブログの What does the future hold for Site Reliability Engineering? に登場する "SRE as a Service" のように、向き合う先を支援先の SRE チームからどんどん広げ、SRE の考え方をビジネス自体に紐づかせ、組織内のほとんどのエンジニアが SRE のプラクティスを活かしたツールやサービスを享受し、それぞれの開発チームが自律的に信頼性のコントロールができるような組織を作ることをより支援できるような形にしたい

昨今のSREは多様化しており、その中でもEnabling SRE*2という分類があります。SRE as a Serviceは、この形式に最も近いのではないかと考えています*3。自社内でEnabling活動をするか、TopotalがEnabling活動をするかの違いはあれど、信頼性工学という文化を組織にインストールする方向性は私の理想とするSREと一致していました。

VTRyoが事業会社でEnabling SREをしていたときの組織構図
VTRyoが事業会社でEnabling SREをしていたときの組織構図

このような世界観であるため、あるフェーズまで来たらSRE as a Serviceを必要としなくなるフェーズが訪れると思います。しかし、それこそがSRE as a Serviceのひとつの成功とも言えるでしょう。そして私は、その世界を実際に見てみたいと思っています。

SREは職種ではない。だからこそSRE活動を組織に浸透させていく

SREという言葉は割とバズワードです。SREがほしい……! という多くのお客様に弊社は支えられています。しかし支援なしにサービス運用が可能になることも、私たちにとってもひとつの成功であります。

世界で初めてのSREとしての役割を果たしたとされるマーガレット・ハミルトン氏が活躍した当時、ソフトウェアエンジニアリングという言葉もありませんでした。 それでも彼女の生き方は現代のSRE活動そのものだった*4のですから、私たちも自分がSREであるかどうかは関係ありません。

wired.jp

SREを自認していなくても、「このサービスはユーザの目的を果たせるか」について考え抜いている間は、その役割を果たしています。

SREは職種ではなく、生き様なのです。

おまけ: CEOもCTOもSREの会社あるある

インフラに関する問題があっても気づかないうちに修正されてました。

こういうのってたいていSREチームに連絡が来るのが常ですけど、よく考えたら私たち全員SREでした。ガハハ。

ドメイン転送設定が解決されている様子
ドメイン転送設定が解決されている様子

TopotalではSRE as a Serviceとして業界の信頼性に貢献したいソフトウェアエンジニアを募集しています

現役SREのCEOとのカジュアル面談は、なんといつでもこちらから応募できます!!!!

Topotal 採用情報 -> カジュアル面談はこちら! の部分まで下にスクロールする

カジュアル面談はこちら

*1:状況やイベントによってはその限りではありません

*2:信頼性に関連する知識を組織に浸透させ、活用できるようにするSREを指すことが多い。実際に手を動かしながら、現場と伴走していくケースが主流だと認識しています

*3:Platformに関わることをしていないか? 実際に手を動かさないのか? というと、そうではありません。Topotalがどのような内容で支援するかは、お客様と決定されます

*4:彼女が、オペレーターやシステムが失敗することを前提に設計し実装していなければ、アポロは月に人を運べなかったのです