オープンソースのクラウドネイティブなFaaS「OpenFunction」がコンテナに加えてWebAssemblyをサポート。ランタイムにWasmEdgeを統合
今回は「オープンソースのクラウドネイティブなFaaS「OpenFunction」がコンテナに加えてWebAssemblyをサポート。ランタイムにWasmEdgeを統合」についてご紹介します。
関連ワード (同期用、言語、記述等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Cloud Native Computing Foundation(CNCF)のSandboxプロジェクトとして開発が進められているオープンソースのFaaSプラットフォーム「OpenFunction」がバージョン1.0の登場に合わせてWebAssemblyをサポートしたことが発表されました。
OpenFaaSはコードをコンテナイメージにビルドし、それをKubernetes上のランタイムでイベントドリブンに実行するなど、さまざまな機能が統合されたFaaS(Function as a Service)プラットフォームです。下記のように、多くのオープンソースソフトウェアによって構成されています。
これまで、OpenFaaSで実行されるのはコンテナイメージであり、そのためにKEDA(非同期用ランタイム)もしくはKnative(同期用ランタイム)の2つのランタイムがOpenFaaSに組み込まれています。
今回リリースされたOpenFunction 1.0.0では、このOpenFaaSのランタイムとしてWebAssemblyランタイムであるWasmEdgeが組み込まれたことが発表されました。
下記は「Announcing OpenFunction 1.0.0: Integrate WasmEdge to support Wasm Functions and Enhanced CI/CD」からの引用です。
OpenFunction now supports building and running wasm functions with WasmEdge as the workload runtime.
OpenFunctionはWasmEdgeをワークロードランタイムにすることで、WASMファンクションのビルドと実行をサポートします。
開発者はWebAssemblyに対応したさまざまなプログラミング言語でOpenFunctionの関数を記述することができるようになります。
Docker社がDocker DesktopにWebAssemblyを統合したことに代表され、containerdにはWebAssemblyをコンテナとして扱うためのrunwasiが統合されるなど、WebAssemblyはいま、コンテナと同じような新しいソフトウェアのコンパクトな実行形態として、あるいはクラウドネイティブな実行形式の1つとして、その利用範囲を着々と広げています。
参考:Docker DesktopがWebAssemblyランタイムを統合。コンテナと同様にWebAssemblyイメージを実行可能に
参考:コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていく
OpenFunctionのWebAssembly対応も、そうした大きな流れの1つと言えそうです。