WASI
WebAssembly System Interface。Wasmモジュールが「システム」(ファイル、ソケット、時計)とやりとりするための、サンドボックス化された移植性のある標準API。
もともとは2019年のMozillaが発端。ケイパビリティベースのセキュリティが土台で、モジュールはリソースへ暗黙にアクセスできず、ホストのランタイムがファイルハンドルやソケットを明示的に渡す必要がある。現在多くのランタイムが対応するのはWASI Preview 1(snapshot1)で、2024年のPreview 2はコンポーネントモデルを土台にHTTP、キーバリュー、ソケットなどより豊かなインターフェースを備え、WasmtimeやWasmerといったランタイムが向かっている先だ。
これにより、ブラウザの外でもWasmを実用的に動かせる。エッジ関数(Fastly、Cloudflare)、プラグインシステム(Envoy、Shopify Functions)、軽量なコンテナ代替などだ。