About
CARTA HOLDINGSの24新卒のebikunです。この記事はCARTA Advent Calendar 2023の4日目を担当しています。
最近入門監視を社内の読書会で読んでいたので今回はそのまとめを書いていこうと思います。
Webアプリケーションの設計トレンドはフロントエンド/バックエンドの間ではMPA,SPA,SSR...と処理の複雑さをどちらに寄せるかという議論のもとで技術の螺旋を描くようにここ十年来移り変わり、インフラ方面の設計ではモノリス、マイクロサービス、モジュラーモノリスとさまざまなパターンが存在します。
しかしそのような変化の中でも変わらない監視の基本とそれを実践できるポイントを簡潔にまとめることにします。
ポイント
メトリクスはある関心ごとからの質問に答えるためのものである
さて、ビジネスには多くの人が関わっています。
そのビジネスに関わる人の立場によって関心ごとは異なりますし、それに対応するメトリクスも異なります。
例えば経営者の関心ごととそれに対応するメトリクスはこのようになるでしょう。
関心ごと | メトリクス |
---|---|
成長しているか、縮小しているか、停滞しているか | 課金顧客の数 |
どのくらい利益が出ているのか | 月次経常収益、顧客あたりの収益、粗利(売総) |
顧客は喜んでいるのか | ネットプロモータスコア、解約数 |
しかしエンジニアリングの専門知識をもってビジネスを監視するとなると、ビジネスのメトリクスを技術的なメトリクスと結びつける必要が出てきます。それを行うのが 「外側からの監視」 です。
外側からの監視
サービスの利用者の行動と直接結びついたメトリクスを監視するようにします。
例えばGoogleのように検索プラットフォームを提供している事業者の場合、「1日あたりの検索数」は間違いなく監視すべきメトリクスになるでしょう。
これらのメトリクスを計測することで問題が発生しているかもしれないことに気づくことができます。例えば検索機能が壊れていたり通常より遅くなっている場合、検索実行数は下がるでしょう。長期的に見ればこのようなメトリクスは比較的安定しているはずですから、メトリクスに変動があれば一目でどのサービスが良くてどのサービスがダメか分かります。もちろん具体的に何が悪いかまでは分かりませんがビジネスが提供する各サービスの調子を表すという意味では十分です。
TIPS
-
外側からの監視をするにあたっては「成功率」よりも 「失敗率」を計測した方が効果的です。
例えばゲームアプリであれば「課金アイテムの購入失敗数」、メッセンジャーアプリであれば「メッセージ送信失敗数」といった具合です。成功を監視していてもアプリが動作しているかどうかという質問には答えられませんが、失敗を監視していればその質問に答えられます(もちろん詳細な原因は分かりませんが)。 -
何を監視すれば良いか分からない場合、まずはプロダクトマネージャと話してみましょう。利用者がどのようにアプリを使っていて、それぞれの機能はどう動いていたら良いのか、主要なKPIは何かといった具合です。インフラの構成図を描いて、そこに機能をマッピングしてみるのも良いです。何を監視すべきかのヒントになるでしょう。
<続きは私が業務で監視に本格的に関わることになった時に書きます(力尽きた)>