KubeCon Europe 2024からWASMとeBPFを使ってストリーム処理を解説するセッションを紹介

2024年5月30日(木)
松下 康之 - Yasuyuki Matsushita
KubeCon Europe 2024から、WASMとeBPFを使用したストリーム処理を解説したセッションを紹介する。

KubeCon+CloudNativeCon Europe 2024から、WebAssemblyとeBPFを使ってログのストリーミング処理を行うデモを解説したセッションを紹介する。プレゼンターのMichael Yuan氏は、WebAssemblyのランタイムWasmEdgeの開発元でもあるSecond Stateの創業者兼CEOとして知られている。タイトルは「Fast and Efficient Log Processing with Wasm and eBPF」で、このカンファレンスではトレンドとなっていたWebAssemblyとeBPFが入っていることで注目されていたと言えるだろう。

●動画:Fast and Efficient Log Processing with Wasm and eBPF

Yuan氏はクラウドコンピューティングについて「結局は誰かのコンピュータを借りているだけだ」と説明してその場合、実行されるワークロードには安全で効率的な隔離(Isolation)が必要になると語った。

クラウドは誰かのコンピュータを借りているだけと説明

クラウドは誰かのコンピュータを借りているだけと説明

そしてクラウドコンピューティングが仮想化からコンテナ化と進んできた中で、次の進化はWebAssemblyによるより小さな単位でのワークロードの隔離だと説明。

仮想化からコンテナを経て新しい隔離方法はWebAssemblyによるアプリケーション実行へ

仮想化からコンテナを経て新しい隔離方法はWebAssemblyによるアプリケーション実行へ

マイクロサービスにとってコンテナ化は効率的ではないと説明したのが次のスライドだ。

マイクロサービス、特にサービスメッシュはオーバーヘッドが大きいと指摘

マイクロサービス、特にサービスメッシュはオーバーヘッドが大きいと指摘

コンテナ化されたワークロードが連係するサービスメッシュにおいては起動などにおいてオーバーヘッドが大きく、効率的ではないというレポートを引用して、クラウドコンピューティングのワークロードが細分化されていく場合にはコンテナのオーケストレーションは最適解ではないと紹介した。

WASMをコンテナのランタイムにするという方法を紹介

WASMをコンテナのランタイムにするという方法を紹介

ここではコンテナのランタイムとしてWebAssemblyを使うことを提案。Second StateがWasmEdgeというランタイムを開発していることが背景だが、FermyonやCosmonicがWebAssemblyのワークロード実行のためのサーバー側の仕組みを開発していることと対比して考えると、この発想は当然だろう。またポータブルという部分については、CPUのアーキテクチャーの違い以外にGPUとそれに対応するライブラリーのバージョンなどによってさまざまなバリエーションの実行イメージが存在することを紹介して、WebAssemblyによる同じ実行イメージがどのマシンでも稼働するということが本来あるべき姿であると説明した。

CNCFの2022年のリサーチでもWASMが未来であると紹介

CNCFの2022年のリサーチでもWASMが未来であると紹介

ここではCNCFが行った2022年のリサーチを引用して、WebAssemblyがコンテナの次にくるテクノロジーであると多くの企業が考えていることを説明。

WasmEdgeの解説

WasmEdgeの解説

WebAssemblyのランタイムであるWasmEdgeについて解説し、データベースやキャッシュなどのサポート、生成型AIワークロードのサポートなどに加えて、すでにKubernetesで利用しているさまざまなツールがそのまま使えることを特徴として解説した。

Kubernetes環境でWasmEdgeを使う場合の概念図を説明

Kubernetes環境でWasmEdgeを使う場合の概念図を説明

