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

映えないObservability

Avatar for MonotaRO MonotaRO PRO
October 26, 2025
60

 映えないObservability

Avatar for MonotaRO

MonotaRO PRO

October 26, 2025
Tweet

More Decks by MonotaRO

Transcript

  1. 2/54 自己紹介 岩永 一希 / Kazuki Iwanaga 株式会社MonotaRO Platform Engineering部門

    SRE 2023年入社 レガシーな基幹システムのO11y改善に取り組んでいます!
  2. 8/54 モノタロウが扱う「間接資材」の特徴 間接資材の調達には ロングテール × 多品種 × 複雑な購買プロセス という性質がある →

    買う頻度は少ないのに探すのも買うのも手間! 多 少 購 入 量 ・ 全 額 企業の購買品の構成イメージ ヘッド ・購入プロセスの効率化がしやすい ・商品データ登録済 ・有利な条件で購入 ロングテール ・リピート購入がない ・都度購入品 ・拠点別購入品 ・商品データ未登録 ・メンテが困難 ・見える化ができない ヘッド商品とロングテール商品の割合 [ヘッド] [ロングテール] 80% 20% 20% 20% 80% 80% 手袋 テープ 工具 ナット 例えば… 金額 品目 手間
  3. 12/54 EC事業の成長モデル 利便性 時間節約 購買体験 売上 System:サイト構造, 推薦枠, etc. 取扱商品数

    増 System:受発注, 在庫管理, etc. サイトが複 雑で探しづ らい 物流キャパ は有限なの で全部は在 庫できない 品揃え改善 商品採用へ (省略) すぐ 見つかる すぐ届く 取り扱い がある
  4. 13/54 EC事業の成長モデル 利便性 時間節約 購買体験 売上 System:サイト構造, 推薦枠, etc. 取扱商品数

    増 System:受発注, 在庫管理, etc. DS: 発注点計算, 在庫判断, etc. DS: 検索・推薦, SEO, 広告, etc. サイトが複 雑で探しづ らい 物流キャパ は有限なの で全部は在 庫できない パラメータ 最適化 パラメータ 最適化 購買行動 受 発 注 ・ 入 出 荷 実 績 品揃え改善 商品採用へ (省略) すぐ 見つかる すぐ届く 取り扱い がある どの商品やユーザーに何を適用するかを最適化 Systemは最適化に使える選択肢を用意
  5. 14/54 モノタロウの強み 利便性 時間節約 購買体験 売上 System:サイト構造, 推薦枠, etc. 取扱商品数

    増 System:受発注, 在庫管理, etc. DS: 発注点計算, 在庫判断, etc. DS: 検索・推薦, SEO, 広告, etc. すぐ 見つかる すぐ届く サイトが複 雑で探しづ らい 物流キャパ は有限なの で全部は在 庫できない パラメータ 最適化 パラメータ 最適化 取り扱い がある 購買行動 品揃え改善 商品採用へ (省略) 間接資材 在庫しづらい ロングテール ビジネス要求を 反映しやすい 内製システム 蓄積した 購買行動や実績 のデータ 受 発 注 ・ 入 出 荷 実 績 どの商品やユーザーに何を適用するかを最適化 Systemは最適化に使える選択肢を用意
  6. 17/54 モノタロウの複雑性 事業成長 ↓ レコード増加 商品, 顧客, サプライヤ数, etc. トランザクション増加

    ドメインロジック増加 ↓ 複雑化 すぐ 見つかる すぐ届く 取り扱い がある
  7. 18/54 ドメインモデリングやシステムモダナイゼーションの動機 長年のビジネス/組織の拡大によって生じた不要な複雑性が付随し、 本来取り組むべき課題、複雑性に集中できなくなっていることが問題 → これを取り除き、業務とシステムの変更容易性を再び取り戻すことが必要 っっx 取り組むべ き課題 不必要な複雑性、

    煩雑さ 以前 現状 現状 現状 未来 っっ x っっ x っっ x っっ x っっ x っっ x 不必要な複雑性が増え た結果、本来取り組むべ き課題に集中できない 課題を分割すること、不必要な煩雑さ を減らすことで、本来取り組むべき課 題に向き合える状態になる
  8. 19/54 システムモダナイゼーション 利便性 時間節約 購買体験 売上 System:サイト構造, 推薦枠, etc. 取扱商品数

    増 System:受発注, 在庫管理, etc. DS: 発注点計算, 在庫判断, etc. DS: 検索・推薦, SEO, 広告, etc. すぐ 見つかる すぐ届く サイトが複 雑で探しづ らい 物流キャパ は有限なの で全部は在 庫できない パラメータ 最適化 パラメータ 最適化 取り扱い がある 購買行動 受 発 注 ・ 入 出 荷 実 績 品揃え改善 商品採用へ (省略) どの商品やユーザーに何を適用するかを最適化 Systemは最適化に使える選択肢を用意 ビジネス要求を より早く反映できる 変更容易性がほしい ↓ ドメインモデリング マイクロサービス化 など
  9. 21/54 モノリスからマイクロサービスへ (ECサイト側) nginx BFF FEアプリA FEアプリB Product Search Customer

    Recommend Order Cart Product microservice FEアプリA FEアプリB nginx API① API② モノリス期(~2023) マイクロサービス化過渡期(2023~現在)
  10. 34/54 モノタロウの場合 レガシーな環境 基幹システム モダンなO11y 分散トレーシング correlation モダンな環境 ECサイト ユースケースを

    制限したO11y 前提にギャップがある e.g., 巨大なモノリス 実現可能 × 疑問の集合 O11yで答えられる範囲 システム的な制約(破線) マイクロサービス化が進んでいる Datadog APMやOtelも導入可 オンプレに大量のモノリスなバッチ 例えば、頻出する特定の問合せや エラー対応の改善に絞ってログを仕込む 帯域幅上限 手動テスト 環境差異多すぎ ライブラリ制限 ローカル開発不可 etc.
  11. 41/54 システム制約 • 外部ライブラリを追加しづらい問題 → OpenTelemetryは当然使えない... • オンプレ帯域幅問題 → テレメトリがdropや他サービス影響の可能性

    • トレース巨大すぎ問題 ◦ 多い時は一度に100受注以上まとめて処理するモノリスな巨大バッチ ◦ 受注・在庫・発注・倉庫など多くの基幹DBを触るためトレースが巨大 ◦ datadogで表示できなかったのでDBのspanを削除... • リリースタイミングが限られている問題 ◦ 実際の受注データを大量に流して機能・非機能面で問題がないかシミュレー ションしてから本番リリースをしていた ◦ 手動対応が必要かつ時間がかかるものだったためいつでもできるというわけ ではなく、あらかじめ決められたタイミングでのみリリースが可能だった
  12. 45/54 EC事業の成長モデル(再掲) 利便性 時間節約 購買体験 売上 System:サイト構造, 推薦枠, etc. 取扱商品数

    増 System:受発注, 在庫管理, etc. DS: 発注点計算, 在庫判断, etc. DS: 検索・推薦, SEO, 広告, etc. すぐ 見つかる すぐ届く サイトが複 雑で探しづ らい 物流キャパ は有限なの で全部は在 庫できない パラメータ 最適化 パラメータ 最適化 取り扱い がある 購買行動 受 発 注 ・ 入 出 荷 実 績 品揃え改善 商品採用へ (省略) どの商品やユーザーに何を適用するかを最適化 Systemは最適化に使える選択肢を用意
  13. 46/54 モノタロウの成長モデル(再掲) 利便性 時間節約 購買体験 売上 System:サイト構造, 推薦枠, etc. 取扱商品数

    増 System:受発注, 在庫管理, etc. DS: 発注点計算, 在庫判断, etc. DS: 検索・推薦, SEO, 広告, etc. すぐ 見つかる すぐ届く サイトが複 雑で探しづ らい 物流キャパ は有限なの で全部は在 庫できない パラメータ 最適化 パラメータ 最適化 取り扱い がある 購買行動 品揃え改善 商品採用へ (省略) 間接資材 在庫しづらい ロングテール ビジネス要求を 反映しやすい 内製システム 蓄積した 購買行動や実績 のデータ 受 発 注 ・ 入 出 荷 実 績 どの商品やユーザーに何を適用するかを最適化 Systemは最適化に使える選択肢を用意
  14. 47/54 いわゆるObservability 利便性 時間節約 購買体験 売上 System:サイト構造, 推薦枠, etc. 取扱商品数

    増 System:受発注, 在庫管理, etc. DS: 発注点計算, 在庫判断, etc. DS: 検索・推薦, SEO, 広告, etc. すぐ 見つかる すぐ届く サイトが複 雑で探しづ らい 物流キャパ は有限なの で全部は在 庫できない パラメータ 最適化 パラメータ 最適化 取り扱い がある 購買行動 品揃え改善 商品採用へ (省略) システムが正しく 動作し、価値提供 を行えているか 引当の事例もそう 受 発 注 ・ 入 出 荷 実 績 どの商品やユーザーに何を適用するかを最適化 Systemは最適化に使える選択肢を用意
  15. 48/54 目指したいObservability(?) 利便性 時間節約 購買体験 売上 System:サイト構造, 推薦枠, etc. 取扱商品数

    増 System:受発注, 在庫管理, etc. DS: 発注点計算, 在庫判断, etc. DS: 検索・推薦, SEO, 広告, etc. すぐ 見つかる すぐ届く サイトが複 雑で探しづ らい 物流キャパ は有限なの で全部は在 庫できない パラメータ 最適化 パラメータ 最適化 取り扱い がある 購買行動 品揃え改善 商品採用へ (省略) 「ビジネスの成長 サイクルが正しく 回せているか?」 という疑問に 答えるためのO11y 受 発 注 ・ 入 出 荷 実 績 どの商品やユーザーに何を適用するかを最適化 Systemは最適化に使える選択肢を用意 Q. いつ誰のどの 最適化(自動・手 動)の効果は どれくらいだった か(ABテスト風)
  16. 49/54 直近の取り組み 利便性 時間節約 購買体験 売上 System:サイト構造, 推薦枠, etc. 取扱商品数

    増 System:受発注, 在庫管理, etc. DS: 発注点計算, 在庫判断, etc. DS: 検索・推薦, SEO, 広告, etc. すぐ 見つかる すぐ届く サイトが複 雑で探しづ らい 物流キャパ は有限なの で全部は在 庫できない パラメータ 最適化 パラメータ 最適化 取り扱い がある 購買行動 品揃え改善 商品採用へ (省略) 受 発 注 ・ 入 出 荷 実 績 どの商品やユーザーに何を適用するかを最適化 Systemは最適化に使える選択肢を用意 需要予測を元にした 在庫判定・発注点など が正しく基幹システム に反映されているか? 手動で修正した場合な ども追跡できるか? 基幹システムだけでなく Supply Chain Managementの部門も含 めて定期的に議論中 Est. 12:36
  17. 50/54 映えないObservabilityの先にあるもの Observabilityで解決したい問題を明確にすること 曖昧なunknown unknownのままにしないこと → 「いわゆるObservability」ではない領域への応用の可能性   制約のある環境・レガシーな環境や純粋なシステムでないものなど 例えば、開発生産性向上の取り組み

    開発・運用プロセスに関するObservabilityと改善活動 モダンなシステムや文化がない(=前提条件のギャップ)と Four Keysを見てもアクションにつながらなかったりする(実体験) → 個々のチームの具体的な課題と向き合う   e.g., レビュー待ちが長い, そもそもボトルネックが何か分からない