イベント
イベントとは何を意味するのでしょうか?
最近では、多くのアーキテクチャがイベント駆動型になっています。イベント駆動型アーキテクチャでは、イベントは異なるシステムからのシグナルであり、それを捕捉して他のシステムに渡します。イベントは通常、状態の変更または更新を表します。
例えば、e コマースシステムでは、商品がカートに追加されたときにイベントが発生する可能性があります。このイ ベントを捕捉し、システムのショッピングカート部分に渡して、商品の詳細とともにカート内のアイテム数と合計金額を更新することができます。
一部のお客様にとって、イベントは購入完了などの マイルストーン である場合があります。ワークフローの完了時点を集約してイベントとして扱うという考え方もありますが、ここではマイルストーン自体をイベントとは考えません。
イベントが有用な理由
オブザーバビリティソリューションにおいて、イベントが有用な主な方法は 2 つあります。1 つは他のデータのコンテキストでイベントを可視化すること、もう 1 つはイベントに基づいてアクションを実行できるようにすることです。
イベントは、ワークロードの変更やアクションについて、人間やマシンに価値のある情報を提供することを目的としています。
イベントの可視化
アプリケーションから直接得られるものではありませんが、アプリケーションのパフォーマンスに影響を与えたり、根本原因の分析に役立つイベントシグナルが多数存在します。 ダッシュボードはイベントを可視化する最も一般的な手段ですが、分析やビジネスインテリジェンスツールもこの目的で使用できます。 メールやインスタントメッセージングアプリケーションでも、容易に可視化結果を受け取ることができます。
Web フロントエンドでの注文処理時間など、アプリケーションのパフォーマンスを示す時系列チャートを考えてみましょう。 時系列チャートを見ると、数日前にレスポンスタイムが段階的に変化したことがわかります。 最近のデプロイメントの状況を知ることができれば有用かもしれません。 最近のデプロイメントの時系列チャートを並べて表示したり、同じチャート上に重ねて表示したりすることを検討してみてはいかがでしょうか?
より広い文脈を理解するために、どのようなイベントが有用かを検討してください。 重要なイベントとしては、コードのデプロイメント、インフラストラクチャの変更イベント、新しいデータの追加(販売する新商品の公開や、ユーザーの一括追加など)、機能の変更や追加(カートへの商品追加方法の変更など)が考えられます。
重要なメトリクスデータと共にイベントを可視化することで、イベントの相関関係を把握することができます。