NGINX Unit、サーバサイドWebAssemblyにプレビュー対応。Webアプリケーション開発がWebAssemblyで可能に
今回は「NGINX Unit、サーバサイドWebAssemblyにプレビュー対応。Webアプリケーション開発がWebAssemblyで可能に」についてご紹介します。
関連ワード (一部、主導、安全等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
オープンソースで開発されている軽量なアプリケーションサーバ「NGINX Unit」(エンジンエックス ユニット)が、最新のバージョンである「NGINX Unit 1.31」でサーバサイドWebAssemblyにテクノロジープレビューとして対応し、WebAssemblyランタイムを搭載したことを明らかにしました。
NGINX UnitはこれまでPHPやPython、ruby、Perl、Go言語などに対応し、Webアプリケーション構築が可能でした。今回この対応言語にWebAssemblyが加わったことになります。
Server-side #WebAssembly has immense potential. In a new blog post, @LiamCrilly explores how the NGINX Unit WebAssembly language module showcases the possibilities of server-side #Wasm while offering a lightweight server for running web applications. https://t.co/xu0PSjinb6 pic.twitter.com/nmicAeQ6LX
— NGINX (@nginx) September 5, 2023
NGINX UnitがサーバサイドのWebAssemblyに対応することで、開発者はWebAssemblyに対応したさまざまな言語で、瞬時に起動し高速な実行が可能なWebアプリケーションの開発が可能になります。
WebAssemblyランタイムには、ByteCode Allianceが開発を主導してWasmtimeを採用。OSに依存しないクロスプラットフォーム対応のWebAssemblyアプリケーションの開発が可能なため、ローカル環境で開発し、サーバやクラウドにデプロイするといったことが問題なく行えます。
またNGINX Unitはアプリケーションごとの分離を提供しているため、WebAssemblyのサンドボックス機能によって、信頼されていないコードであってもより安全な実行が可能となります。
ただし現時点ではWebAssemblyモジュールや、WebAssemblyモジュールがHTTPの入出力を行うための標準としてWebAssembly System Interface(WASI)の一部として策定されているWASI HTTPの仕様は完成していないため、これらの標準が策定され次第、対応する予定としています。