サーバサイドWebAssemblyに、かつてのCGIの仕組みを取り込んだ「WCGI」をWasmerが発表。すぐ起動し安全に分離されるWebAssemblyの特長が活きる

今回は「サーバサイドWebAssemblyに、かつてのCGIの仕組みを取り込んだ「WCGI」をWasmerが発表。すぐ起動し安全に分離されるWebAssemblyの特長が活きる」についてご紹介します。

関連ワード (上記、化済、開発等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

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


スタンドアロンのWebAssemblyランタイム「Wasmer」の開発元であるWasmer.ioは、サーバサイドのWebAssemblyフレームワークとして、かつて動的なWebサイトを構築する技術として主流だったCGI(Common Gateway Interface」の仕組みを取り込んだ「WCGI」を発表しました。

Today we are incredibly excited to announce WCGI.
WCGI allows running any CGI app with WebAssembly and Wasmer!

(…we got WordPress running! )

Check it out!https://t.co/TNTctlBqJa pic.twitter.com/tOZpdhd1Eq

— Wasmer (@wasmerio) April 6, 2023

WCGIは、既存のPHPやPythonのCGIアプリケーションをWebAssemblyにコンパイルするだけで簡単にサーバサイドのWebAssemblyアプリケーションになるのが大きな特長の1つです。

実際にWasmer.ioはWordPressをWebAssembly化し、ローカル環境でWCGIとして簡単に起動するデモ動画を公開。上記のツイート内の動画がその様子です。

以下の手順で実際に試すことも出来ます。具体的には、Wasmerをインストールして、データベース用のディレクトリを作成、WebAssembly化済みのWordPressデモアプリを起動するだけです。

WindowsのWSL環境で試しましたが、下記の手順で簡単にローカルPC上でデモが起動しました。

この「wcgi-wordpress-demo」では、PHPをCGIで実行可能にするPHP-CGIがWebAssembly化され、そのアプリケーションとなるPHPで作られたWordPressのコードがパッケージングされているようです。

コンパクトかつサンドボックスによる安全性も

WCGIの2つ目の特長は、Dockerコンテナなどに比べると、アプリケーションを非常にコンパクトにパッケージングできるということです。

パッケージングに必要なのは、コンパイル済みのバイナリとなったWebAssembly化されたアプリケーションと関連ファイルであること、そして迅速に起動することも、(かつてのCGIの遅いイメージと比べても)利点といえるでしょう。

3つ目はWebAssemblyの特徴でもあるサンドボックス化された実行による安全性です。HTTPリクエスト毎に実行されるインスタンスはWebAssemblyのサンドボックス内で実行されるため、そこから外部に対して不正にアクセスされるといった可能性は非常に低くなります。

Wasmer.ioではPHP用のWCGIテンプレートやRustでWCGIを開発する手法について解説しています。

CGIはかつて動的なWebサイトを構築する手法としてよく使われていましたが、HTTPリクエスト毎にプロセスが起動され、結果をWebサーバに返すという仕組みのために処理速度やスケーラビリティに課題を抱えており、現在ではあまり使われなくなりました。

このCGIの課題を軽量で迅速に起動し実行されるWebAssemblyによって再構築しようというWCGIの取り組みは、WebAssemblyの特長を活かしたサーバサイドWebAssemblyの実装手段として興味深いのではないでしょうか。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
製品チームが簡単にユーザーインタビューを行い仮説を検証できるプラットフォームを英国Ribbonが開発
ソフトウェア
2021-03-30 15:19
KnativeがCNCFのプロジェクトになった
IT関連
2022-03-05 14:05
「Windows 11」、デフォルトブラウザーの変更方法が複雑に
IT関連
2021-08-23 15:23
HashiCorp、「HCP」日本リージョンの一般提供を発表–対象サービスは「Vault」「Consul」
IT関連
2022-08-05 01:29
クラウド型電子署名サービス協議会、「なりすましリスク」についてホワイトペーパー
IT関連
2022-04-28 23:36
Dropbox、所定の監査および審査を経てISMAPに登録
IT関連
2024-05-19 09:23
IoTで「生活を便利に」「業務を改善」するブログ記事募集、ソラコムがラズパイとSORACOM活用コンテスト開催
IoT
2021-04-20 00:23
10年連続で1位を獲得、ランサムウェアの最新事情
IT関連
2025-02-11 12:33
Ubieが生活者と地域のかかりつけ医をつなぐクリニック向け「ユビーリンク」開始、医薬品卸売スズケンと共同展開
ヘルステック
2021-07-28 00:54
EVタクシーの充電運用最適化へ–プラゴらが遠隔制御など使い実証実験
IT関連
2024-12-05 17:00
中国のハッカーがNSA関与とみられる「イクエーショングループ」の攻撃ツールをクローン化か
IT関連
2021-02-25 19:48
ロボットが飲み物をオフィスにお届け、セキュリティゲートを認証カードで通過 三菱地所が実験
ロボット・AI
2021-02-23 08:02
「SAP Build」でフュージョン開発を実現–SAP幹部に聞く「SAP BTP」の方向性
IT関連
2024-01-18 10:27
「Angular 12」正式リリース。Webpack 5正式サポート、IE11のサポートが非推奨、Strictモードがデフォルトに、「Ivy」レンダリングエンジンへの移行が事実上完了など
Angular
2021-05-14 12:03