New Relic Oneへの変革は監視から可観測性への変革です。可観測性とはなにか「What Is Modern Observability?」の抄訳にてお伝えします。なお、この掲載内容は以前Le Journal du Netに掲載されています。
監視ではITシステムで異常が起きたときに単に通知するだけですが、オブザーバビリティではなぜ生じたかと、システムの動作がどのようになっているかを把握できます。
多くの最新技術や実践によりソフトウェアチームは、マイクロサービス、クラウド、コンテナ、サーバーレス、DevOps、SRE、infrastructure-as-codeなどにより、より頻繁かつ効率的に開発したアプリケーションコードを展開することができます。頻繁なデプロイにより実際に成果を得られていますが、このようなアプローチにはよりいっそうの複雑性、揮発性、ソフトウェアアーキテクチャの分断が伴い、特に可用性、品質、パフォーマンス、エンドユーザー体験の担保を目指すときに顕著になります。
オブザーバビリティは、監視技法を見直して新たな諸問題と向き合い、監視技法を新テクノロジーパラダイムへと進化させます。完全接続された一か所から全てのテレメトリデータを把握できるリアルタイムオブザーバビリティにより、デジタルアーキテクチャのパフォーマンスを積極的に掌握し、イノベーションとソフトウェアのスピードを速め、労苦や運用コストを削減することができます。また、透明性と企業文化を改善し、成長を促すより深いインサイトを共有できます。
監視をはるかに超えるオブザーバビリティ
簡単に言えば、オブザーバビリティとは複雑なソフトウェアシステムを理解するための取組みです。そして理想的なオブザーバビリティ実現の鍵は、テレメトリーデータを収集し、可視化し、徹底的に分析する能力にあります。監視は事前に定義された異常が起きたときに単に通知するだけですが、オブザーバビリティではなぜ起きたかも把握する助けになります。それによりチームは、緊急事態でも迅速かつ有効に対応でき、長期的なアプリケーションパフォーマンスの改善に取り組むことができます。オブザーバビリティは次の3つの必須要素を取り入れる必要があります。
- 包括的で高精度なテレメトリーデータ収集
- データの相関と意味付け
- データを可視化し、アクションを実行可能にする
包括的で高精度なテレメトリーのためのオープンな計装
最新のオブザーバビリティは、複雑なマイクロサービスアーキテクチャ、増え続けるデプロイメント、そしてクラウドインフラストラクチャやコンテナの抽象化や揮発性などの問題に答えなければなりません。このため企業は、アーキテクチャを完全に、フルスタックで、エンドツーエンドに計装する必要があります。言い換えれば、自社インフラストラクチャ、仮想マシン、コンテナ、Kubernetesクラスターのほか、ホスト先がクラウドであれ自社内であれ、ミドルウェアやソフトウェアからのテレメトリーを収集して集計する必要があります。またブラウザやモバイルアプリケーションからも直接テレメトリーを収集して、ユーザー体験やビジネスイベント/属性の特徴を明らかにし、チームがアプリケーションとビジネスパフォーマンス間の結びつきを完全に把握できるようにします。
この包括的なシステムエンティティのうち、最新のオブザーバビリティは、互いに補完し合うメトリクス、イベント、ログ、トレース(M.E.L.T.)の4大テレメトリークラスを収集します。最適化されたプロプライエタリなエージェントをオープンソースツールのエージェントで補完することで、徹底的かつオープンな収集を担保できます。たとえば、オープンソースにはメトリクス用のPrometheus、Telegraf、StatsD、DropWizard、Micrometer、トレース用のJaegerやZipkin、ログの収集/フィルターリング/エクスポート用のFluentd、Fluent Bit、Logstashなどが含まれています。最新のオブザーバビリティは、ソースが何であれ、エンティティの識別/作成/維持やデータ相互間の関係付けを自動化することで、あらゆるタイプのデータ/テレメトリの相互運用性を保証しています。
関連付け、意味付け、そしてキュレーション
データ集計は、そこから洞察が得られないのであれば意味がありません。テレメトリーデータをリアルタイムで解析して、そのデータに基づくエンティティ間の論理的関係の(メンタル)モデルを構築し、メタデータを使用して正確な相関関係/結びつきを明らかにし、分析的な次元を作成する必要があります。これにより、例えば、マイクロサービスの依存関係の動的なサービスマップや、Kubernetesクラスタ(ノード、ポッド、コンテナ、アプリケーションを含む)を表示することで、複雑で動的なシステムを可視化して理解することができます。メタデータは主にテレメトリエージェントによって自動的に生成されますが、チームはメタデータを挿入してデータのコンテキストや次元性を豊かにすることもできます(例:アプリケーションの名前、バージョン、展開エリア、さらにはバスケットの価値、ロイヤルティクラス、製品の命名法、トランザクションの場所などのビジネス属性)。
データキュレーションは、重要情報/インサイトをできるだけ早く効率的に明らかにするためのカギです。数多くのベストプラクティス指導者や世界クラスの専門家の経験やノウハウを基に、慎重に考案された視覚化と最適なワークフローを通じて達成されるものです。最重要な健全性/パフォーマンスのシグナルを即座に明確な方法で明らかにします。キュレーションによってSREやDevOps開発者は、独自のシンプルかつ効果的な体験ができ、そこからデータの背後にある「理由」を把握して、より迅速に問題を特定し、分離し、解決することができます。
1台のプラットフォームにテレメトリデータを一元化すれば、洗練された人工知能アルゴリズムを大容量のデータに適用し、人間では検出できない動作パターン、異常、相関関係も把握できます。このようなAI技術を利用することで、インシデントを発生時に早期に検出し、各インシデント間の相関関係を調べ、推定可能な根本原因を判別するだけでなく、充実した診断に背景情報や推奨事項を添えた診断を提供することができます。この比較的新しい分野をガートナーはAIOpsと名付けました。AIOpsによりDevOpsチームの能力は著しく向上し、問題を予想して早期に解決することができ、アラート疲れを大幅に軽減できます。
可視性、実行可能性、プログラマビリティ
オブザーバビリティの基礎となるのは、ダッシュボードでデータの可視性と明瞭性を与え、アラートと対応のワークフローを通じてデータをよりいっそうアクションに結び付けることです。プログラマビリティはそれを次のレベルに押し上げます。
チームで定義したアラート、またはAIによるプロアクティブな異常検出によって、サービスインフラストラクチャ内の異常状態やインシデントが自動的に通知されるため、平均検出時間(MTTD)が劇的に短縮されます。インシデント通知に基づいて行う作業のワークフローを定義すれば、自動インシデント修正/解決を速め、平均解決時間を短縮することができます。
ダッシュボードは、多次元的な解析を瞬時に可視化してアウタマイズできるフレキシブルで強力なツールです。ダッシュボードを利用すれば、ソフトウェアのテレメトリと取引/ビジネスデータを照合して、正確なシステムとビジネスパフォーマンス管理をリアルタイムで実現できます。またダッシュボードは、組織の境界線を越えて全体で共有できるため、チームは問題を予測してパフォーマンスの最適化を行うことができます。
企業にはその企業特有の膨大かつ多様なビジネス/プロセス/指標があるため、ダッシュボードを超えて、企業が独自のビジネス目標に対処するアプリケーションを構築する必要があります。当社はこの能力をプログラマビリティと称しています。オブザーバビリティプラットフォームにプログラマビリティがあれば、独自の表現やデータの組み合わせを構築でき、より洗練された形のインタラクションや処理を導入することができます。固有のニーズにできるだけこだわることで、プログラマビリティは組織がソフトウェア投資を最適化し、その効率をリアルタイムで評価し、パフォーマンスを最大化する客観的意志決定に役立ちます。
デジタル変革にはチームが革新を速め、その結果企業がソフトウェアで攻勢に出て、エンドユーザー体験の差別化を達成するという多大の期待事項があります。チームがDevOps規範を採用すれば、最新アーキテクチャ、デプロイメント方法、従来の監視は急変します。今やオブザーバビリティは、企業が最適速度/パフォーマンスを達成/維持し、競合他社から自らを差別化し、顧客とユーザーの増大する期待に応える上で欠かせません。
最新のオブザーバビリティに不可欠なもの
- OPEN:全てのテレメトリデータ(メトリックス、イベント、ログ、トレース)をリアルタイムで収集し、相関関係を調べます
- CONNECTED:充実した分析と管理されたユーザー体験を活用し、チームが迅速に特定しなければならない状況を明らかにして、ソフトウェアスタック全体を通じて問題を解決します
- INTELLIGENT:AIを問題の自動検出/診断に応用します
- VISUAL:ダッシュボードによりチームは、問題の発生原因を解析する共通の基礎が与えられ、問題を迅速に特定/分離/解決できます
- PROGRAMMABLE:アプリケーションを作成してソフトウェア投資を最適化し、リアルタイムで効率を評価し、パフォーマンスを最大化する客観的な意志決定に役立てます
未来はオープン、コネクテッド、プログラマブルです。
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.