対象読者
この連載では以下の読者を想定しています。
- オブザーバビリティ というキーワードを聞いたことはあるが、触ったことはない人
- OpenTelemetryに興味がある人
- DevOps・プラットフォームエンジニアリングに取り組もうとしている人
- バックエンド開発者・SRE・インフラエンジニア
最近よく聞く「オブザーバビリティ」って? 「可観測性」とは違うの?
「可観測性」という言葉は制御工学の領域で1960年代に誕生しました。この考え方は、システムの挙動を外部から観測して内部の状態を理解する尺度を測るというものです。
例えば、工場の製産ラインに並ぶロボットアームをイメージするとわかりやすいと思います。ロボットアームが基盤に穴を開ける動作を想像してみてください。穴を開ける位置が左に2mmずれている状態を修正するには、さまざまなデータを関連付けて調査する必要があります。モーターの出力が大きかったのか、歯車の回転数が多かったのか、基盤が傾いていたのか、データを分析して内部状態を推測し、制御システムを修正することでロボットアームを設計通りに動作させることができるでしょう。
システムの状態を外部から観測し、関連するデータを収集し、システム内部で何が起きているのか正しく理解し説明できる場合、「観測できている状態」である。つまり「可観測性」が高いと言うことができます。
昨今よく耳にする「オブザーバビリティ」という言葉も可観測性を意味するものですが、IT分野に対して使われることが多いように見受けられます。可観測性の考え方はITシステムの状態確認や根本原因調査と相性が良いため、オブザーバビリティという言葉が広まったと考えられます。
従来のITシステムは、Webサーバー・アプリケーションサーバー・データベースといった3層アーキテクチャが通例でした。クラウド環境や新しいテクノロジーの台頭によって、ITシステムは柔軟な拡張性と堅牢性を獲得しました。ただし、その代償として、現代のITシステムは「分散されたサーバー」「仮想化とコンテナ」「細分化されたアプリケーション」「オンプレミスとクラウドのハイブリッド環境」といった複雑な構成へと変化しました。
比較的シンプルなITシステムやアプリケーションでは、観測する対象と項目を事前定義することが一般的な監視方法でした。ところが、複雑なITシステムにおいては、監視していない項目でトラブルが発生することが多くあります。最悪の場合、問題が発生していることに気付くことさえできないかもしれません。
現代のITシステムの状態を正確に把握するためには、これまで以上に広範囲にわたるデータを収集する必要があると言えるでしょう。また、問題発生に至るまでの背景や関連する要素を調査するためのコンテキスト情報を併せ持つデータも必要です。
ブラックボックスとも言える現代のITシステムでは、従来の監視手法で対応することは困難になりつつあります。システムの内部状態を表すさまざまなデータを収集し、事実に基づいて客観的にシステム状態を理解するというオブザーバビリティの考え方を取り入れることが重要です。
デジタルスキル標準にも含まれているオブザーバビリティ
変化が激しい時代に追従するため、現代のITシステムで利用されるテクノロジーは飛躍的に進歩しました。コンテナオーケストレーション、マイクロサービス、サーバーレス、APIといったテクノロジーを始め、サーバーの分散構成は当たり前であり、オンプレミスとクラウドのハイブリッド構成も珍しくありません。
先に述べたようにオブザーバビリティとは、システムの状態を表すデータを幅広く収集し、システムの内部状況を正確に把握するものです。オブザーバビリティを高めていれば、過去に遭遇したことのない未知のトラブルが発生した場合でも、システム内部で何が起きたのかを理解し、発生した事象を説明することができます。
オブザーバビリティ先進国である北米では、現代のITシステムの稼働状態を正確に把握し、障害発生時の根本原因を究明することが従来の監視手法では困難だという認識が広まっています。そのため、オブザーバビリティの考え方が浸透しています。また、Splunkが実施した調査では、オブザーバビリティ専任の担当者を置いている組織が調査対象の87%に達しています。ITシステムの開発や運用にオブザーバビリティを取り入れることが当たり前になる時代が近づいています。
海外だけでなく、日本でもオブザーバビリティがエンジニアの標準スキルの1つに挙げられていることをご存じでしょうか。情報処理推進機構(IPA)が策定しているデジタルスキル標準によると、ソフトウェアエンジニアにとって必要なスキルセット「SREプロセス」として、DevOps、CI/CD と並んでオブザーバビリティやOpenTelemetryが含まれています。特に、クラウドエンジニア/SREのロールを持つエンジニアに対しては、重要度「a」と位置付けられています。
日本では、多くのITシステムが従来型の監視手法によって運用されているのが実情だと思います。グローバルの情勢を鑑みると、ITシステムのモダナイゼーションが進むことで、日本でもオブザーバビリティの導入が広まると予想されます。