【WasmEdge】クラウドネイティブのユースケース向けに最適化されたWebAssembly

WasmEdge

WasmEdge(ワズムエッジ)は、Second State(セカンド・ステート)社が提供するクラウドネイティブアプリケーション向けのWebAssemblyランタイムである。

ニューエイジのプログラミングの分野で注目を集めているSecond State社、そのバリューを創業者であるMichael Yuanに取材した。

スタートアップ バリュー

創業のきっかけは?

Michael Yuan創業者(以下、ユアン):私は、オープンソースの開発者としてソフトウェアのキャリアをスタートさせました。最も成功したオープンソースのJavaアプリケーションサーバの1つであるJBossの作成に携わりました。

Javaに関する本を4冊出版し、コミュニティからJava Championとして認められました。それが2000年代初頭のことです。それから15年後、業界はJavaや.Netなどのマネージド・プラットフォームから、GoやRustなどのモダンな言語で書かれたネイティブ・クライアント(NaCl)へと移行しつつあります。

このシフトの原動力は、ムーアの法則の時代の終焉です。開発者としては、コンパイルされたネイティブアプリを使ってマシンパフォーマンスを最適化しなければならなくなりました。

しかし、クロスプラットフォームの移植性、ランタイムセキュリティ、メモリ安全性、リソース分離など、Javaが数年前に解決した課題は、NaClエコシステムで再び解決される必要がでてきました。

Dockerなどのアプリケーションコンテナは、部分的な解決策は提供しますが、重く、遅く、攻撃対象が大きく、ハードウェアプラットフォーム間ではポータブルとは言い難いです。

2017年、私はWebAssemblyに機会を見出しました。Javaと同様に、ブラウザから始まりましたが、技術が成熟するにつれて、サーバー側でますます使用されるようになりました。

私はWebAssemblyを、コンパイルされたネイティブアプリケーションのためのアプリケーションランタイムと見ています。

「ムーアの法則」以後の時代の「Java」です。私は、Javaの成功と失敗から学び、新しい世代の開発者のためのアプリケーション・プラットフォームを作るということを、もう一度やり直す機会を得たことを非常に幸運に思っています。

これが、オープンソースのWasmEdgeプロジェクトを立ち上げ、それをCloud Native Computing Foundation(Linux Foudnation傘下)に寄贈した理由です。

サービスの概要を教えていただけますか?

ユアン:WasmEdgeは、クラウドネイティブアプリケーション向けのWebAssemblyランタイムです。サーバーサイドのユースケースに最適化されており、ノンブロッキングネットワーク接続、データベースへのアクセス、AIモデルの実行にGPUを使用、Kubernetesでの実行、JavaScript / Pythonアプリのサポートなど、サーバーサイドアプリケーションに関連する拡張機能、API、機能をサポートすることを意味しています。

WasmEdgeの最初のユースケースは、リソースに制約のあるエッジクラウドやエッジデバイス向けに作成されたグリーンフィールドアプリケーションであろうと考えています。WasmEdgeは、クラウドネイティブやサーバーレスアプリケーションのパラダイムをエッジに持ち込むことを目的としています。例えば、下記のような感じです。

  • WasmEdgeは、CDN、5G MEC、ホーム/オフィスのローカルネットワーク上のエッジコンピューティングノードのための優れたランタイムです。高性能ウェブアプリ(React SSR、Percy SSR、クラウドゲーム/メタバースなど)のアイソモーフィックレンダリングや、AI推論、データベース/キャッシュアクセス、その他のビジネスロジック機能のサーバーレス化もサポートできるかもしれません。
  • WasmEdgeは、クラウドデータベースからSaaSに至るまで、クラウドアプリケーションの組み込み機能に最適な軽量かつセキュアなランタイムです。煩雑なJSON Webhook APIを超えた、SaaSのための強力な拡張メカニズムを提供します。
  • WasmEdgeは、リソースに制約のあるパブリックブロックチェーンノードのためのソフトウェアランタイムとして採用されています。コンセンサスからスマートコントラクトまで、すべてを実行することができます。
  • WasmEdgeは、RTOSを含むエッジデバイスのためのミドルウェアランタイムを提供することができます。これは、これらのデバイスで「Java ME」があるべき姿です。

このように、サーバーレスエッジ機能や組み込み機能といったユースケースは、Dockerなどのアプリケーションコンテナと重なる部分もある。ここで、WebAssemblyがコンテナとしてDockerに取って代わると言いたいわけではありません。

