Proxy-Wasm を学ぶために見たアレコレ

最近 Proxy-Wasm が気になったのでドキュメント見たり動画を見たりしてキャッチアップした。この記事はそのメモ。

WebAssembly (Wasm)

Wasm はなんとなく知っている程度だったので Proxy-Wasm を学ぶ前に Wasm とは何か?何を解決するためのものかを学んだ。

まずは公式ドキュメントを見る。 webassembly.org

公式のドキュメントも良いがこのドキュメント内でも紹介されている MDN の Wasm のページも分かりやすかった。 developer.mozilla.org

WebAssembly System Interface (WASI)

WASI についてはリリースされた時に書かれた下記のブログが背景とかも含めて分かりやすかった。 hacks.mozilla.org

Proxy-Wasm

まずは Spec を眺める。 github.com

下記の動画は Istio 1.12 で導入された WasmPlugin API という Wasm module を Istio で良い感じに使うための CRD について解説した動画。Proxy-Wasm についての解説もある。 www.youtube.com

Wasm, WASI, Proxy-Wasm の話が一通りあるのでそれぞれの関連性とかを知る時に良さそう。 www.youtube.com

Tetrate 社が開催した Istio の Wasm Extension の workshop。Istio とは書いてあるが Istio での Wasm module の使用は結構後半でそれまでは Envoy をローカルで使用しつつ Proxy-Wasm の Go SDK を使用しつついくつかの Proxy-Wasm のイベントを実際のコードを使って解説している。 www.youtube.com

まとめ

ここに書いたの以外にも各記事や動画で紹介されてる別の記事や動画を見たりはしているけどひとまず自分見返したりするのは現時点ではここに記載されているものになりそう。