Kubernetes環境でのランタイムの解説ではハイレベルとローレベルのランタイム、Kubernetes以外のミニマム環境に向けたコンテナオーケストレーションツールもスライドに書かれているように、ムダなリソースを消費せずに効率的にワークロードを実行することを目指していることが感じられる。ちなみにここに書かれているローレベルのコンテナランタイムYoukiはRustで書かれたランタイムで、Preferred Networksの小松亨氏が開発を行っているオープンソースソフトウェアだ。

●参考:https://github.com/containers/youki

そして後半は、今回のテーマであるeBPFを使ってログのストリーミング処理を行う部分にWebAssemblyを使ったというデモの解説となった。ちなみにRedpandaが公開しているブログ記事とGitHubのページに詳細が解説されているので参考にして欲しい。

Redpandaのストリーミングエンジンを使ったログ処理の非同期高速処理を紹介

Redpandaのストリーミングエンジンを使ったログ処理の非同期高速処理を紹介

●参考:https://redpanda.com/blog/data-transformation-engine-with-wasm-runtime
(2024/05/24現在、非公開となっている)

●GitHub:https://github.com/WasmEdge/wasm-log-flex

ログデータ処理のフローチャートを紹介

ログデータ処理のフローチャートを紹介

このスライドではログデータの発生からログの分解から、対象となるデータベースに送られるまでが解説されている。なおYuan氏はこのデモアプリケーションがインターンの学生によって開発されたことを付け加えた。参加者に対して「WebAssemblyの開発はそれほど難しくない」ということを伝えたかったのかもしれない。

eBPFの実装はサイドカーではなくデーモンベース

eBPFの実装はサイドカーではなくデーモンベース

そしてeBPFの実装にはサイドカーを使うのではなく、デーモンをベースにした実装方法を選択したことを説明。

eBPFの実装にWebAssemblyを活用した利点を解説

eBPFの実装にWebAssemblyを活用した利点を解説

WebAssemblyを活用した利点として、コンテナに比較して100分の1のサイズに納めることができたこと、セキュリティを確保できたことなどを解説した。ここはWebAssemblyの利点がそのまま効いているということだろう。

LLMをWebAssembly上で動かすことの利点を説明

LLMをWebAssembly上で動かすことの利点を説明

最後にこれまで何度かのプレゼンテーションで披露されてきた大規模言語モデル(LLM)の実行においても、WebAssembly、WasmEdgeが使えることを解説。これはYuan氏が特に力を入れて2023年後半からデモとプレゼンテーションを行ってきた内容で、過去に日本で行われたイベントでも解説とデモが行われているので参考にして欲しい。

●参考:Cloud Native Wasm Dayから大規模言語モデルをWasmで実行するデモを解説するセッションを紹介

セッション後に参加者からの質問に答えるYuan氏

セッション後に参加者からの質問に答えるYuan氏

eBPFとWebAssemblyというトレンドな単語がタイトルに入っていたためか、参加者も多く盛況でセッション後の質問も途切れないという状況だった。FermyonとCosmonicがフレームワークを中心としてエコシステムを形成しようとしているのに比べると、Kubernetesエコシステムの中でランタイムを中心として共存を目指しているSecond Stateの立ち位置が理解できるセッションとなった。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

クラウドイベント
第10回

KubeCon Europe 2024、IntelのArun Gupta氏にインタビュー

2024/6/11
KubeCon Europe 2024にて、IntelのVP/GMでOpen Ecosystem担当のArun Gupta氏にインタビューを実施した。
運用・管理イベント
第9回

KubeCon Europe 2024にて、New RelicのEMEA担当CTOにインタビュー

2024/6/7
KubeCon Europe 2024の会場にて、オブザーバビリティソリューションを手掛けるNew RelicのEMEA担当CTOにインタビューを実施した。
セキュリティイベント
第8回

KubeCon Europe 2024、ID管理のVenafiのVPにインタビューを実施。マシンID管理とは?

2024/6/4
KubeCon Europe 2024にて、ID管理のVenafiのVPにインタビュー。Venafiが言うマシンID管理とは?

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています