訳者まえがき
私が初めてeBPFという技術の存在を知ったのは、2017年ごろ、当時の所属企業で運営していたサーバホスティングサービスで、負荷の増大や可観測性の問題にぶつかっていた時でした。当時のeBPFの状況と利用していたカーネルのバージョンの制限で実践投入までには至らなかったのですが、とはいえ運用上のさまざまな課題の解決にeBPFの力が非常に役立ちそうだ、という期待感に胸を膨らませたのを覚えています。その後、個人的に開発していたBCCのRubyバインディングに関する提案が2019年度Rubyアソシエーション開発助成の選考に通過し†1、おかげでBCCとeBPFに向き合う時間を与えてもらうことができました。
[†1] 「RbBCC - Linuxのトレーシング技術をCRubyから利用する環境の整備」 https://www.ruby.or.jp/ja/news/20200508
eBPFとの出会いから6年ほどが経過し、その時に比べてlibbpf、BPF検証器、CO-REなどなどさまざまな機能が追加あるいは強化され、CiliumやFalcoなど多くのクラウドネイティブミドルウェアで使われるようになり、「実用」の段階に至りました。Lizも言及していますが、ひと昔前にあったLinuxコンテナの拡大期のような勢いを感じます。
このように注目を集めているeBPFですが、技術に飛びつく前に少しだけしゃがんで、eBPFの概念や内部実装について思いを馳せてみるのも面白いのではないかと思います。本書は手を動かしながら、一歩一歩eBPFサブシステムを構成する技術を確認し、理解していく構成となっています。単に隠蔽された技術を使うのではなく、メンタルモデルを構築してから活用したい技術者や、低レイヤ技術を深掘りするのが好きな方にはうってつけの本だと思います。また、本書の内容でeBPFのプログラミングに関する基本的な要素がほとんどカバーされています。したがってLinuxのための新しいOSSを作ってみたいプログラマにもお勧めします。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access