SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

「OpenTelemetry」で始めるオブザーバビリティ入門

将来は標準に? オブザーバビリティと可観測性のこれまでと「OpenTelemetry」の概要

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本連載では、「オブザーバビリティ」という言葉を聞いたことはあるが具体的なイメージを持っていないエンジニア向けに、オープンソースのツールキット「OpenTelemetry」とともにオブザーバビリティの実現方法を紹介します。OpenTelemetryの概要理解から導入方法まで、まとまった知識を得ていただける連載となります。第1回目はOpenTelemetryの基本と概要について解説します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

対象読者

 この連載では以下の読者を想定しています。

  • オブザーバビリティ というキーワードを聞いたことはあるが、触ったことはない人
  • OpenTelemetryに興味がある人
  • DevOps・プラットフォームエンジニアリングに取り組もうとしている人
  • バックエンド開発者・SRE・インフラエンジニア

最近よく聞く「オブザーバビリティ」って? 「可観測性」とは違うの?

 「可観測性」という言葉は制御工学の領域で1960年代に誕生しました。この考え方は、システムの挙動を外部から観測して内部の状態を理解する尺度を測るというものです。

 例えば、工場の製産ラインに並ぶロボットアームをイメージするとわかりやすいと思います。ロボットアームが基盤に穴を開ける動作を想像してみてください。穴を開ける位置が左に2mmずれている状態を修正するには、さまざまなデータを関連付けて調査する必要があります。モーターの出力が大きかったのか、歯車の回転数が多かったのか、基盤が傾いていたのか、データを分析して内部状態を推測し、制御システムを修正することでロボットアームを設計通りに動作させることができるでしょう。

 システムの状態を外部から観測し、関連するデータを収集し、システム内部で何が起きているのか正しく理解し説明できる場合、「観測できている状態」である。つまり「可観測性」が高いと言うことができます。

 昨今よく耳にする「オブザーバビリティ」という言葉も可観測性を意味するものですが、IT分野に対して使われることが多いように見受けられます。可観測性の考え方はITシステムの状態確認や根本原因調査と相性が良いため、オブザーバビリティという言葉が広まったと考えられます。

 従来のITシステムは、Webサーバー・アプリケーションサーバー・データベースといった3層アーキテクチャが通例でした。クラウド環境や新しいテクノロジーの台頭によって、ITシステムは柔軟な拡張性と堅牢性を獲得しました。ただし、その代償として、現代のITシステムは「分散されたサーバー」「仮想化とコンテナ」「細分化されたアプリケーション」「オンプレミスとクラウドのハイブリッド環境」といった複雑な構成へと変化しました。

 
 現代のITシステムは複雑な構成に

 比較的シンプルなITシステムやアプリケーションでは、観測する対象と項目を事前定義することが一般的な監視方法でした。ところが、複雑なITシステムにおいては、監視していない項目でトラブルが発生することが多くあります。最悪の場合、問題が発生していることに気付くことさえできないかもしれません。

 現代のITシステムの状態を正確に把握するためには、これまで以上に広範囲にわたるデータを収集する必要があると言えるでしょう。また、問題発生に至るまでの背景や関連する要素を調査するためのコンテキスト情報を併せ持つデータも必要です。

 ブラックボックスとも言える現代のITシステムでは、従来の監視手法で対応することは困難になりつつあります。システムの内部状態を表すさまざまなデータを収集し、事実に基づいて客観的にシステム状態を理解するというオブザーバビリティの考え方を取り入れることが重要です。

デジタルスキル標準にも含まれているオブザーバビリティ

 変化が激しい時代に追従するため、現代のITシステムで利用されるテクノロジーは飛躍的に進歩しました。コンテナオーケストレーション、マイクロサービス、サーバーレス、APIといったテクノロジーを始め、サーバーの分散構成は当たり前であり、オンプレミスとクラウドのハイブリッド構成も珍しくありません。

 先に述べたようにオブザーバビリティとは、システムの状態を表すデータを幅広く収集し、システムの内部状況を正確に把握するものです。オブザーバビリティを高めていれば、過去に遭遇したことのない未知のトラブルが発生した場合でも、システム内部で何が起きたのかを理解し、発生した事象を説明することができます。

 オブザーバビリティ先進国である北米では、現代のITシステムの稼働状態を正確に把握し、障害発生時の根本原因を究明することが従来の監視手法では困難だという認識が広まっています。そのため、オブザーバビリティの考え方が浸透しています。また、Splunkが実施した調査では、オブザーバビリティ専任の担当者を置いている組織が調査対象の87%に達しています。ITシステムの開発や運用にオブザーバビリティを取り入れることが当たり前になる時代が近づいています。

 
 オブザーバビリティがもたらす効果

 海外だけでなく、日本でもオブザーバビリティがエンジニアの標準スキルの1つに挙げられていることをご存じでしょうか。情報処理推進機構(IPA)が策定しているデジタルスキル標準によると、ソフトウェアエンジニアにとって必要なスキルセット「SREプロセス」として、DevOps、CI/CD と並んでオブザーバビリティやOpenTelemetryが含まれています。特に、クラウドエンジニア/SREのロールを持つエンジニアに対しては、重要度「a」と位置付けられています。

 日本では、多くのITシステムが従来型の監視手法によって運用されているのが実情だと思います。グローバルの情勢を鑑みると、ITシステムのモダナイゼーションが進むことで、日本でもオブザーバビリティの導入が広まると予想されます。

次のページ
オブザーバビリティを実現する「OpenTelemetry」とは

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
「OpenTelemetry」で始めるオブザーバビリティ入門連載記事一覧

もっと読む

この記事の著者

大森 明央(Splunk Services Japan合同会社)(オオモリ アキオ)

 Splunk Services Japan合同会社でオブザーバビリティソリューションを担当するエンジニア。インフラからアプリケーションまで広範な領域にわたり、お客様が直面する課題の解決や、オブザーバビリティツールの導入と活用に関するコンサルティングに従事。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/19826 2024/07/30 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング