
232
ここまで述べてきたようなメリットがあるWasm ですが、サーバーサイド
で実行させるためにはWasmアプリを管理するしくみが必要です。2-9
でDockerコンテナ管理のためにKubernetesというしくみがあることを説
明しましたが、Wasmアプリも Kubernetesが利用しているのと同様のしく
みでコンテナオーケストレーションができます。Kubernetesはcontainerd
を経由してコンテナを管理できますが、Wasm では containerd-wasm-shim
のwasmedge を経由して Wasm アプリを管理できます(図 12-19)。
Microsoft Azure の AKS ではrunwasi を使用したWasmの実行がプレビ
ューサポートとなっています(2024年3月現在)。また、HashiCorp社も自
社の提供するコンテナに依存しないアプリケーションオーケストレーショ
ンプラットフォームであるNomad で Wasm の実行をサポートしています。
WASIは 2019 年に策定が開始された比較的新しい仕様です。WASI
Preview 1 では、POSIX(Portable Operating System Interface)に似た基本
的な機能としてファイル、ネットワーク、クロック、乱数などの機能を
wasi-coreと呼ばれるコア機能でカバーしています。WASI Preview 2 では、
POSIX的なAPIの実装を超えて、キーバリューやH