WebAssemblyに対してクラウドサービスを抽象化、そのままAWSでもAzureでもGoogle Cloudでも実行可能にする「SpiderLightning」、Deis Labsが公開、標準化も推進

2022年11月8日

WebAssemblyには、ファイルI/OやネットワークアクセスなどのOSが備える基本的な機能を抽象化するWASI(WebAssembly System Interface)と呼ばれる業界標準仕様があります。WASIに準拠して生成されたWebAssemblyバイナリはWindows、Linux、macOSなどのOSに依存せず、どのOS環境でもそのまま実行可能です。

参考:WebAssemblyをWebブラウザ以外の実行環境へ。システムインターフェイスへのアクセスを可能にする「WASI」の策定開始。Mozillaが呼びかけNode.jsらが賛同

WebAssemblyに対してパブリッククラウドの基本サービスを抽象化

WASIはすでに事実上の業界標準となっていますが、このWASIのような抽象化レイヤを、パブリッククラウドが備える基本機能、例えばキーバリューストアやオブジェクトストア、メッセージキュー、イベントハンドリング、分散ロック機構、実行環境のコンフィグレーションなどに対しても用意することで、生成されたWebAssemblyバイナリを書き換えることなくAWSやMicrosoft AzureやGoogle Cloudなど、どのパブリッククラウドでも実行可能にしようというコンセプトを実装したのが、Deis Labsがオープンソースでリリースした「SpiderLightning」です

下記は開発元であるDeis LabsのエンジニアであるMossaka氏のツイート。

Deis LabsはWebAssembyバイナリをKubernetesのノードとして実行可能にする「Krustlet」の開発を主導したことでよく知られています(同社は2017年にマイクロソフトに買収され、現在はマイクロソフト傘下です)。

このことから分かるとおり、同社はクラウド上で、あるいは分散アプリケーション環境でWebAssemblyを活用することを長年にわたって追求してきており、SpiderLightningもその延長線上で開発されています。

SpiderLightningによって、クラウドアプリケーションとしてWebAssemblyバイナリが生成されたら、それを実行するのがAWSのGravitonプロセッサで稼働するインスタンスであろうとMicrosoft Azureのx86サーバであろうと、プライベートクラウドであろうと気にせずにデプロイし実行できることが期待されるのです。

説明によると、SpiderLightningによって抽象化されたクラウドサービスに対するインターフェイスは、WebAssembly Component Modelに含まれているIDL(Interface Definition Language)である「WIT」で記述されており、これらの標準化が行われることで、SpiderLightningが業界標準に沿って拡張可能、つまり多様なクラウドサービスとその機能に対して柔軟に対応できるようになっているとのことです。

WebAssemblyはクラウド用アプリケーションフォーマットとして最有力に

Dockerコンテナが登場したとき、そのさまざまな特徴の1つとして、ノートPCからオンプレミスのサーバやクラウドに対してそのままデプロイできるポータビリティが注目されました。

WebAssemblyはDockerコンテナのような軽量さと分離機能を備えつつ、Dockerコンテナのポータビリティを大きく上回ろうとしています。

つまり、もともとバイナリフォーマットそのものが特定のプロセッサに依存せずどのプロセッサでも実行可能であり、その上WASIによってOS依存から解放されてどのOSでも実行可能であり、さらにSpiderLightningでクラウドの依存性からも解放されようとしているのです。

こうなれば、WebAssemblyは将来のクラウド用アプリケーションフォーマットとして最も有望な地位を得ることになるのかもしれません。

もちろんDeis Labsはそれを目指して開発を進めているのであり、着実にそれは実現に近づいてきているように思われます。

このエントリーをはてなブックマークに追加
follow us in feedly


関連タグ WebAssembly / クラウド / クラウドネイティブ



タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

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

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


最新記事10本