Spin は WebAssembly をクラウドにもたらします

Spin は、Fermyon クラウド上で実行される WebAssembly を使用してクラウド マイクロサービスを構築および実行するための新しいオープン ソース フレームワークです。 Fermyon は の SDK もリリースしています。 ネット。

まず、WebAssembly は、バイトコード形式にコンパイルできる任意の言語でコードを記述するために、すべての主要な Web ブラウザーに組み込まれるランタイムとして宣伝されました。 そのため、一般的なブラウザは JavaScript だけでなくコンパイル済みのバイナリも実行できるため、2 つ目のプロパティである Javascript キラーが追加されました。 .

物事が進むにつれて、これらの仮定は両方とも暴かれました。 WebAssembly はブラウザーの制約を解き放ち、マイクロサービスやサーバーレス機能の実行に使用したり、コマンド ラインで Wasm バイナリを実行したりできるため、クロスプラットフォームの CLI アプリケーションを開発することもできます。 そのため、JavaScript を強制終了するのではなく、JavaScript と相互運用することさえできます。

しかし、クラウド向けの WebAssembly に戻りましょう。 Fermyon は Spin を作成しました。

Web アプリ、マイクロサービス、およびその他のサーバーのようなアプリケーションのフレームワーク。

Spin は、HTTP リクエストへの応答などを実行できる WebAssembly モジュールを作成するためのインターフェイスを提供します。 Spin のユニークな点の 1 つは、多言語フレームワークであることです。 Rust と Go はどちらも Spin で強力にサポートされていますが、Python、Ruby、AssemblyScript、Grain、C/C++、およびその他の言語を作成することもできます。

Spin を使用すると、Web サーバー (WAGI サーバーに置き換えられます) を除外し、必要な言語 (Rust、C、JavaScript、Python など) で HTTP ハンドラーを書き出すことによってマイクロサービスのオーバーヘッドを削減し、WebAssembly にコンパイルします。 ホスト ランタイムは、ファイルシステム (高度にサンドボックス化されたもの)、送信 HTTP、キー/値ストレージなどの必要な機能を提供します。 したがって、マイクロサービスをビジネス ロジックの処理に集中させ、基盤となるプラットフォームですべての HTTP、SSL/TLS などを管理できるようにします。

Spin を使用すると、クラウド コンピューティング アプリケーションに必要な要件も満たすことができます。

  • 強力なセキュリティ
  • 小さなバイナリ サイズ
  • 読み込みと実行が速い
  • 多くの OS とアーキテクチャのサポート
  • クラウド サービスとの相互運用性

Rust で記述された Spin “Hello World” は次のようになります。

#[http_component]​
fn hello_world(_req: Request) -> Result {​
Ok(Response::builder()​
. status(200)​
. body(Some("Hello, Fermyon!". into()))?)​
}​

Spin モジュールを書くことは、Go でも大差ありません。

func main() {
spin. HandleRequest(func(w http. ResponseWriter, r *http. Request) {
fmt. Fprintln(w, "Hello, Fermyon!")
})
}

スピン v0. 7. 先月リリースされたフレームワークの 0 バージョンには、次のものが付属しています。

  • シークレットの HashiCorp Vault 統合
  • Spin アプリケーションから MySQL データベースへの接続のサポート。
  • JavaScript および TypeScript 用の新しい Spin SDK

Fermyon は の SDK もリリースしています。 NET は次の目的で使用できます。

  • Spin executor を使用して Web アプリケーションとマイクロサービスを構築する
  • HTTP リクエストを外部ホストに送信する
  • Redis ストアの読み取りと更新
  • PostgreSQL データベースのクエリと更新

以上で、WebAssembly は、VM、コンテナー、および Kubernetes に代わる、より優れた軽量の代替手段となります。

詳しくは

フェルミオンスピン

スピンの紹介

Spin で構築されたシンプルな URL 短縮サービス

関連記事

Blazor WebAssembly クラッシュ コース

I Programmer の新しい記事について通知を受けるには、毎週のニュースレターにサインアップし、RSS フィードを購読して、フォローしてください。 ツイッター、 Facebook または Linkedin。

バナー

ピコブック

コメント

または、コメントを電子メールで送信してください: comments@i-programmer.info

.

Leave a Comment

Your email address will not be published. Required fields are marked *