WebAssemblyをコンテナイメージとし、コンテナレジストリなどで配布可能にする「Wasm OCI Artifact layout」仕様が登場

2024年9月26日

WebAssemblyコンポーネントをコンテナイメージとしてDockerレジストリなどで配布可能にする「Wasm OCI Artifact layout」が、「WASI 0.2.1」仕様の一部として公開されました。WASIを推進するBytecode Allianceが発表しました

fig

WASI(WebAssembly System Interface)は、WebAssemblyをWebブラウザだけでなくサーバサイド上のランタイムなどでも実行可能にする仕様で、W3CのWASIサブグループ(WASISG)が策定しています。

コンポーネントモデルを備えたWASI 0.2が登場

WebAssemblyはもともとWebブラウザ上で高速に実行可能なバイナリフォーマットとして登場しました。

そしてWebAssemblyをサーバサイドのWebAssemblyランタイムでも実行可能にするため、POSIXを参考にファイルシステムAPIなどを抽象化してWebAssemblyからアクセスできる仕様として2019年に登場したのが「WASI」(WASI 0.1)です。

その後このWASIを見直し、WebAssemblyバイナリを部品のように自由に組み合わせてアプリケーションを構築できるコンポーネントモデルを採用した新たなWASI仕様のWASI Preview 2(WASI P2もしくはWASI 0.2)が2024年1月に安定版として公開されました。

参考:WebAssemblyを進化させる「WASI Preview 2」が安定版に到達。OSや言語に依存しないコンポーネントモデルを実現

今後はこのWASI 0.2をベースに互換性を保ちつつWASIのバージョンアップが予定されています。

その最初のバージョンアップであるWASI 0.2.1が今年(2024年)8月に発表されました。

WASMコンポーネントがDockerレジストリで配布可能に

WASI 0.2.1では2つの新機能が追加されています。

1つはWebAssemblyコンポーネントのインターフェイスを定義する「WIT」(Wasm Interface Types)の「@since」ノーテーションが追加され、そのインターフェイスが設定されたコンポーネントのバージョンが記述できるようになりました。

そしてもう1つが、WebAssemblyモジュールやコンポーネントをOCI(Open Container Initiative)仕様に準拠したコンテナイメージとして定義し、Dockerレジストリなどで配布可能にする「Wasm OCI Artifact layout」です。

これにより、いわゆるDockerコンテナがコンテナレジストリに保存されているさまざまなコンテナイメージをロードして簡単に実行できるのと同じように、WebAssemblyモジュールをコンテナレジストリに登録して共有し、それをWebAssemblyランタイムやWebAssemblyの実行機能を備えたコンテナランタイムにロードして手軽に実行できるようになります。

WebAssemblyはクラウドネイティブの文脈でも注目されてきた技術です。Wasm OCI Artifact layoutの登場はクラウドネイティブにおけるWebAssemblyアプリケーションの実用化を加速することが期待されます。

あわせて読みたい

Docker WebAssembly Web標準 コンテナ型仮想化 プログラミング言語




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本