監視の拡張としてのオブザーバビリティ
こんにちは。フィックスポイントの冨です。
9月に発売された書籍「New Relic 実践入門 監視からオブザーバビリティへの変革」より、改めて「オブザーバビリティ」についてちらほら話題になってきているように感じます。
英語では Observability と表記し、しばしば「可観測性」と訳されることがあります。システム側の機能・状態として語られる場合と、運用監視をする側の能力として捉えられる場合、またはその両方として理解される場合があります。いずれにせよ、ITシステムの構成が変化するにつれて、従来の「サーバー監視」といった監視だけでは対応出来なくなり、「監視」そのものの考え方をブラッシュアップする必要性が出てきています。
具体的には、仮想化技術/コンテナ技術により、システムのスケールが動的に変化したり、サーバーレスアーキテクチャーにより、そもそも「サーバー監視」という概念が成立しないシステムも出てきています。
また従来型の「システム監視」では、ハードウェア(ディスク、メモリ、ネットワークなど)やOSなどの、アプリケーションの基盤部分の比重が大きいですが、最近ではアプリケーションの稼働状況そのものをモニタリングする必要性が出てきています。つまり、リリースしたアプリケーション適切に稼働しているか。予期せぬエラーが出ていないか。パフォーマンスが劣化していないか。などが挙げられます。
特にクラウド環境においては、運用者が直接にハードウェアの状況を見ることはなくなり、各サービス/モジュールなどが想定通りに稼働しているかを監視することがメインになってきます。システム運用の人はアプリケーションとクラウドサービスの両方から取得できる情報を組み合わせて、監視、管理していくことが求められてきます。
またSRE的な文脈から「オブザーバビリティ」が語られる場合、複雑化したシステムから得られる大量のモニター情報を、分類・関連付け、意味づけして、問題が発生した時の原因追求の支援を行うことを求めています。秒単位でシステムで「何が起きているか」を検知し、「どこで問題が起きているか」「なぜ問題が発生したか」を提示することが「オブザーバビリティー・システム」に求められています。
各種メトリック情報の収集から、可視化のダッシュボード、分析のためAIなど、「オブザーバビリティ」を実践するためのツールはいろいろと提供されてきています。システム設計、運用設計をする際に「起こりうる問題解決のために、必要な情報をどのように取得してどのように処理するか」といった備えをしていくことが、「オブザーバビリティ」の確保につながると思います。