Cloudflare WorkersがWebAssemblyでWASIをサポート。WebAssemblyはクロスプラットフォーム対応が当前の世界に

2022年7月11日

Cloudflareは、同社のCDNエッジでWebAssemblyが実行できるサービス「Cloudflare Workers」のWebAssemblyランタイムでWASI(WebAssembly System Interface)をサポートしたと発表しました

Cloudflare Workersは、同社が提供するグローバルなコンテンツデリバリーネットワーク(CDN)のエッジにおいて、開発者がJavaScriptのコードを配置し実行できる機能を提供するサービスです。WebAssemblyランタイムも用意されているため、WebAssemblyの実行にも対応します。

参考:CDNのエッジでJavaScriptとServiceWorkerを実行できる「Cloudflare Workers」がWebAssemblyに対応

今回はこのCloudflare WorkersのWebAssemblyランタイムにおいてWASIと呼ばれるAPIのサポートが発表されました。

システムコールを抽象化してWebAssemblyをポータブルにするWASI

WASIとは、OSのシステムコールを抽象化することでOS依存をなくし、ポータブルなWebAssemblyアプリケーションを実現する業界標準仕様のAPIです。

もともとWebAssemblyはWebブラウザ上で高速に実行できるバイナリフォーマットとして開発されましたが、Cloudflare WorkersのようにWebブラウザ以外の場所でも実行可能なランタイムが登場したことで、WebブラウザだけでなくWindowsやmacOS、LinuxなどのOS上や、CDNエッジなどさまざまな場所で実行されるようになりました。

これらさまざまなプラットフォーム上でWebAssemblyを実行しようとすると、WebAssemblyから、例えばファイルの読み込みや標準入出力などに関するシステムコールを呼び出すことになります。

このときプラットフォームごとにシステムコールのAPIが異なっていると、WebAssemblyのアプリケーションは各プラットフォームに依存したもの、例えばLinux専用のWebAssemblyアプリケーション、Cloudflare Workers専用のアプリケーションを開発しなければなりません。

そこでこうしたプラットフォームごとのシステムコールを抽象化することで、どのプラットフォームでも同一のWebAssemblyアプリケーションで実行可能にするのがWASIなのです。

WASIに則って開発されたWebAssemblyアプリケーションはどのWASI対応WebAssembly対応ランタイムでも同じように実行可能になる、クロスプラットフォーム対応となります。

WASIの普及でWebAssemblyはクロスプラットフォーム対応が当然に

Cloudflare WorkersのWebAssemblyランタイムがWASIに対応したことで、WASIを用いたクロスプラットフォーム対応のWebAssemblyアプリケーションがそのままCloudflare Workersで実行可能になります。

例えば、macOSやLinuxで利用できるWASI対応のスタンドアロンWebAssemblyランタイムであるWasmtimeでも、Cloudflare Workersでも、全く同一のWebAssemblyアプリケーションが実行可能です。

WASIは前述のように事実上の業界標準としてほとんどのWebAssemblyランタイムで実装が進んでいます。Cloudflare WorkersのWASI対応もそうした業界標準対応へのトレンドを象徴するできごとの1つです。

今後WebAssemblyアプリケーションはWASIによってクロスプラットフォームで実行できることが当たり前になっていくと見られます。

あわせて読みたい

WebAssembly プログラミング言語 Cloudflare




タグクラウド

クラウド
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本