01:基本
グローバルな課題、競争圧力、不安定な経済状況、顧客の期待の高まり、こうした状況を生き抜くためにも、企業とそれを支えるシステムは常に進化し続ける必要があります。企業のシステムは成長するにつれて、アプリケーション、ネットワーク、データなどがこれまで以上に複雑に絡み合っていきます。こうした要素のすべてのパフォーマンスを、どこでもすぐに確認する方法はないでしょうか?
その答えは、エンタープライズ可観測性です。
エンタープライズ可観測性とは、最新の分散システムを詳細に可視化する技術で、問題を迅速かつ自動的に識別して解決することを目的としています。
アプリケーション可観測性を深く掘り下げる
可観測性は比較的新しい用語であるため、監視やアプリケーション・パフォーマンス・モニタリング(APM)関連の説明で頻繁に使用されます。これらの3者はすべて問題の根本原因を特定する方法を表していますが、機能の仕方が異なります。
監視は、テレメトリー・データなどの進行状況や品質を一定期間追跡して分析する方法です。
APMツールは、メトリック、トレース、ログを収集する方法です。一般的にはインフラストラクチャー監視、アプリケーション依存関係、ビジネス・トランザクション、ユーザー・エクスペリエンスに焦点を当てます。
可観測性は、すべてのアセット間にコンテキストを適用することで、監視とAPMからさらに踏み込んだ観測を行います。この処理では高性能な知的エージェントが、分散されたマイクロサービス・アプリケーションのすべてのサービスとインフラストラクチャーに対して、自動ディスカバリー・プロセスを実行します。この分析結果により、すべてのインフラストラクチャー・コンポーネントとアプリケーションのパフォーマンスとの関係を理解しやすくなります。
アプリケーション可観測性が必要な理由
最新のクラウドネイティブ・アプリケーションは、コンテナやマイクロサービスなどのアーキテクチャー、マルチクラウド戦略とハイブリッドクラウド戦略、CI/CDパイプラインなどと結びついています。
APMプラットフォームは、コード中心のサービス指向アーキテクチャー(SOA)で開発されたメッセージ・ベースのアプリケーションに対応するように設計されていました。ところが、クラウドネイティブ技術によるコンテナやマイクロサービスの登場が、こうしたアプリケーションに多大な影響を与えました。どうしてでしょう。この技術により、測定の対象やその体系づけについての焦点を変えてしまったからです。つまり、それ以前のアプリケーションは完全な可視性と管理の容易性を欠いていたのです。
従来のアプリケーション・アーキテクチャーの世代と比較すると、クラウドネイティブ技術とマイクロサービスは、3つの根本的な変化をもたらしました。
- アプリケーション・インフラストラクチャーの直接管理を削減しました。
- 中規模程度のネットワーク通信を処理するコード中心のアプリケーションから、はるかに小規模でコンテナ化されたサービスを処理するネットワーク中心のアプリケーションが主流になりました。
- 拡張性に関して、ひとつの哲学が生まれました。つまり、アプリケーションから大規模なアクセス要求を受けた場合には新しいサービスとインフラストラクチャーを迅速に追加する必要がありますが、アクセス要求が減少した後はそれに応じてスケールダウンする必要があります。
旧来のAPMプラットフォームの設計ではアーキテクチャーとアプリケーションの双方に限界があるため、多くのAPMベンダーはこうしたクラウドネイティブのマイクロサービス・アプリケーションに対応できません。この限界により、テレメトリー、トレース、自動化、拡張性の4点について十分な対応ができないのです。これに対してクラウドネイティブの可観測性プラットフォームは、ネットワーク中心のマイクロサービス・アーキテクチャーの要求に対応するように設計されています。さらに、高度な分散アプリケーションを精密に観測する、先進的なテレメトリー・ストリーミングとストレージ・アーキテクチャーを採用しています。
右図のように、可観測性には監視が含まれており、さらに自動化、コンテキスト、拡張性も追加されています。

第2章:アプリケーション可観測性への3つのステップ
可観測性を実現するジャーニーの開始に向けた3つのステップ