Faasta は、WebAssemblyを活用した新しいFunction-as-a-Service(FaaS)プラットフォームとして登場し、コールドスタート時間が1ミリ秒未満、メモリオーバーヘッドも最小限という驚異的なパフォーマンス指標を達成しています。標準ベースのアプローチと自己ホスト機能を備えたこのプラットフォームは、現在のサーバーレス環境における隙間を埋めるものとして、開発者コミュニティの関心を集めています。
WebAssemblyとWASI P2標準がパフォーマンスを向上
Faasta は、WASI P2標準とリクエスト処理のための WASIHTTPを使用して WebAssemblyモジュールを直接実行することで他と一線を画しています。このアプローチは、WebAssemblyを間接的に実行する他のプラットフォームとは大きく異なります。コミュニティでの議論では、この直接実行モデルが、JavaScriptを通じて WebAssemblyを実行する Bun などの代替手段よりもパフォーマンス上の利点をもたらすことが強調されています。
「 Bun 、 Deno 、 Cloudflare Workers を使用している者として言わせてもらうと、少なくとも Bun では、wasmの部分は実際にはJS内で実行され、Bunは単にそのJSを JavaScriptCore を使って実行するだけであり、Bunのドキュメント自体が述べているように、これは決して最適化されていません。」
この設計上の選択により、 Faasta は軽量なフットプリントを維持しながら、印象的なパフォーマンス指標を達成することができます。効率的な WebAssembly実行のために Wasmtime を使用することで、さらにその速度能力を高めています。
Faastaの主な特徴
- WASI P2標準を使用した WebAssembly モジュール
- 高性能HTTP処理のための WASIHTTP
- 関数間の安全な分離
- 超高速コールドスタート(1ミリ秒未満)
- シンプルな設定で自己ホスティング可能
- 標準準拠(WASI P2と WASIHTTP)
- Wasmtime を活用
- faasta.xyz で無料のホスティングインスタンスが利用可能
クラウドプロバイダーによる WebAssembly標準の採用
コミュニティ議論の興味深いスレッドの一つは、主要クラウドプロバイダーによるサーバーレスコンピューティングへの WebAssembly採用に関するものです。一部のユーザーはクラウド大手が WASMと WASIをサーバーレス関数に完全に採用していないことに驚きを表明する一方、他のユーザーは進展が徐々に起きていると指摘しています。
Microsoft Azure は実験的な提供として Spin を出荷し、 Wasmtime と WASI開発に投資しています。 Fastly も WASM駆動の Computeプラットフォームを開発しました。 Cloudflare Workers は JavaScriptと WebAssembly実行の両方をサポートしていますが、一定のサイズ制限があります。
コンセンサスとしては、WASIスタンダードがバージョン1.0に到達すれば、より広範なクラウドプロバイダーの採用が加速する可能性があるようですが、それには数年かかるかもしれません。しかし、 Faasta が実装している現在の WASI P2仕様は、本番アプリケーションを構築するのに十分安定しています。
他のプラットフォームとの比較
プラットフォーム | WebAssembly アプローチ | 標準規格への準拠 |
---|---|---|
Faasta | 直接実行 | WASI P2, WASIHTTP |
Bun | JSを介した実行 | 限定的な WASI サポート |
Cloudflare Workers | WASM をサポート | サイズ制限(1-2MB) |
Azure (実験的) | Spin 実装 | WASI サポート |
Fastly Compute | WASM 駆動 | カスタム実装 |
自己ホスト機能がベンダーロックインの懸念に対応
Faasta の最も議論されている機能の一つは、その自己ホスト能力です。このプラットフォームは最小限の設定要件を持つ単一の静的バイナリとして設計されており、開発者はアプリケーションを書き直すことなく、ホスト型と自己ホスト型の環境間で簡単に移行できます。
このアプローチは、サーバーレスプラットフォームに関する一般的な懸念であるベンダーロックインに直接対応しています。ホスティングプロバイダーがサービスを中止した場合でも、 Faasta ユーザーはアプリケーション開発への投資を維持しながら、自己ホスティングまたは別のプロバイダーに迅速に移行できます。
自己ホスト機能はまた、カスタムドメインサポートとSSL証明書管理に関する議論も開いています。現在、 Faasta は Porkbun DNSを使用した自己ホスト型デプロイメントに対する自動ワイルドカードSSL証明書生成を提供しており、マルチテナントインスタンスで複数のカスタムドメイン証明書をサポートする計画があります。
オープンソース戦略と今後の開発
コミュニティは Faasta のライセンスアプローチに関心を示しています。開発者は Faasta をオープンソースプロジェクトにする計画を示しており、CLIとインターフェースコンポーネントはすでに MITライセンスで利用可能です。サーバーコンポーネントにはコピーレフトライセンスまたはデュアルライセンス戦略が検討されています。
コミュニティからのフィードバックが Faasta の開発ロードマップを積極的に形作っており、ユーザーは関数URLのパスプレフィックスとサブドメインサポート、より多くの例、強化されたドキュメントなどの機能を要求しています。このプロジェクトは現在実験的なものであり、開発者は faasta.xyz ホスティングインスタンスでのサービスが中断される可能性のある破壊的変更について警告しています。
WebAssembly標準が成熟し続ける中、 Faasta は、WebAssemblyのパフォーマンスとセキュリティの利点を自己ホスティングオプションの柔軟性と組み合わせた、サーバーレスコンピューティングのより一般的なアプローチとなる可能性のある初期の実装を表しています。