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