CNCFのWebinarから、AdobeとAkamaiがwasmCloudを解説したセッションを紹介
オープンソースソフトウェアによるクラウドネイティブなシステムを推進するための団体、Cloud Native Computing Foundation(CNCF)が定期的に公開しているWebinar、Cloud Native Liveという動画シリーズから、WebAssemblyを使ったKubernetesの次のプラットフォームを目指しているwasmCloudに関する動画を紹介する。
●動画:CNL: Wasm across Any Cloud, Any K8s, or Any Edge with CNCF wasmCloud
MC役はVMwareのWhitney Lee氏だ。Brooks Townsend氏はwasmCloudの開発をリードするCosmonicのシニアエンジニア、Colin Murphy氏はAdobeのエンジニア、そしてDouglas Rodrigues氏はAkamaiのシニアアーキテクトという肩書きを持つ。これまでもCosmonicは自社のユーザーとしてAdobeをKubeConに併設されたCloudNative WASM Dayなどで紹介しているが、今回はAkamaiを交えて解説するという内容だ。
動画は約1時間という長さで前半はCosmonicのTownsend氏が担当し、後半をAdobeとAkamaiのエンジニアが担当するという形式となっている。
プレゼンテーションのタイトルが「Wasm Native Orchestration」となっているのは、クラウドネイティブなコンテナオーケストレーターとしてすでにデファクトスタンダードとして位置付けられているKubernetesを意識したものだろう。
ソフトウェアの名称にCNCFという単語を追加したのは、wasmCloudがCNCFのインキュベーションプロジェクトであることを強調するためだ。KubernetesをホストしていたCNCFのお墨付きであることを明示的に意識させるという発想だろう。
ここではwasmCloudのコンポーネントの違いを説明するために、レゴブロックを例に挙げて解説。この図の緑のレゴブロックはユーザーが書くアプリケーション、つまり企業においてはビジネスを実行する機能を表している。黄色のレゴは共通で利用する再利用可能なコンポーネント、灰色のレゴはキーバリューストアやデータベースなどに相当する。ベンダーロックインを避けるという部分が最初に解説されているが、これはwasmCloudではなくCPUのアーキテクチャーを超えて実行可能なWebAssemblyそのものの特性を指していると思われる。
このスライドではクラウドとオンプレミスだけではなくエッジでもアプリケーションを実行可能であること、そしてクラウドもリージョンを超えて通信させることが容易に設定可能であることを示している。KubernetesがGoogleのクラスター内のコンテナオーケストレーションから始まったものの、ベンダーロックインを避けてリージョンを超えて相互接続することが簡単ではないことを知っているエンジニアに、暗にその優位性を示していると言える。特にCPUやメモリー資源が限られるエッジにおいては、KubernetesのクラスターやPod、ランタイムを省略した小さな実行環境を欲しがるエンジニアには刺さるメッセージングだろう。
このスライドでは仮想マシンからコンテナに移行したクラウドネイティブなシステムについて、WASMはそれ単独で完結できる実行形態として「極小の仮想マシン」であると呼び、同時にさまざまな開発言語でWebAssemblyのフォーマットを生成できることを示し、Kubernetesとの違いを訴求している。
Townsend氏のスライドの最後は、WASMがさまざまなプログラミング言語から生成できることを示し、ポータブルで相互呼び出し可能なインターフェースを持っていることを説明してAdobeのエンジニアであるColin Murphy氏と交代した。
ここではwasmCloudとKubernetesの比較として、wasmCloudはパブリッククラウド、拠点のエッジサーバー、そしてスマートデバイスなどに代表されるエッジデバイスでも実行と通信処理が可能であることを示している。対してKubernetesはクラウド、複数のクラウド間の通信処理において利用可能だが、wasmCloudであればロケーションや実行するCPUのアーキテクチャーを超えて実装可能であることを説明している。
ここでAdobeが紹介したデモは、写真や動画などのデータからその真正性をデータに付随するクレデンシャルから確認を行うというものだ。フロントエンドのクライアントのPCから画像データをAkamaiのWASMのアプリで受信して、それをC2PA(Coalition for Content Provenance and Authenticity、コンテンツの来歴を証明する技術標準)の機能(verify.contentauthenticity.org)で処理し、ログをAWSに保存するというものだ。このAkamaiとAWS間の通信はwasmCloudではLatticeと呼ばれるNATSをベースにした通信のためのコンポーネントが担当している。
このデモそのものがAdobeやMicrosoft、BBCなどによるC2PA、CAI(Content Authenticity Initiative、コンテンツ認証イニシアチブ)などのコンテンツに大きく関与する企業が結成した組織の目的に合致した内容となっている。Adobeはグラフィックス関連アプリケーションのリーダーとして、生成型AIによって生成された真正ではない写真が流通してしまうことに大きな懸念を抱いており、BBCも報道機関として偽装された写真などを排除したいという意図が前述のC2PAやCAIなどの団体を結成した目的だろう。C2PAについては以下を参照されたい。
Adobeが写真の真正性を確認するという目的のためにWASMとwasmCloudを使うというのは単なるPoCではなく、Adobeにとっては今後、非常に重要な機能となってくる部分をwasmCloudで実装することを意味しており、そこにAkamaiが関与しているというのも意味としては大きなものだろう。
このスライドではデモで利用されたマニフェスト(YAML)ファイルを見せて、いかにシンプルな構成になっているのかを紹介した。ここではKubernetesとの比較としてシンプルであることを示している。またスライドに表示されたWADMはWebAssembly Deployment Managerの略称で、Kubernetesにおけるリコンサイルループを実行するスケジューラーと同じ機能を実行するモジュールだ。WADMはマニフェストに書かれたあるべき姿と実際の姿を合致させる機能を実現している。
WADMに関してはKubeCon NA 2023のセッションでの解説を元に記事を書いているので参照して欲しい。
●参考:Cloud Native Wasm DayからWebAssemblyのスケジューラーWADMを解説するセッションを紹介
このデモでは例として全米の大学バスケットボールの試合の写真を使っている。そしてその写真の由来がどこなのかを確認するのがこのデモの主な機能となる。
このデモのアーキテクチャーについて解説を行ったのは、AkamaiのシニアアーキテクトであるDouglas Rodrigues氏だ。
ここではユーザーとの通信をAkamaiのグローバルに配備されたPOP(Point of Presence)を通じてルーティングを行い、リージョンごとに設けられたエッジを経てコアのクラスターに用意されたさまざまなサービスに到達するまでを図式化している。ここではLatticeのネットワークがエッジとコアを透過的に扱えるという部分が重要だろう。アプリケーションデベロッパーにとってその機能がどこで実行されるのかを意識する必要がなくなるのは大きな意味がある。
そしてAkamaiがWASMをクラウドで使う意図について解説したのが次のスライドだ。
ここでは同期と非同期の違いが明確に定義されていること、データの扱い、マルチ及びハイブリッドクラウドでの実装、コードの移植性などを良い点として挙げている。特にEUのデータ保護規則、GDPRに代表される「どのデータを領域外に持って行けるのか」などを念頭に置いて解説を行っている。領域外に持って行けないデータはエッジでマスクなどを行って処理する必要が発生するが、それを規制の変化に合わせて柔軟に行えるというのは大きな利点だろう。
またWASMに向かない点としてはレガシーでモノリシックなアプリケーション、そして強固な整合性が要求されるアプリケーションを挙げた。まだSoR(System of Records)には向いていないが、それ以外のアプリケーションであれば多くの部分をカバーできるというのがAkamaiの言いたいことだろう。
最後にこのWebinarのQ&Aの部分を紹介したい。ここでは、CosmonicのCEOであるLiam Randall氏が2024年11月にソルトレークシティーで開催されるKubeCon NA 2024のWASMCONではAmerican Express、Adobe、Akamai、BMWなどのwasmCloudのユーザーが登壇することを表明している。WASMCONのスケジュールは以下から参照可能だ。
●参考:WASMCONのスケジュール:https://events.linuxfoundation.org/wasmcon/program/schedule/
このスクリーンショットのQ&Aの中ほどでCosmonicのCTOであるBailey Hays氏が「I can't believe brooks didn't pick tar heels」と書いているのがおもしろい。Townsend氏もHayes氏もノースカロライナ州の大学を卒業しており、Hayes氏のほうが7年ほど先輩となる。Townsend氏が卒業したノースカロライナ大学チャペルヒル校は男子バスケットボールの強豪校でNBAのChicago Bullsのレジェンド、マイケル・ジョーダンの母校である。そのバスケットボールを含む同大学のスポーツチームはTar Heelsと呼ばれているため、デモでノースカロライナ大学チャペルヒル校のバスケットボールチームの写真を使わないのはどうしてだろう? というジョークである。
また別のQ&AでブラウザーのWASMに関する質問が出ているが、これは「ブラウザーのためのWASM」という概念から抜け出せていない人を想定した質問と言える。すなわちwasmCloudがサーバーサイドで動くこと、WASMのオーケストレーションがこのセッションの前提になっていることを再確認するためのものだろう。それに対してHayes氏は、JavaScriptのホストとしてのwasmCloudが利用可能となる計画があることを回答している。サーバーサイドのJavaScriptコミュニティに対しても配慮していることを示している。
Adobeが行ったWASMに関するユースケースは以下の記事を参考にして欲しい。
●参考:KubeCon Europe 2023共催のWasm Dayから、AdobeのWASMユースケースを紹介
KubeCon NA 2024のWASMCONでどんな内容のユースケースが紹介されるのか、楽しみになるセッションとなった。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- KubeCon Europe 2023共催のWasm Day、Cosmonicが作成したWASMを解説する絵本を紹介
- KubeCon EU 2022、WebAssemblyでダウンタイムのないアプリ実装を解説するセッションを紹介
- Cloud Native Wasm DayからWebAssemblyのスケジューラーWADMを解説するセッションを紹介
- wasmCloudのCosmonicのCEOが新しいデモを紹介
- WasmCon 2023からCosmonicのCEOがコンポーネントモデルを用いたデモを紹介
- WASMを実行するためのランタイム、wasmCloudがCNCFのサンドボックスに
- KubeCon Europe 2024、共催イベントのCloud Native WASM DayからCosmonicが行ったセッションを紹介
- Wasmの現状と将来の計画をBytecode Allianceが公開。CosmonicのBailey Hayes氏によるセッションを紹介
- KubeCon+CloudNativeCon NA 2023の併催イベントCloud Native Wasm Dayのキーノートを紹介
- KubeCon Europe 2024併催のCloud Native Wasm DayでOrangeが行ったセッションを紹介