近年注目の「オブザーバビリティ」とは?
「モニタリング」の違いと導入の必要性について解説
オブザーバビリティとは
オブザーバビリティ(Observability)とは、Observe(観察する)とAbility(能力)という単語が組み合わさった用語で、システム内部の状態をシステムの出力状況から推測・把握する能力のことであり、従来の運用監視と比較して推測・把握する能力を高めた運用監視のことを指します。
クラウドをはじめIT分野における技術が進化する中、複雑なシステムを適切に監視し、安定運用を図る目的で近年注目されています。
オブザーバビリティは、ログ(Logs)、メトリクス(Metrics)、トレーシング(Tracing)という3つの要素から構成されています。ログはアプリケーションやシステム内で発生するイベントを記録するテキストコードのことであり、トラブルシューティングや挙動の解析に利用されます。 メトリクスはシステムの健全性やパフォーマンスを測定する指標であり、CPU使用率、メモリ消費量などが代表例です。 またトレーシングは、リクエストやトランザクションがシステム内でどのように処理されているかを追跡する技術のことです。
オブザーバビリティとモニタリングの違い
オブザーバビリティと似た概念に「モニタリング(Monitoring)」というものがあります。モニタリングとは、システムやアプリケーションの状態を監視(Monitor)し、異常を検知するプロセス、監視方法のことです。
オブザーバビリティはシステムの内部情報を分析し、根本の原因まで特定したうえでトラブルシューティングや改善に役立つ情報を提供する概念であることに対し、モニタリングは異常を検知・把握はするものの、トラブルの根本原因までを特定するものではありません。モニタリングはオブザーバビリティを実現するうえでの一要素と捉えることができます。 両者を一覧表で比較すると以下のようになります。
オブザーバビリティのメリット
オブザーバビリティの主なメリットとして、以下の点が挙げられます。
コンテナや仮想マシンなどの監視に長けている
物理マシンの台数に縛られることなく、物理的な場所に制約を受けることがないため、負荷や拡張に応じて柔軟にマシン数を変えることができます。社内LANやパブリッククラウドに配置可能で、障害時には自動で別のデータセンターにデータを送信することも可能です。
システム稼働状況のリアルタイム把握
オブザーバビリティを高めることでシステムの稼働状況を即時に確認できるため、問題への初動対応が迅速に行えます。様々な情報を収集することができるため、収集した情報をツールを活用し可視化・分析することで運用担当者はシステムの状態が把握しやすくなります。
また、情報収集の頻度を増やすことで、システムの稼働状況をより詳しく、リアルタイムで把握できるようになります。
ユーザーに対するサービスレベルの維持を容易にする
従来の運用監視では、正常にシステムが稼働しているかという点において監視されていましたが、オブザーーバビリティは、システムが実際にビジネスおよびユーザーの要件に対して適切に機能しているかインフラからアプリケーションまでを一気通貫で監視・観測をします。そのため早期に異変に気づき、それがなぜ起きたのかを分析することで、UI/UXの向上につながります。
次章では、アプリケーションの運用保守に重要なSREの運営について解説します。
アプリケーションの運用保守におけるSREの運営
アプリケーションの運用保守においては、SREが重要になります。SREは“Site Reliability Engineering”の略であり、システムの信頼性の確保を重視しつつ、効率的な運用を実現するための手法のことです。
SREは、システムのオブザーバビリティを重視しており、メトリクス、ログ、トレースの情報を収集することでシステムの状態を正確に把握し、問題を早期に検出します。いわば、信頼性に重きを置くSREにおいて、オブザーバビリティがユーザーの信頼性を高める役割を持つということです。
以下のコラムでは、SREの主な役割やDepOpsとの違いなどを解説しています。
主な役割やDevOpsとの違いなどを解説!
SREで求められる指標
SREにおいては、信頼性を担保するためにSLIとSLOという指標が重要になります。
SLI(Service Level Indicator)は日本語で「サービスレベル指標」と訳され、サービスの性能や挙動を測定するための数値的指標です。ウェブアプリケーションの平均応答時間やサーバー稼働率などが代表例であり、サービスのパフォーマンスを客観的に評価するために必要となります。
SLO(Service Level Objective)は日本語で「サービスレベル目標」と訳され、SLIを基に定義される目標値のことです。一定期間内でのSLIの目標値や範囲を示し、たとえば月間のサーバー稼働率99.99といった目標値が立てられます。SLOがあまりに高いと運用コストが増加する可能性があり、逆に低すぎるとユーザーエクスペリエンスが悪化する可能性がある点には注意が必要です。
このSLIとSLOを組み合わせて運用することで、アプリケーションの適切な状態管理が可能となります。
オブザーバビリティ導入の手引き
オブザーバビリティ環境を構築する際には、以下の手順を踏む必要があります。
・監視の目標設定
最初に、サービスの性能、可用性、セキュリティなど何を監視するか明確にし、その目標値を設定します。
・必要なデータ収集の決定
ログ、メトリクス、トレースなど、どの情報をどのように収集するかを検討します。
・モニタリングツールの選定
モニタリングツールを監視対象や環境に合わせて選びます。
・メトリクスの設計と実装
監視対象のシステムから収集するメトリクスを設計し、必要なコードや設定を実装します。
・ログの収集と分析
重要なログ情報を収集するための仕組みを構築し、ログのフォーマットと保存場所、収集方法を検討します。
・トレーシングの実装
トレーシングを実装して、リクエストの経路と処理時間をトラックできるようにします。
・ダッシュボードの作成
モニタリングデータを可視化するためのダッシュボードを作成し、メトリクスやログ、トレース情報を視覚的に表示できるようにします。
・アラートと通知の設定
アラートを設定して、メトリクスやログから異常を検知した際に通知が送られるようにします。
このようにしてオブザーバビリティ(モニタリング)環境を構築する際には、自社内保守部門で運用する場合は人的コストが、またSierに外部委託する場合にはその委託コストが課題になります。
オブザーバビリティをリーズナブルにご提供する「定額SREサービス」
アプリケーションの運用保守にとっては、システムの信頼性を確保するためのSREが重要であり、SREにおいてはシステムの状態を正確に測定し、トラブルの根本原因を把握する「オブザーバビリティ」が不可欠なことを本記事では見てきました。
しかし、オブザーバビリティをはじめとする保守面に「できるだけコストはかけたくない」と考える情報システム部門のご担当者さまも多いのではないでしょうか。
こうしたニーズにお応えするのが、Sproutlyが提供する「定額SREサービス」です。当サービスでは初期構築から保守監視運用、その後のシステム拡張や変更作業も定額で運営管理可能になります。リーズナブルな月額定額料金制を採用しており、社員の人件費やSierに依頼するよりコストを抑えて利用可能です。なお、SproutlyではGoogle Cloud のCloud MonitoringまたはDatalogのいずれかをお勧めしており、最適なサービスをご案内いたします。
定額SREサービスの詳細については、以下の資料をご覧ください。