オブザーバビリティとは何か?
「本セッションのゴールは、開発者の皆さまにオブザーバビリティを『こんな風に使えるんだ』『自分のプロジェクトでも使ってみたい』など、自分ごととして捉えてもらうことです」
日本ユニシスの岡田氏はこのように述べ、セッションは始まった。
オブザーバビリティは昨今「SpringOne」の基調講演や「VMworld」など、さまざまなイベントで語られるようになっている。さらに今年3月にはオブザーバビリティにフォーカスした単独イベント「Observability Conference 2022 by CloudNative Days」が開催されるなど、開発系イベントでも非常に注目を集めている。
とは言え「オブザーバビリティとは何か」と改めて聞かれると、端的に答えるのは難しい。オブザーバビリティというキーワードで検索すると「『メトリクス』『トレーシング』『ログ』といった3本柱で構成される」との説明が出てくる。また画像検索を行うと、グラフやログ検索などの画面がヒットする。
このような状況から、開発者の多くはオブザーバビリティを運用担当者だけが活用する領域だと思いがちだ。だが岡田氏は「オブザーバビリティは旧来型のモニタリングとは異なり、開発者がいるからこそ、より活用できる領域」と言い切る。
なぜそう言い切れるのか。オブザーバビリティを日本語にすると「可観測性」となる。可観測性と日本語にしてもよくわからないため「『観測』という言葉にフォーカスして考えていきます」と岡田氏。
観測とは「観察し測定すること」である。例えば果物を栽培する際に、人は日照時間や気温などを測定する。この場合の観測目的は明快で「果物の品質向上」にある。「システムに当てはめても同じことが言えそうですよね」と岡田氏は参加者に呼びかける。
「オブザーバビリティは、果物の観測と同様にシステムを観察し、詳しく理解することで品質を向上するためのものだと考えています」
この観察の際に重要になるのが、データである。先の果物の例では、品質向上につなげるために日照時間や気温という生産対象特有のデータを取得し、分析する。システムにおいても同様で、そのシステムを表す特有のデータを取得して、特有の分析をする必要がある。ではそのシステムの品質向上につながる特有のデータとは何か。「それを把握しているのがシステムを作った人、開発者です」と岡田氏は力強く語る。
では、オブザーバビリティで何を観測すべきなのか。岡田氏は「CPUやメモリが思い浮かぶかもしれません。それらも正解ですが、オブザーバビリティのすべてではないのです。答えは『何でも』。オブザーバビリティはどのようなデータも事前定義なく観測することができます。ここが旧来型モニタリングとの大きな違いです」と解説する。
旧来型モニタリングは監視対象のサーバーが決まっており、決められた対象にエージェントを導入し、CPUやメモリなどの決められたデータを収集、監視していた。だがビジネススピードが加速している現在、従来のようなモノリスのシステムではなく、機能ごとに分解されたマイクロサービスでシステムを構築することが増えている。このマイクロサービス時代においては、どのようなデータも事前定義なく送ることができ、観測できることが必要だ。そしてこの「どのようなデータも事前定義なく送ることができ、観測できること」が、開発者にとっても大きな意味を持つのである。