クラウドネイティブ開発の文脈で人気の「eBPF」調査レポートを公開 Meta、Google、Netflixが活用:イノベーションの大きな駆動力に?
eBPF FoundationとLinux Foundation ResearchはeBPFの調査レポートを公開した。クラウドネイティブ開発の文脈で、eBPFが人気を集めているという。
eBPF FoundationとLinux Foundation Researchは、2024年1月30日(米国時間)、「The State of eBPF」を発表した。このレポートは、「eBPF」(extended BPF)の現状、eBPFのユースケースや今後などについて紹介している。内容は以下の通り。
eBPFの現状
Linuxカーネルは、ソフトウェアとハードウェアのインタフェースとして機能し、アプリケーションのさまざまなタスクを処理する。カーネルは約3000万行のコードを有し、重要な役割を果たすが、変更に時間がかかる。これを解決するのがeBPFだ。eBPFはLinuxカーネル内の仮想マシンで、開発者が小さな専門化されたプログラムを記述できるようにする。これらのプログラムは安全性を確保するために検証を経て、JIT(Just-In-Time)コンパイルされ、ファイルのオープニングなどのイベントにアタッチされる。eBPFは汎用(はんよう)性があり、ユーザーがカスタム機能を実装できるようになっている。
クラウドネイティブ開発の文脈で、eBPFが人気を集めている。MetaやGoogleはeBPFベースのスケジューラを組み込んでおり、eBPFの進化した影響力を示している。クラウドネイティブプラットフォームの台頭は、2025年までに新しいデジタルワークロードの95%以上をホストすると予測されており、eBPFの能力とよく合致している。プラットフォームの機能を拡張し、パフォーマンスを向上させ、複雑さを軽減することで、eBPFは次世代のクラウドネイティブなワークロードを促進することが予測されている。
LinuxとKubernetesを取り巻く環境では、Kubernetesの複雑さが変化を阻害する可能性があるが、eBPFは、観測可能性、ネットワーキング、セキュリティツールの開発において受け入れられており、クラウドネイティブの世界では貴重なインフラ技術となっている。
eBPFの進化
Linuxカーネル内にeBPFのような「仮想マシン」を導入しようとする試みは以前にも存在したが、うまくいかなかった。その後、エンジニアのアレクシ・スタロヴォイトフ氏は、新しいアプローチでダニエル・ボークマン氏と協力し、Linuxカーネル内に完全に新しい仮想マシンを挿入するのではなく、「BPF」(Berkeley Packet Filter)として知られるパケットフィルターを移動するための仮想マシンを活用することにした。彼らはBPFの機能をブロックごとに拡張し、それがネットワーキングだけでなく、カーネル内でのコンピューティングにまで広がるようにした。
eBPFのユースケース
eBPFは、5年以上にわたって何百万台ものデバイスやサーバ上で運用されている。Meta、Google、Netflixのような大手企業がeBPFを運用環境で活用している。さらに、eBPFの活用は、ソフトウェア、クラウドサービス、金融、テレコミュニケーション、メディア、eコマース、コンサルティング、セキュリティなど、多様な業界に広がっている。
eBPFの3つの主要なユースケースには、次の3分野がある。
オブザーバビリティ
数十台、数百台、数千台のサーバを含むような分散システムで、企業はシステムがどこに時間を費やしているのか、どこでボトルネックが発生しているのか、CPUがどれくらいの速度で動作しているのか、どこでサイクルを回しているのか、どのコードが誤動作している可能性があるのかを、eBPFを通じてより簡単かつ完全に把握できるようになる。
ネットワーキング
Linuxネットワーキングスタックの多くの部分は、IPやポート範囲がコンテナごとに変更されるのではなく、スプレッドシートで追跡できた数十年前に書かれたものだ。eBPFによって、プログラマーはネットワーキングスタックを書き直したり、必要な部分だけを活用したり、完全にスキップしたりして、時間と処理能力を節約できる。
セキュリティ
eBPFによって強化された観測可能性は、カーネル内だけでなく、Kubernetesやクラウドネイティブ環境全体を含むサイバーセキュリティ攻撃を発見し、防止する能力を向上させる。
eBPFの今後
eBPFは2024年現在広く使われているが、専門家によれば、イノベーションの大きな波が起こるのはこれからだという。カーネル開発におけるCPUスケジューラでのMetaの成功によって、eBPFの能力が明らかになった。
eBPFは、将来的に新しいクラウドネイティブな環境において中心的な技術となり、あらゆるアプリケーションにわたって可観測性、パフォーマンス、信頼性、ネットワーキングおよびセキュリティに影響を与えることが期待されている。
プラットフォームエンジニアは、eBPFを搭載したビルディングブロックを統合し、時代遅れのLinuxカーネル内部を置き換えて、開発者向けのプラットフォームを構築するようになると予想されている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- CNCFがeBPFを採用したオープンソースのクラウドネイティブソリューション「Cilium」の卒業を発表
Cloud Native Computing Foundation(CNCF)は、Ciliumの“卒業”を発表した。CiliumはeBPFを採用したオープンソースのクラウドネイティブソリューションで、ワークロード間のネットワークの接続を提供、保護、監視するものだ。 - BPFプログラムの作成方法、BPFの検証器、JITコンパイル機能
Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載。今回は、BPFプログラムの作成方法、BPFの検証器、JITコンパイル機能について解説します。 - パケットフィルターでトレーシング? Linuxで活用が進む「Berkeley Packet Filter(BPF)」とは何か
Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載。初回は、BPFの歴史や概要について。