Netflixエンジニアリングチームは先頃、さまざまなデータソースを利用してアプリケーションの一般的な状態を学習する監視およびアラートツールであるTelltaleについてブログを投稿した。Netflixアプリケーションが直面している100以上のプロダクションの状態を監視することで、Telltaleはインテリジェントなインシデント管理ツールとしても機能する。
アプリケーションの状態を理解するためにメトリックが非常に重要であるため、Telltaleはアプリケーションからの関連データのみを表示する。また、アプリケーションの全体的なヘルスの観点から不可欠な、近くのデプロイメントやリージョンのトラフィック退避などの重要なイベントに関する情報もある。アプリケーションの状態を「一目で」理解するために、さまざまな色と数字を使用して重大度を示す。
出典: https://netflixtechblog.com/telltale-netflix-application-monitoring-simplified-5c08bfa780ba
「Telltaleの心臓部」は、さまざまなソースからのシグナルをキャプチャするアプリケーションヘルスモデルである。アプリケーションビューは、これらのシグナルの種類に基づいて作成される。このモデルのソースには、オープンソースのMantis、NetflixフェイルオーバーアーキテクチャのProject Nimble、Netflix Streaming Supply Chainのアラートシステムからのアラートなどがある。
Telltaleには、統計、ルールベース、機械学習など、さまざまなアルゴリズムに基づく監視メカニズムがある。システムから送信されるアラートを常に調整する必要はない。監視に加え、Telltaleのアラートはコンテキストを認識し、Slack、電子メール、またはPagerDutyによってチームに通知を送信する。インシデントの更新はSlackメッセージスレッドでも送信されるため、アプリケーションの現在の状態に関するより良いコミュニケーションが保証される。
より良いコンテキストを提供するために、インシデントアラートを発生させるときに、Telltaleは考えられる原因を強調表示する。インシデント後のレビューには、最近のすべての問題と合計ダウンタイムを示すApplication Incident Summaryが含まれ、それによってインシデントのアーカイブが作成される。
監視とアラートの効果を次のレベルに引き上げ、チームはより安全な展開のためにTelltaleを使用する。Netflixの継続的デリバリープラットフォームSpinnakerが新しいビルドを公開すると、Telltaleは最新のビルドを実行しているインスタンスの状態を継続的に監視する。問題が検出されると、デプロイメントを停止してロールバックし、デプロイメントの問題の期間が短くなり、障害範囲が小さくなる。
関連ニュースでは、Digital Enterprise Journalが実施した調査によると、91%の企業がパフォーマンスと可用性の問題のために収益を逃したと報告している。Telltaleを使用すると、Netflixストリーミングチームは、中断のない「member joy」の問題をすばやく診断して修正できる。監視ベンダーもこの傾向に注意を払っている。DynatraceのAIエンジン「Davis」は、AzureまたはAWS環境の幅広い問題を特定し、Microsoft AzureMonitorまたはAWSCloudWatchダッシュボードにストリーミングする。
Telltaleをすぐにオープンソース化する予定はない。Netflixのエンジニアリングチームは、プラットフォームチームと協力して、Telltaleの改善点を評価し、新しい機能を構築し続けることを計画している。