WebAssemblyによるサーバレスをKubernetes上で実現する「SpinKube」、CNCFへの寄贈を発表
WebAssemblyによるサーバレスプラットフォームをKubernetes上で実現するオープンソースの「SpinKube」が、Cloud Native Computing Foundation(CNCF)へ寄贈されたことが発表されました。
Today on the #KubeCon + #CloudNativeCon keynote stage, @michelledhanani alongside @Azure & @ZEISS_Group shared how & why #Wasm has taken root in the cloud native world. Read about it getting practical & about @SpinKube's contribution to @CloudNativeFdn: https://t.co/6Mo3WTYDmU
— Fermyon (@fermyontech) March 21, 2024
SpinKubeを構成する4つのソフトウェア
SpinKubeは主に「Containerd Shim Spin」「Runtime Class Manager」「Spin Plugin for Kubernetes」「Spin Operator」の4つから構成されています。
Containerd Shim SpinはKubernetesのノード上でWebAssemblyで構築されたSpinワークロードを実行するためのShimです。containerd上でWebAssemblyを実行可能にするrunwasiと、WebAssemblyをポータブルにするWASI(WebAssembly System Interface)を用いています。
参考:コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていく
Runtime Class managerはKubernetes環境におけるcontainerd shimのインストール、更新、削除、設定などのタスクの自動化などによるライフサイクルを管理します。
Spin Plugin for Kubernetesは、containerd shimsと統合して動作し、Kubernetesが従来のコンテナワークロードと同様の方法でWebAssemblyのワークロードを管理、実行できるようにします。
Spin Operatorは、Spinアプリのカスタムリソース定義(CRD)を定義しKubernetesへのデプロイを可能にします。さらに、Spinアプリのイメージ、レプリカ、スケジューラ、およびその他のユーザー定義値などのSpinAppカスタムリソースを監視し、Kubernetesクラスタ内での適切な状態を実現します。
サーバレス環境でも期待されるWebAssembly
サーバレス環境では現在、コンテナ型仮想化の技術が多く用いられていますが、WebAssemblyはコンテナ型仮想化よりも軽量でより素早く起動し、多くの場合においてより高速に実行され、またサンドボックスによって安全に分離されるなど、技術面で多くの利点があります。
そのためサーバレス環境におけるWebAssemblyの利用は今後の普及が期待されるところです。
SpinKubeのプロジェクトはCNCFの試験的なプロジェクトであるサンドボックスプロジェクトとして開発が進められます。しかしSpinKubeにはFermyon以外にマイクロソフトも積極的に関わっているため、今後の進展次第ではマイクロソフトがMicrosoft AzureでSpinKubeによるサーバレス環境の提供を行う可能性もありそうです。
あわせて読みたい
35年ぶりの第2版「プログラミング言語AWK 第2版」、オライリーから5月発売
≪前の記事
3月31日は「世界バックアップデー」、大事なデータのバックアップをしよう。リストアの確認もお忘れなく