scent-yのブログ

学んだことや感じたことの備忘録

オブザーバビリティ・エンジニアリング第2章「オブザーバビリティとモニタリングにおけるデバッグ方法の違い」を読んで

モニタリングは既知のバグに関してデバッグしたい場合は有効だが、未知の不具合では十分に機能しない、ということをこの章では読み取った。 下記、読んで覚えておきたいことのメモ。

  • 従来のモニタリングツール
    • システムの状態をしきい値と照合し、過去に発生したエラーの状態が存在するか否かを示すことで機能する。リアクティブ(反応的)なアプローチであり、過去に発生した不具合を特定する場合にのみ有効
  • メトリクス
    • 特定の時間感覚における記録されたシステムの状態を、数値で表したもの
    • しきい値の設定は人間の判断による
  • ダッシュボード
    • デバッグで新しい問題を発見するのには向いてない
    • 探すべきだと把握してないものを見つけることができない
  • 最高のデバッガーが、チームに一番長く勤める人になってないか
    • システムに関する知識のほとんどが、ツールのような方法からではなく、個人の実地体験からだけ得られていることを示す致命的な兆し
  • モニタリング
    • 既知の問題や以前特定されたパターンを検知するのには最適な、リアクティブなアプローチ
    • 直感や勘を大切にするリアクティブなモニタリングベースのアプローチは、確証バイアスによって問題の本当の原因を見えなくしてしまう傾向がある
    • 問題が発見された場合、そのパターンが以前発生した問題とどれくらい似ているかということに基づいて判断される
  • オブザーバビリティがある場合
    • 問題がどこでどのように発生しているか、最初に予測する必要がない
  • 組織的知識
    • 人によって把握の度合いに偏りがある、不文律の情報
    • モニタリングベースのアプローチでは、デバッグが以前から知られていたパターンを解析した経験に基づいて行われるので、チームに最も長く勤めている開発者が最高のデバッガーになりがち
    • オブザーバビリティでは、根本的に違う方向に向かう
    • オブザーバビリティでは最高のデバッガーは、最も好奇心旺盛なエンジニア
    • オブザーバビリティとはあるシステムに関する深い知識で調査上の直感を与えるのではなく、異なるシステム間で通用する熟練した調査能力を評価すること