CNCFのWebinarから、AdobeとAkamaiがwasmCloudを解説したセッションを紹介

2024年10月24日(木)
松下 康之 - Yasuyuki Matsushita
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

動画に参加したCosmonic、Adobe、Akamaiの3名のエンジニア

動画に参加したCosmonic、Adobe、Akamaiの3名のエンジニア

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のエンジニアが担当するという形式となっている。

プレゼンテーションの前半はCosmonicのTownsend氏の担当

プレゼンテーションの前半はCosmonicのTownsend氏の担当

プレゼンテーションのタイトルが「Wasm Native Orchestration」となっているのは、クラウドネイティブなコンテナオーケストレーターとしてすでにデファクトスタンダードとして位置付けられているKubernetesを意識したものだろう。

WASMで書かれたアプリに最適化したオーケストレーションプラットフォーム

WASMで書かれたアプリに最適化したオーケストレーションプラットフォーム

ソフトウェアの名称にCNCFという単語を追加したのは、wasmCloudがCNCFのインキュベーションプロジェクトであることを強調するためだ。KubernetesをホストしていたCNCFのお墨付きであることを明示的に意識させるという発想だろう。

レゴブロックに例えてコンポーネントの違いを説明

レゴブロックに例えてコンポーネントの違いを説明

ここではwasmCloudのコンポーネントの違いを説明するために、レゴブロックを例に挙げて解説。この図の緑のレゴブロックはユーザーが書くアプリケーション、つまり企業においてはビジネスを実行する機能を表している。黄色のレゴは共通で利用する再利用可能なコンポーネント、灰色のレゴはキーバリューストアやデータベースなどに相当する。ベンダーロックインを避けるという部分が最初に解説されているが、これはwasmCloudではなくCPUのアーキテクチャーを超えて実行可能なWebAssemblyそのものの特性を指していると思われる。

クラウドを超えてオンプレミスからエッジでも実行できることが利点

クラウドを超えてオンプレミスからエッジでも実行できることが利点

このスライドではクラウドとオンプレミスだけではなくエッジでもアプリケーションを実行可能であること、そしてクラウドもリージョンを超えて通信させることが容易に設定可能であることを示している。KubernetesがGoogleのクラスター内のコンテナオーケストレーションから始まったものの、ベンダーロックインを避けてリージョンを超えて相互接続することが簡単ではないことを知っているエンジニアに、暗にその優位性を示していると言える。特にCPUやメモリー資源が限られるエッジにおいては、KubernetesのクラスターやPod、ランタイムを省略した小さな実行環境を欲しがるエンジニアには刺さるメッセージングだろう。

「WASMは極小の仮想マシン」というメッセージ

「WASMは極小の仮想マシン」というメッセージ

このスライドでは仮想マシンからコンテナに移行したクラウドネイティブなシステムについて、WASMはそれ単独で完結できる実行形態として「極小の仮想マシン」であると呼び、同時にさまざまな開発言語でWebAssemblyのフォーマットを生成できることを示し、Kubernetesとの違いを訴求している。

WASMのコンポーネントはさまざまなプログラミング言語で開発できる

WASMのコンポーネントはさまざまなプログラミング言語で開発できる

Townsend氏のスライドの最後は、WASMがさまざまなプログラミング言語から生成できることを示し、ポータブルで相互呼び出し可能なインターフェースを持っていることを説明してAdobeのエンジニアであるColin Murphy氏と交代した。

wasmCloudとKubernetesとの比較。大きな差はエッジでの実行

wasmCloudとKubernetesとの比較。大きな差はエッジでの実行

ここでは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については以下を参照されたい。

●参考:https://c2pa.org/

Adobeが写真の真正性を確認するという目的のためにWASMとwasmCloudを使うというのは単なるPoCではなく、Adobeにとっては今後、非常に重要な機能となってくる部分をwasmCloudで実装することを意味しており、そこにAkamaiが関与しているというのも意味としては大きなものだろう。

このデモを構成するシンプルなYAMLファイルを見せて解説

このデモを構成するシンプルなYAMLファイルを見せて解説

このスライドではデモで利用されたマニフェスト(YAML)ファイルを見せて、いかにシンプルな構成になっているのかを紹介した。ここではKubernetesとの比較としてシンプルであることを示している。またスライドに表示されたWADMはWebAssembly Deployment Managerの略称で、Kubernetesにおけるリコンサイルループを実行するスケジューラーと同じ機能を実行するモジュールだ。WADMはマニフェストに書かれたあるべき姿と実際の姿を合致させる機能を実現している。

WADMに関してはKubeCon NA 2023のセッションでの解説を元に記事を書いているので参照して欲しい。

●参考:Cloud Native Wasm DayからWebAssemblyのスケジューラーWADMを解説するセッションを紹介

このデモでは例として全米の大学バスケットボールの試合の写真を使っている。そしてその写真の由来がどこなのかを確認するのがこのデモの主な機能となる。

NCAAのバスケットボールゲームの写真を使ってその由来(Provenance)を表示

NCAAのバスケットボールゲームの写真を使ってその由来(Provenance)を表示

このデモのアーキテクチャーについて解説を行ったのは、AkamaiのシニアアーキテクトであるDouglas Rodrigues氏だ。

デモの概念図を解説。エッジとコアのプラットフォームに跨るLatticeネットワーク

デモの概念図を解説。エッジとコアのプラットフォームに跨るLatticeネットワーク

ここではユーザーとの通信をAkamaiのグローバルに配備されたPOP(Point of Presence)を通じてルーティングを行い、リージョンごとに設けられたエッジを経てコアのクラスターに用意されたさまざまなサービスに到達するまでを図式化している。ここではLatticeのネットワークがエッジとコアを透過的に扱えるという部分が重要だろう。アプリケーションデベロッパーにとってその機能がどこで実行されるのかを意識する必要がなくなるのは大きな意味がある。

Akamaiのクラウドを簡単に紹介。エッジ、分散されたリージョン、コアの3層方式

Akamaiのクラウドを簡単に紹介。エッジ、分散されたリージョン、コアの3層方式

そしてAkamaiがWASMをクラウドで使う意図について解説したのが次のスライドだ。

WASMの良い点と悪い点をリストアップ

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でどんな内容のユースケースが紹介されるのか、楽しみになるセッションとなった。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

OSSイベント

世界と繋がる、グローバルカンファレンスの舞台裏! Open Source Summit Japan2024運営ボランティアの体験レポート Part2

2024/12/16
2024年10月に都内で開催されたOpen Source Summit Japanの舞台裏を、ボランティアスタッフの視点から紹介します。Part2では、メンバーのリーダーの立場から見えたことをお知らせします。
設計/手法/テストイベント

コード生成からAIコンテンツまでテスト自動化の地平を広げる ーmablが目指すソフトウェア品質の未来とは

2024/12/10
2024年11月20日、mabl Japanが「mabl Experience 2024 Japan」を開催。本記事ではmabl Incの共同創業者Dan Belcher氏の基調講演の内容を中心にレポートする。
OSSイベント

世界と繋がる、グローバルカンファレンスの舞台裏! Open Source Summit Japan2024運営ボランティアの体験レポート

2024/12/9
2024年10月に都内で開催されたOpen Source Summit Japanの舞台裏を、ボランティアスタッフの視点から紹介します。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています