はじめに
こんにちは、AWSのオブザーバビリティ/SREを得意領域とするデベロッパーアドボケイトです。この度、私が翻訳しました『入門OpenTelemetry―現代的なオブザーバビリティシステムの構築と運用』という書籍がオライリー・ジャパン社より発売されました。印刷版は書店ならびに各社オンラインストアでご購入いただけます。PDFならびにEPUBはオライリー・ジャパンのEbookストアにてご購入いただけます。
『入門OpenTelemetry』はどんな本か
本書は、OpenTelemetry という、CNCFのIncubatingプロジェクトに関する解説書籍です。OpenTelemetryは非常に活発かつ巨大なプロジェクトで、訳者まえがきにも書きましたが、2019年にプロジェクトが開始したにもかかわらず、いまやCNCF傘下のプロジェクトでKubernetesに次いで2番目に活発なプロジェクトとなっています。(下記のCNCFのdevstats参照)これはもともとCNCF傘下にあったOpenTracingと、同様の目的のプロジェクトで同じようにすでにユーザーがいたOpenCensusが合併して成立したのがOpenTelemetryなので、発足時点ですでに関係者が多数いたのが要因の1つではあるのですが、それにしても発足時からの発展は目覚ましいものがあります。
そんなOpenTelemetryの解説書籍ではあるのですが、本書にはコード(プログラム、設定ファイル)の類はほぼ出現しません。これほど巨大なプロジェクトの入門書でコードがほぼ出現しないというのは、個人的には驚くべきことだと思うのですが、これは著者陣が意図してそうしました。OpenTelemetryが数多あるOSSの中でも規模が非常に大きい上に、扱っているものの概念が浸透していないこと、そして公式ドキュメントやサンプルを充実させていることがその理由です。
したがって、本書は次のような方におすすめな書籍です。
- OpenTelemetryプロジェクトの全体像や検討事項を把握したい方
- 『オブザーバビリティ・エンジニアリング』を読んでオブザーバビリティの実践を開始しようとしたけれど、計装やテレメトリー収集に関する戦略に関しての理解を深めたい方
- プロジェクトでOpenTelemetryを使うことになったけれど、プロジェクトの背景や思想を先に知りたい方
OpenTelemetryの各言語用ライブラリを用いて計装をしたり、OpenTelemetryコレクターでテレメトリー収集をし、オブザーバビリティ基盤に送信したり、とい各作業はそれぞれが奥深いものです。筆者たちはそれぞれに関する詳細な解説を書くことも可能でしたが、あえてそれらを削ぎ落とし、背景にある思想や概念、設計方針のアドバイスのレベルでの解説にとどめ、詳細な実装はオンラインのコンテンツに譲った結果、本書はA5版で170ページ程度という、非常に読みやすいボリュームとなりました。
これが可能だったのも、OpenTelemetryというプロジェクトがその始めから、仕様をきっちりと決め、実装はそれに従うというガバナンスを整えていたことによります。もしこれが作者が1人のプロジェクトで、思いつきで実装をしたり、機能を追加したり、APIの仕様変更を行うような製品だったら、こうはいかなかったでしょう。大元の仕様や設計がこれから先しばらくも続くことが想定でき、それでいて細かな実装は変更しうる(APIの下位互換性はある)ものとして、最新版のサンプルを参照するほうが良いからこそ、こうした構成の書籍が成立します。
関連図書
オブザーバビリティバックエンドに関する書籍を挙げると、各ベンダーごとの書籍など多くなってしまうので、ここでは数冊にとどめておきます。
「オブザーバビリティ」という概念そのものを理解するのであれば、まず『オブザーバビリティ・エンジニアリング』をおすすめします。本書でより広い概念を理解したうえで、それを実現するための業界標準になりつつあるOpenTelemetryの理解を『入門OpenTelemetry』で深め、さらに細かな実装に関しては公式ドキュメントや他の解説書を読む、という流れができるでしょう。
OpenTelemetryというプロジェクトはあくまでテレメトリーの計装、収集、送信のみを扱うものです。そのため、テレメトリーがオブザーバビリティバックエンドに送信されたあとの処理に関しては関与していません。しかしながら、テレメトリーの属性(ラベル、ディメンションなどさまざまな呼ばれ方をする)はバックエンドに大きな影響を与えます。例としてはOSSのPrometheusの書籍を挙げていますが、これはベンダーツールでも変わりません。オブザーバビリティバックエンドはOpenTelemetryと対になるものなので、そのつなぎ込みに関わる機能やその概念を理解をすることで、より良い設計ができると思います。
謝辞
本書は日本国内でOpenTelemetryプロジェクトに割と初期から関わっている方々から多くのレビューを頂きました。訳者まえがきでも触れていますが、あらためて私が本書の出版に際してレビューに参加いただいた下記の皆様に感謝します(五十音順)。
- 大谷和紀さん(@katzchang)
- 逆井啓佑さん(@k6s4i53rx)
- 古川雅大さん(@yoyogidesaiz)
- 武藤健志さん(@kmuto)
- 山下和彦さん(@pyama86)
またオライリー・ジャパン社の瀧澤さんにはこの2年で4冊の翻訳書の編集を担当いただきました。本書の出版でここ5年ほどずっと続いていた、常に原稿が手元にある状態がようやく一段落しました。本当にありがとうございました。いまは少しの開放感に浸っていますが、また別の翻訳プロジェクトでご一緒できる機会があれば、よろしくお願いいたします。
おわりに
OpenTelemetryはまだまだこれから普及していくOSSだと思います。いまやコンテナオーケストレーションといえばKubernetesがデファクトになったように、オブザーバビリティといえばまずOpenTelemetryが選択肢に上がるようになってきました。本書はそのような状況にあって、多くの方々がそのプロジェクトと製品の概要を一息に理解するための優れた入門書だと思います。2025年に多くの方がOpenTelemetryに触れられることを期待しています。