オープンソースのWebAssemblyサーバレス基盤「Wasm Workers Server 1.0」正式リリース。RubyとPythonのWASMランタイムに対応し、Ruby/Pythonでの記述が可能に

今回は「オープンソースのWebAssemblyサーバレス基盤「Wasm Workers Server 1.0」正式リリース。RubyとPythonのWASMランタイムに対応し、Ruby/Pythonでの記述が可能に」についてご紹介します。

関連ワード (抜粋、記述、起動等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


VMware Wasm Labsは、Node.jsやDenoのようにWebAssemblyやJavaScriptで記述したWorkerをサーバサイドでイベントドリブンに実行できる「Wasm Workers Server」のバージョン1.0をリリースしました。

Wasm Workers Server v1.0.0 is out. We are happy to announce the support for Python, Ruby and more languages in the future!

From now on, you can create worker-based serverless apps using any of these languages and run them in #WebAssemblyhttps://t.co/oeceLzHQTO

— Wasm Labs (@vmwwasm) February 23, 2023

Wasm Workers Serverは、WebAssemblyランタイムであるWasmtimeの上に構築されているのが特徴。

Wasm Workers Serverのディレクトリに保存されたWorkerとなるファイルが、WebブラウザなどからのHTTPリクエストによって起動、実行され、結果を返す、といった処理が可能です。

Wasm Workers Servece 1.0でRubyとPythonに対応

これまでWorkerとなるファイルは、Rustで記述されWebAssemblyにコンパイルされたWebAssemblyモジュールのファイルか、JavaScriptで記述されたファイルに限られていました。

WorkerとしてWebAssemblyに対応しているのは、Wasm Workers ServerがWebAssemblyランタイムのWasmtimeを基盤としていることから当然と言えます。

JavaScriptが実行可能なのは、Wasm Workers ServerにWebAssemblyによるJavaScriptランタイムであるQuickJSが組み込まれているからです。QuickJSがJavaScriptファイルを読み込んで実行します。

そして今回のWasm Services Worker 1.0では、この2つに加えてRubyとPythonで記述されたスクリプトもWorkerとして実行可能になりました。

これはRubyとPythonをそれぞれWebAssembly上で実行可能にするWebAssemblyランタイムを利用することで実現されました。現時点ではVMware Labsが独自にビルドしたランゲージランタイムが利用されます。

ファイルベースのルーティング機能を搭載

Wasm Workers Serviceの具体的な動きを見てみましょう。以下はデモ動画「Python and Ruby support in Wasm Workers Server v1.0.0」からの抜粋です。

Rubyで「Hello from Ruby」と返すシンプルなWorkerファイルを記述し、Wasm Workers Serverのディレクトリに「worker.rb」というファイル名で保存します。

fig

Wasm Workers Serviceはファイルベースのルーティング機能を備えているため、ファイル名によって自動的にこのWorkerのエンドポイントが決まります。

ローカルでアクセスする場合、Webブラウザから「127.0.0.1:8080/worker」へアクセスすることで、このworker.rbにアクセスでき、実行されて「Hello from Ruby」が表示されるわけです。

fig

Wasm Workers Service 1.0ではダイナミックルーティング機能も備わりました。今後はさらに新たなプログラミング言語への対応なども追加すると説明されています。

このようにWasm Workers Serviceは、WebAssemblyのおかげでWindows、Linux、macOSをはじめとする多くのOSに対応し、ローカルマシンやクラウド、コンテナ環境などを含むほどんな環境でも簡単にインストールして実行でき、マルチランゲージ対応に対応するシンプルなサーバレス基盤となっています。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
「Zoomへの信頼を取り戻す」–ZVC Japanの佐賀代表に聞く
IT関連
2021-06-09 16:18
産業用ロボットのノーコードプログラミングを実現する独Wandelbotsが新たに約95.7億円調達
IT関連
2022-01-27 13:33
Axiom Spaceの民間宇宙ステーション加圧モジュール開発は仏伊Thales Alenia Spaceが担当
宇宙
2021-07-20 09:31
Brave、プライバシー重視の検索エンジン「Brave Search」提供へ–グーグルと差別化
IT関連
2021-03-04 08:32
自宅を職場と同じ環境と化すコミュニケーションツール–SENTANが開発
IT関連
2022-01-22 19:16
【レビュー】2022年のメルセデス・ベンツEQSはラグジュアリーEVの未来に賭ける、ただし賭金は高い
モビリティ
2021-04-27 18:23
AIがビジネス成果に結実していく「AI Everywhereな世界」に–日本テラデータ・高橋社長
IT関連
2024-01-06 15:30
設計書は作る? ロックインでも大丈夫?–ローコード開発で考慮すべきポイント
IT関連
2021-03-20 05:09
iMessageなど15種のメッセージをまとめて送受信できるPebble創業者が開発したアプリ「Beeper」
ソフトウェア
2021-01-26 18:31
NEC、生体認証とIDの連携サービスを開始–社内実践を商用化
IT関連
2021-01-15 03:25
外国人特定技能人材のマッチングプラットフォームtokutyが3000万円のシード調達
IT関連
2022-01-19 06:44
セキュリティの観点から議論される、オープンソース開発者への適切な対価の必要性
IT関連
2022-01-29 11:52
馬と人類の歴史をロボットと人間の関係構築に生かすには
IT関連
2023-09-20 22:32
2021年に押さえておきたい8つのアナリティクス業界トレンド
IT関連
2021-01-25 22:03