それどころか、WebAssemblyのアプリケーションはDockerのアプリケーションと並走することになると考えています。開発者は、Docker / Linuxコンテナで長時間実行するタスクと、WebAssembly / WasmEdge "コンテナ "で一時的に実行するサーバーレス機能を選択できるようになります。まさに両者の良いとこ取りです。

言える範囲までで良いのですが、具体的にどういう仕組みなのでしょうか?

ユアン:WebAssemblyテクノロジーは、ポスト・ムーアの法則の時代に向けて誕生しました。WasmEdgeは、クラウドネイティブのユースケース向けに設計・最適化されたWebAssembly Runtimeです。

まず、WasmEdgeはOCI互換ランタイムであるため、開発者は既存のK8sやコンテナツールを使用してWasmEdgeアプリケーションを管理することができます。

コンテナ管理とオーケストレーションのサポートは、クラウドネイティブアプリケーションをエッジに導入するために不可欠です。

次に、WasmEdgeは、クラウドネイティブアプリケーションに不可欠なエンハンスメント機能を提供します。例えば、WasmEdgeは、WebAssemblyランタイムで高性能かつノンブロッキングなネットワーキングソケットをネイティブにサポートしています。

それにより、クラウドデータベース、エッジキャッシュ、その他のWebサービスへのアクセスが可能になります。もう一つの例は、AIの推論です。WasmEdgeは、開発者がWebAssemblyアプリケーションにtensorflowモデル推論を簡単に取り入れることができるようにします。

第三に、WasmEdgeは、JavaScriptやPythonなど、クラウドネイティブなアプリケーションによく使われるスクリプト言語に対して、第一級のサポートを提供します。

WebAssemblyは素晴らしいものですが、それはJVMやDockerコンテナに類似しています。私たちは、Java時代のアプリケーションサーバーやフレームワークになぞらえて、WasmEdgeに開発者用のAPIや機能、特徴を追加しました。

想定される競合像などがありましたら教えてください?

ユアン:我々は、特に競合はいないと考えます。WebAssemblyの大きな強みは、標準化です。WebAssemblyは、複数の独立した実装を持つW3C標準です。

これらの独立した実装は、(ソフトウェアサプライチェーンの)セキュリティとエコシステムの安定性のために重要です。主要なWebAssemblyランタイムには、WasmEdge、wasmtime、wasmer、v8、WAMRがあります。

上記で説明したように、WasmEdgeには多くの追加機能や拡張機能があり、クラウドネイティブアプリケーションに適しています。また、WasmEdgeはCNCF / Linux Foundation傘下の唯一のWebAssembly Runtimeプロジェクトです。

このプロジェクトには大規模なコミュニティがあり、グローバル500社以上の企業が自社のプロジェクトに採用しています。ピアレビューされたIEEE出版物のパフォーマンス分析(コーネル大学)によると、WasmEdgeは、市場で最新のWebAssemblyランタイムの1つでもあります。

今後の展望は?

ユアン:Second Stateは、WasmEdgeプロジェクトの創設チームです。私たちは、オープンソースプロジェクトを推進し、そのユーザーコミュニティに商業サービスを提供することを目的としています。

チームとして、私たちは次のことを行います。

  • WasmEdgeプロジェクトの開発、メンテナンス、およびプロモーション。WebAssembly標準をベースに、クラウドネイティブアプリケーション開発者が必要とする機能や拡張機能を開発し続ける。
  • コミュニティのユーザーが独自のアプリケーションのための軽量コンテナとしてWasmEdgeを展開するのを支援する。
  • WasmEdgeを利用した独自のクラウドサービスをコミュニティ向けに立ち上げる。これらは主に、特殊なユースケース向けのサーバーレスFunction-as-a-Serviceとなる予定で、大きな期待がよせられています。

オープンソースプロジェクトの成功は、そのコミュニティにかかっています。私たちは、コミュニティのユーザーや開発者から、より多くの関与や貢献が得られることを望んでいます。

GitHubリポジトリにアクセスし、スターを付け、ドキュメントを読み、オープンイシューをチェックし、ディスカッションボードに参加する、WasmEdgeコミュニティの一員になりませんか!

皆様のご参加をお待ちしております。

COMPANY

社名:Second State

設立:2019 US

創業者:Michael Yuan

分野:プログラミング

(Photo: ○○,URL)


スタートアップレビューでは厳選されたスタートアップ企業にのみ直接取材、掲載許可をいただいて記事を発行しています。
現在日本で成功しているサービスも、海外スタートアップから着想を得てローカライズされたものが多くあります。次のビジネストレンドとアイデアのアップグレードにお役立てください。