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

SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史

SRE Kaigi 2026に登壇した際の資料になります。

Avatar for Masaki Ishigaki

Masaki Ishigaki

February 02, 2026
Tweet

Other Decks in Technology

Transcript

  1. 法務AIのグローバルリーダー 7,500+ 顧客数グローバル7,500社を突破 600人 従業員数 7拠点合計 (東京‧⼤阪‧福岡‧名古屋‧サンフラン シスコ‧ロンドン‧ミュンヘン) 20人 弁護⼠資格保有者数

    ⽇本、NY州、CA州、ドイツの資格者を含む 1000+ 導⼊上記業者数 / 前上場企業者数 3,800社 200人 開発チーム⼈数 286億円 ゴールドマン‧サックス、ソフト バンクなどが出資。全調達ラウン ド累計
  2. 法務・契約領域で幅広く最先端の リーガルテックソリューションを提供 法務・契約業務支援 経営支援 世界⽔準の法務 AIで法務業務⽀ 援 様々なコンテン ツでAIリーガル リサーチ⽀援

    オンライン法務 学習⽀援サービ ス 契約学習メディ アとコミュニ ティを提供 AIコーポレート ガバナンスプ ラットフォーム 組織の規範運⽤ をAIで⾃動化す るAIカウンセル
  3. LegalOn開発の歴史 2023年3⽉ キックオフ 2024年4⽉ LegalOn Cloud リリース 2024年7⽉ US版の開発開始 2025年7⽉

    US版リリース& 「LegalOn Cloud」を 「Legal On」に リブランディング 弊社主⼒プロダクトであるLegalOnは、開発開始からわずか2年弱でグローバル展開する プロダクトとなった
  4. 形骸化してしまった SLO - LegalOnリリース時に設定した SLO 一応リリース時には、 SLOを設定してみたのです、、、 扱いやすい microservice APIのAvailability

    / LatencyのSLOから始めることにした • Availability / Latency SLIは、それぞれistio GatewayからGatewayに接した microserviceに対するrequest_countとresponse_latency • SLOのtarget値は、開発チームのEngineering Managerと協議の上決めた • Burn Rate Alertも設定 ここでの後悔は、SLOのEnablingがままらないまま SLOの値を決めさせてしまったこと💦 「SLOの理解がままならないのに、SLOについて決め ることは難しいよね」というのが教訓でした、、、
  5. 形骸化してしまった SLO - LegalOnリリース時に設定した SLO 次第にBurn Rate Alertが”オオカミ 🐺少年化”してしまい、最終的には SLOの運用を取りやめた

    • リリース当初はErrorのハンドリングが適切でないケースが多く、 Burn Rate Alertが発火しても実際に は使用上問題なかったケースが多かった • そもそもObservabilityが担保されていない状態であったので、 Burn Rate Alertが発火したとしても、 Alert発火後の調査が難しかった • SLOを決めるだけで、Error Budget Policyを定めるなどして、運用面などの取り決めまで行えていな かった
  6. 形骸化してしまった Postmortem LegalOnリリース時に、 Postmortem運用も導入を することにはした 一応リリース時から、 Postmortemもやってました、、、 当初の運用 高いレベルのインシデントが発生した際は Postmortemを行い、再発防止策の取り決めまで

    行ったが、実際に再発防止のアクションまで取られ るケースは少なかった →リリース後しばらくは新機能開発のスケジュール がタイトな状態が続いたので、抜本的な対策まで手 を出すことが難しい状態であった 形骸化の現実 次第にPostmortemも”実施して終わり”という状況が散見されるようになった 😢 崩壊していくPostmortem
  7. 対策① - Postmortem運用の改善 ⭐ Postmortemに記載すべき項⽬を簡略化し、重要なポイントだけに絞るようにした -> ✅ 課題”Postmortem項⽬の複雑化”の解消 ⭐ Notion内に、Postmortem⽤のNotionDBとPostmortem

    Action Item(=再発防⽌策)⽤のNotionDBを 作成して、それぞれ個別に管理するようにした -> ✅課題”NotionDB管理の難しさ”の解消 ⭐ 再発防⽌策を決める時は優先順位を設定するようにして、急いでやるべきものを選別するようにした -> ✅ 課題”再発防⽌策の未実⾏”の解消
  8. 開発ライフサイクルの各ステップの開発体験向上を目指す Akupara Interface Build Test Deploy Operate Platform Infrastructure Proto

    生成コード管理 言語毎のテンプレート 言語毎のライブラリ CI テンプレート Playwright Job デプロイ時自動実行 継続的負荷試験 ドキュメント サポート Production readiness Check GitOps デプロイ DB マイグレーション 単発 Job の実行 Feature flag 依存関係のある Job 実行 「LegalOn」 開発者 モニタリング ダッシュボード SLO ベースのアラート エラー発生時のログ、 メトリクス、トレース連携 脆弱性管理 暫定的権限昇格 Kubernetes 管理 DB 管理 FinOps セキュリティ認証対応 各種法令準拠 サービスメッシュ Web Application Firewall CDN トレーニング オフィスアワー サービスカタログ
  9. これまでの Observability これまで弊社ではObservabilityツールとして、Google Cloud Observability (Cloud Monitoring / Trace /

    Logging)のみを使⽤していた Observabilityの向上&self-service化を進めていくために以下のことを実施したかったが、Google Cloud Observabilityだけでは難しい側⾯があった • 各microservice⽤のDashboard作成を抽象化するためのTerraform Moduleを作りたい -> Google Cloud Terraform Providerでは、うまく抽象化するのはやや難しい • APIごとにAvailability / Latencyを測りたい -> Cloud Traceにはspanをmetricsに変更する機構がな いので、やるのであれば⾃前計測 • Frontendの監視をしたい -> Google Cloud ObservabilityにはFrontend監視に特化した機能はない
  10. ObservabilityツールをDatadogに移行 Akupara⽤のObservabilityツールとして、Datadogも導⼊することに!! ペインポイントの解消 • 各microservice用のDashboard作成を抽象化するための Terraform Moduleを作りたい -> Datadogには powerpackという機能がありdashboard横断で使うwidgetを定義することができ、これをうまく使うことで

    Dashboard作成をTerraformで抽象化できる • APIごとにAvailability / Latencyを測りたい -> Datadogではtraceを送信すると、spanをmetricsに変換し てくれる • Frontendの監視をしたい -> DatadogにはFrontend監視ツールとしてReal User Monitoringがある
  11. Obserbility周りの課題の一つに traceが計装さ れていないmicroserviceが存在するというもの があった Trace拡充 - OpenTelemetryのZero-code instrumentation trace未実装のものはPythonで書かれた microserviceに多かった

    PythonはOpenTelemetryのZero-code instrumentationが利用できるので、まずこれ を利用してtraceを拡充することに!! LegalOnのmicroserviceは 主にGo、Java、Pythonで 構築されている
  12. Trace拡充 - PubSub間trace 幸運にも、Cloud Pub/Sub用のlibraryには、OpenTelemetry Tracingを自動で 行ってくれる機能があるので、これを有効化して spanの送信とContextの伝播を 行った LegalOnではCloud

    Pub/Subを利用した非同期 処理が多く、この非同期処理に起因した障害も 数多く発生していた Pub/Sub間をtraceで繋ぐことで、非同期処 理の見える化を行った
  13. k8s-genを用いたObservability設定の抽象化 k8s-genとは、以下のような機能を有したツール • 標準化されたkubernetes manifest、ディレクトリ構成を生成 ◦ server, worker, jobなどPodの役割に応じて適切な manifestが生成される

    • microservice数の増加に伴うmanifest管理の複雑化の防止 ◦ マニフェスト作成・更新の属人化を回避 • セキュリティのベストプラクティスも含まれており、開発者は意識することなく infraをセキュアな状態にす ることができる k8s-genをupdateして、開発者が意識することなくObservabilityの設定ができるようにした
  14. Postmortem改善後日談 • Postmortemの改善を⾏ったが、今回⾏った改善だけで完全に良くなったという訳ではもちろんな く、まだまだ改善の余地はある • 実際に、templateをもう少し改善してほしいという声も上がっている • ただ、開発者内で自律的にフィードバックループが回りだしたようなので、 SREとしては適宜それをサ ポートしていけば良いと考えている

    ◦ 開発チームの方で、 Postmortem改善のタスクフォースが立ち上がって、日々改善に取り組まれて いる SREが改善の最初の一歩を踏み出したことで、そこに続く形で開発チームで自律的に改善を進めるように なってくれたので、今回の改善はやってよかった
  15. Observabilityの推進 - Documentation ⼀回説明会を実施しただけで、すぐに使えるよ うになるわけはないので、Akupara Guidelineと して、今回作成したObservability-Kit / SLO-Kit のDocumentも⽤意

    ツールの使い⽅だけでなく、開発者がiterativeな計装を⾏っ ていけるように、計装ガイドラインみたいなものも今後⽤ 意していきたいと考えている
  16. SLOの推進 - Embed Stream Aligned Team LegalOn Team A Team

    B Team X … LegalOnは複数のStream Aligned Teamによって開発されている SRE Core機能開発チーム mission criticalな機能を開発している Stream Aligned TeamにFocusしてSREが Embed 定期的に開催されるProduction Meeting(※)を通して、開発者とSREでSLOの運⽤を⾏っている ※Production Meeting: “Site Reliability Engineering”のChapter 31(https://sre.google/sre-book/communication-and-collaboration/)にて紹介されている、コミュニ ケーションの⽅法
  17. SLOの推進 - microservice SLOを超えてCUJ SLOへ SLO-Kitによって、microservice単位でSLOを簡単に作成して運⽤できるようになったものの、、、 “プロダクト全体がHealthyか否か”を判断する基準が策定したいという要望が開発責任者から上がって きた Critical User

    Journey(CUJ)に基づいたSLOの必要性   現在、プロダクトのステークホルダーとともにCritical User Journeyを整理している 近い将来、CUJベースのSLOの運⽤を開始して、プロダクト全体の監視ができるような体制を敷いていく 予定