オブザーバビリティとは?
オブザーバビリティの定義
オブザーバビリティとは、システムの外部出力、特にデータを調べることによって、システムの内部状態をどのように把握できるのかということに関係します。
最新のアプリケーション開発のコンテキストでは、オブザーバビリティとは、さまざまなソースからログ、メトリック、トレースなどのデータを収集、分析し、環境で実行されているアプリケーションの動作に関する詳細なインサイトを提供することを指します。お客様が構築して監視したいあらゆるシステムに適用できます。
今日の動的なアーキテクチャーやマルチクラウドコンピューティング環境では、オブザーバビリティが極めて重要です。オブザーバビリティによって、ソフトウェアエンジニア、IT、DevOps、サイト信頼エンジニアリング(SRE)チームがテレメトリデータをデコードできます。このためには、ダッシュボード、サービス依存マップ、分散トレースなどのビジュアライゼーションのほか、AIOpsや機械学習のアプローチが利用されます。適切なオブザーバビリティソリューションがあれば、アプリケーション、サービス、インフラがどのように実行されているのかを把握し、問題を追跡して対応できます。
オブザーバビリティが重要な理由 — なぜオブザーバビリティが必要か?
オブザーバビリティが重要なのは、チームが分散型ITシステムのパフォーマンスを評価、監視、改善できるからです。そして、従来の監視方法よりもはるかに効果的です。エンドツーエンドのオブザーバビリティプラットフォームは、サイロを解消し、コラボレーションを推進できます。また、問題を能動的に診断、分析し、根本原因まで追跡できます。
オブザーバビリティによって、IT部門は、クラウドネイティブ環境における多くのデータソース全体を深部まで可視化できます。オブザーバビリティの3つの柱は、ログ、メトリック、トレースです。フルスタックのオブザーバビリティにより、マルチクラウドエコシステムのパフォーマンスをリアルタイムでも履歴でも追跡できます。ハードウェア、ソフトウェア、クラウドインフラコンポーネント、コンテナー、オープンソース、マイクロサービスなどで生成されたエンドポイントやサービスからデータを合成できます。
オブザーバビリティを活用すると、組織は次のことができます。
- パフォーマンスインシデントがビジネスに及ぼす意味を見出し、分析する。
- ソフトウェア開発のライフサイクルを効率化する
- 問題解決と根本原因分析を加速化する
- エンドユーザーエクスペリエンスを改善する
- アプリケーションセキュリティを強化する
オブザーバビリティソリューションは、ビジネスのIT運用に不可欠なものであると同時に、収益にとっても重要です。オブザーバビリティは、より迅速で、より高品質なアプリケーションの提供につながります。つまり、チームのコストが削減され、リソースが最適化されます。アプリケーションのパフォーマンス向上は、最終的に収益の向上につながります。
オブザーバビリティとAPMと監視
オブザーバビリティ、APM、監視の違いについて詳細をご覧ください。
監視
監視は、個々のシステムの状態を観察し、評価する方法です。多くの場合、エラーや使用パターンを追跡するために、あらかじめ定義されたメトリックとログのセットを使用します。これらは、サーバーの使用率、応答時間、スループットに関する簡単な質問に答えるのに役立ちます。特殊な監視ツールは、予期可能なサイロ化した問題を明らかにすることができます。しかし、多数の依存関係が存在するような複雑なクラウドネイティブアプリケーションでは、問題は予測しにくくなります。チームには、このレベルの複雑さを管理するためのツールが必要です。
APM
一般的にはオブザーバビリティのサブセットと見なされるアプリケーションパフォーマンス監視(APM)は、アプリケーションコードと依存関係を深く分析して理解するために使用される監視の種類です。APMの主な機能は分散トレーシングです。この機能は、アプリケーション内のエンドツーエンドトランザクションを追跡するために使用されます。APMは、アプリケーションパフォーマンスのサポートと最適化、ボトルネックの特定、およびユーザーエクスペリエンスの向上を支援します。
オブザーバビリティ
オブザーバビリティは、APMや従来の監視ツールを取り入れますが、それに代わるものではありません。今日の複雑なソフトウェアシステムのために構築された、より包括的なツールセットを提供し、インフラ全体の正常性とパフォーマンスに関する詳細な洞察を明らかにすることができます。
オブザーバビリティは、環境内のすべてのアプリケーション、マイクロサービス、サーバー、データベースで収集、集約されたログ、トレース、およびメトリックを使用します。このため、ITエコシステム全体のデータと依存関係を調べることで、問題の根本原因を特定できます。統計や機械学習のアプローチで特性やパターンを分析することで、システムの未知の事象に対してアクショナブルな洞察を提供します。
オブザーバビリティの仕組み
オブザーバビリティは、パフォーマンスデータを継続的に収集し、すべてのユーザーリクエストとトランザクションの完全な相関記録を作成することで機能します。システムが監視可能であるほど、パフォーマンスの問題を迅速かつ正確に特定し、その原因を追跡できます。オブザーバビリティの主要な概念は次のとおりです。
ログデータ
ログはアプリケーションイベントのタイムスタンプ付きレコードです。大規模な組織では、1日に数10億件ものログが生成されることがあります。
メトリック
メトリックは、アプリケーションやシステムの正常性やパフォーマンスを経時的に測定する時系列データです。
分散トレーシング
分散トレーシングは、分散アーキテクチャー全体で、エンドツーエンドのすべてのユーザーリクエストをコードレベルで記録します。
依存関係マッピング
依存関係マッピングは、アプリケーション、サービス、インフラのコンポーネントがどのように接続されているかを示しています。
異常検知
異常検知は、ベースライン、統計解析、機械学習などを使用して、システムの異常な動作を早期に警告します。
オブザーバビリティプラットフォームは、膨大な量のテレメトリデータをリアルタイムで相関させます。これにより、DevOps、SRE、ITチームは、あらゆるイベントや問題の状況を完全に把握できます。
組織で成熟したオブザーバビリティの手順を策定する方法をご覧ください。
オブザーバビリティのユースケース
オブザーバビリティツールを利用すると、面倒な手作業や非効率なシステムがなくても、大量のデータを処理できます。オブザーバビリティプラットフォームは、カスタマーエクスペリエンスや収益に影響を与える前に、問題を解決し、根本原因を特定します。潜在的なユースケースは、開発やIT運用から経営幹部といった組織の分野によって異なります。
システムパフォーマンスを監視し、対応する
デバッグやアプリケーションパフォーマンスは、オブザーバビリティの主要なユースケースです。サービスやシステム全体の正常性についての質問に答えることができます。DevOpsにおけるオブザーバビリティは、特定の処理の平均応答時間を監視し、特定のユーザーで長い読み込み時間が発生している原因を検出できます。また、チューニングが必要なサービスや、どのようにして変更によって遅延が発生したり、アプリケーションのパフォーマンスに影響したりした可能性があるのかを知ることができます。また、ユーザーエクスペリエンスの基本や、どのようにSLOが測定されているかなどのレポートも提供されます。
ビジネスパフォーマンスを高め、生産性を改善する
ビジネスと運用データを連携すると、ビジネスパフォーマンスが大幅に改善される可能性があります。この2つを組み合わせることで、複雑なシステムに総体的にアプローチすることができます。運用を効率化することで、潜在的な問題が発生した場合に迅速に対処し、他の業務に時間を割くことができます。可視性の向上とプロセスの合理化は、収益の拡大と生産性の向上につながります。
デジタル変革とクラウド変革を実現する
アプリケーションのモダナイゼーションやクラウドインフラへの移行が進む中、オブザーバビリティによって可動部分すべてを俯瞰的に把握できます。移行中にシステムを稼働させ続けることは複雑です。クラウド移行プロセス中や移行後のシステム運用の信頼性を確保するために、フルスタックオブザーバビリティが必要です。
マイクロサービスアーキテクチャーではさらに複雑化します。複数の異なるホストにまたがって独立してデプロイできるため、アプリケーションの拡張性が高まり、保守が容易になります。しかし、マイクロサービスアーキテクチャーでは、更新、エラー、障害を追跡することが非常に重要です。オブザーバビリティでは、動的なシステムの依存関係を完全に可視化できます。以下に例を示します。
- 思考の食品
AH TechはAhold Delhaize食品グループでオブザーバビリティプラットフォームを採用しました。これにより、オーダーフルフィルメントチェーンのすべての段階で、個々の商品を追跡できます。13,000の販売拠点全体で1単位の価格に至るまで、プロセス全体のデータをリアルタイムで監視することができます。IT部門は、各店舗から報告される前に、問題の本質を把握できるようになりました。 - 優れたビュー
フランスの旅行サイトOui.sncfの急成長により、複数のサイロがユーザーエクスペリエンスを阻害し、収益を脅かすようになりました。オブザーバビリティが解決策でした。オブザーバビリティプラットフォームを採用したところ、各部署がすべての運用データを連携できるようになりました。チケット収益、購入までの時間、放棄されたカートを地域単位で分析することができました。ダッシュボード機能によりトラブルシューティングが容易になりました。また、リアルタイムでイベントに対応できるようになり、インシデントの解決時間が数時間から数分に短縮されました。
オブザーバビリティにはどのようなメリットがありますか?
オブザーバビリティは、IT部門、DevOps、SRE、組織全体が抱えるビジネスや運用の課題解決を支援するときに効果を発揮します。次に、正しいオブザーバビリティソリューションが提供する内容を示します。
迅速な解決につながるパフォーマンスを監視
オブザーバビリティは、自分では思いもよらないような条件を検出します。これにより、広大な分散システムで特定のアプリケーションのパフォーマンス問題の根本原因を特定できます。組み込まれた機械学習でダウンストリームのデータや依存性と異常を自動的に相関付け、アクショナブルな結果を提供できます。
包括的な即時の可視性
Kubernetesを含むクラウドネイティブ環境やハイブリッド環境を横断的に明確に把握できます。メトリック、ログ、トレースは、アプリケーションやインフラから簡単に取り込むことができます。すべてのデータは統合され、1つの場所で可視化されます。
ツールのサイロの解消
オブザーバビリティでは、複数のツールを連結し、総体的にテレメトリデータを収集できます。
ユーザーエクスペリエンスの向上
ユーザーが認識するよりも前に、能動的に問題を特定します。ホスト、サービス、APIの正常性を確認し、ページ負荷、リクエスト、レイテンシーといったメトリックを用いて、全リージョンと全デバイスを対象にパフォーマンスと可用性を追跡します。運用の主要業績指標とビジネスの主要業績指標を関連付けます。
オブザーバビリティの課題は何ですか?
オブザーバビリティの課題は、複雑なアーキテクチャーの爆発的増加に関連しています。適切なオブザーバビリティソリューションがなければ、膨大な量、スピード、多様な生データによって、答えを引き出すことは困難で、コストの増加につながる可能性があります。特に、AWS、Azure、GCPといったクラウドプラットフォームや、Kubernetesやコンテナーといったクラウドネイティブの技術では、その傾向は顕著です。
効果的なオブザーバビリティ戦略を採用しない組織は、エンドツーエンドの分散トレーシングの課題にも直面しています。動的なアーキテクチャーでは、コンテナー内で実行されているワークロードをリアルタイムで可視化する必要があります。複数のダッシュボードの情報を、手作業でつなぎ合わせるのは現実的ではありません。
インフラを移行し、クラウドを追加すると、さらにハードルが高くなる可能性があります。ノイズの多いデータ、細分化された監視戦略、ツールの乱立は、潜在的な障害となります。また、サイロ化したチームでは、シグナルや重要な情報が失われる可能性があります。
組織全体でオブザーバビリティの文化を醸成すること自体が課題になる場合もあります。ITや開発に携わる多くの人にとって、オブザーバビリティのビジネスケースを、オブザーバビリティの影響を十分に理解していない人たちに説明することは難しいことです。長期的なコスト削減や効率化と比較した、包括的なオブザーバビリティ計画の実施に伴う短期的なコストや犠牲は、エンジニアにしか理解できないことがあります。
最初に、オブザーバビリティによって大幅な性能向上とコスト削減を全面的に実現できることを説明するのがよいでしょう。
オブザーバビリティツールの主な機能
オブザーバビリティプラットフォームの主な機能には、リアルタイムのインサイトと、インタラクティブなビジュアライゼーションによるマルチシグナルデータ集約があります。当然、適切なオブザーバビリティツールは、使いやすく、導入しやすいツールでなければなりません。最低でも、ハイブリッドクラウドやマルチクラウドのソフトウェアシステム全体を可視化し、トラブルシューティングを改善し、分析能力を高め、運用を効率化することが必要です。
ログ、メトリック、データ、トレース、シンセティックを統合するシングルスタックによって、データのサイロ化を解消できます。そして、簡単にテレメトリデータをオープンで拡張可能なプラットフォームに取り込むことができます。さらに、コンテキストデータモデルの柔軟性によって、あらゆるソースからあらゆるデータを収集、保存、可視化できます。
また、適切なオブザーバビリティツールを使用すれば、イベントを検索、監視し、イベントが発生した時点で分析を適用することができます。特定のトランザクションのログを分析したり、そのトランザクションが実行されたホストやコンテナーのパフォーマンスメトリックを監視したり、トランザクションを追跡したり、全体的なサービスの可用性を確認したりすることができます。
Elasticのオブザーバビリティ
Elastic Stack上に構築されたElasticオブザーバビリティでは、データを結果に変える検索のパワーを使用して、無制限のテレメトリデータを相関付けることができます。Elasticオブザーバビリティは、シームレスなデータインジェストのために構築された統合機能により、AWS、Microsoft Azure、Google Cloudなどのクラウド環境を、単一の統一されたエクスペリエンスで可視化します。
Elasticオブザーバビリティは、ビジネスのパフォーマンスを10倍に高めながら、コストを75%も削減することが示されています。組織でElasticオブザーバビリティが機能するかどうかを確認するには、サンドボックスデモを実行して実際に確認するか、無料トライアルを開始してください。