「KubeCon NA 2022」のプレカンファレンスからCloudNative Wasm DAYを紹介

2023年2月7日(火)
松下 康之 - Yasuyuki Matsushita
DockerがWasmをツールチェーンに組み込んだ新機能を発表。

Cloud Native Computing Foundation(CNCF)が主催する「KubeCon + CloudNativeCon North America 2022」がミシガン州デトロイトで開催された。3日間のKubeConと前日、および前々日の2日間に共催される多数のミニカンファレンスで構成された5日間のイベントだ。

この記事では、2022年10月24日に行われた「Cloud Native Wasm Day」を紹介する。WASM、正式名称としては「WebAssembly」と呼ばれるバイナリーフォーマットはW3Cの勧告によって制定されている仕様だが、近年特に注目が集まっているのは、単にJavaScriptの代替としてWebブラウザ内部でコードを実行する時に利用されるユースケースではなく、サーバーサイドでの利用が拡がってきたことが出発点だろう。仮想マシンからコンテナーにアプリケーション実行の単位が変化してきた流れの先に到達した「セキュアで高速にコードを実行でき、様々なアーキテクチャーのプロセッサでも実行できるバイナリーフォーマット」という位置付けだ。

KubeConにおける共催カンファレンスとしては2021年にロスアンゼルスで行われたKubeCon NA 2021でもCloud Native Wasm Dayが前日に開催されている。今回は本編の2日前という扱いだったが、今回も1日のミニカンファレンスとして実施された。前回のWasm Dayについては、以下の記事を参照されたい。

●KubeCon NA 2021のWasm Dayの記事
【前半】https://thinkit.co.jp/article/19339
【後半】https://thinkit.co.jp/article/19340

WebAssemblyに勢いがあることの象徴として個人的に挙げたいのは、2021年にMicrosoftの社員として登壇したMatt Butcher氏が「Fermyon」というWebAssemblyに特化したベンチャーを立ち上げていることだろう。KubeCon NA 2022の次週に行われた「AllThingsOpen」というオープンソースのカンファレンスでMatt Butcher氏とは再会しているが、その際にFermyonは2021年11月1日に創業し、2022年11月1日で1周年を迎えたことを教えてくれた。つまり2021年10月12日に行われたWasm Dayの直後にMicrosoftを退社してFermyonを創業していることになる。

Wasm Dayの会場。撮影したのが朝一番のためかまだ参加者が少な目

Wasm Dayの会場。撮影したのが朝一番のためかまだ参加者が少な目

Wasm Dayの会場であるHuntington Placeの4階のカンファレンスルームに到着して、何よりも勢いを感じたのはこのDockerのバナーを観た時だろう。

会場のカンファレンスルームの前に置かれていたDockerのバナー

会場のカンファレンスルームの前に置かれていたDockerのバナー

このバナーはDockerが持ち込んでカンファレンスルーム前のデスク横に置かれており、DockerとWebAssemblyのコンビネーションでデベロッパーが慣れている環境でWebAssemblyのコードを実行できることを謳っている。なお、WASM Day自体もFermyonとDockerがダイアモンドスポンサー、Cosmonicがストリーミング配信のスポンサーとなっている。これは、これまでMicrosoftやAdobeなどのメガエンタープライズが余力でやっている感が強かったWebAssemblyにベンチャーが集まり始めていることを示していると言っても良いだろう。

WebAssemblyに関して言えば、WasmをベースにしたPaaSであるwasmCloudのCosmonic、MicrosoftのMatt Butcher氏が創業したFermyon、そしてランタイムであるWasmEdgeを開発するScond StateがKubeConにおいては目立っていた。この3社がクラウドネイティブにおけるWebAssemblyのエコシステムをリードしていると言って良いだろう。ここからWasm Dayで行われたFermyonのセッション、Second Stateのセッションを紹介する。

カンファレンスルームで配布されていたFermyonのカード

カンファレンスルームで配布されていたFermyonのカード

スポンサーであるFermyonはこんなカードを参加者に配布して、ブースに来ることを勧めていた。WebAssemblyに興味を持つ参加者にリーチしようという姿勢が見える。

FermyonのCEO、Matt Butcher氏(右)とRadu Matei氏(左)

FermyonのCEO、Matt Butcher氏(右)とRadu Matei氏(左)

Fermyonは同日にSpinというWebAssemblyを開発するためのフレームワークをホスティングするFermyon Cloudを発表した。Fermyon CloudはAzure上に実装されているという。2022年6月にオースチンで開催されたOpen Source Summit NA 2022でWebAssemblyの起動が速いことを見せるデモが紹介されていたが、今回もそのデモを中心に説明を行った。デモの内容については以下の記事を参照されたい。

●Open Source SummitのFermyonのデモに関する記事:https://thinkit.co.jp/article/19886

SpinはWebAssemblyでマイクロサービスを作るためのフレームワーク

SpinはWebAssemblyでマイクロサービスを作るためのフレームワーク

Spin自体はHashiCorpのNomadを使ってWebAssemblyで作られたマイクロサービスを高速に実行するためのフレームワークだが、Fermyon CloudはSpinを自社のオンプレミスサーバーに配備して管理運用するのを避けたいというリクエストに応えるためのサービスということになる。

●Fermyonの公式リリース:https://www.fermyon.com/blog/introducing-fermyon-cloud

Fermyon Cloud自体はオープンベータという状態で現時点ではWebAssemblyを使ってWebアプリを作るというのが基本機能となる。

SpinはNomadとWasmTimeで構成されている

SpinはNomadとWasmTimeで構成されている

このスライドではマイクロサービスをオーケストレーションするためのNomadそしてランタイムであるWasmTimeを紹介。「マイクロサービスをオーケストレーションするのはKubernetesではないのか?」という疑問には、より軽量にするために選択したことをOpen Source Summitでも解説していた。またデータベースについてもRedisを使ったキーバリューストアが使えること、PostgreSQLもサポートされていることなどが公表されている。

次に、Second StateのCEO、Michael Yuan氏とDockerのChris Crone氏が行ったセッションを紹介する。これはDockerが発表したDockerとWebAssemblyを組み合わせることを可能にしたという発表に関する解説という内容だ。

●DockerのWebAssemblyサポートについて:https://docs.docker.com/desktop/wasm/

このサイトはDockerの公式ドキュメントサイトだが、Dockerのホームページにも「Docker + WASM」というロゴが使われていることからも、Dockerが本気を出してWebAssemblyに対応しようとしていることが分かる。

セッションを行うSecond StateのMichael Yuan氏(左)とDockerのChris Crone氏(右)

セッションを行うSecond StateのMichael Yuan氏(左)とDockerのChris Crone氏(右)

より正確には、Docker Desktopのプレビュー版によってWebAssemblyサポートがベータという状態で実現されている。以下はドキュメントサイトからの引用だが、--runtimeと--platformというパラメータにそれぞれWasmEdge、wasi/wasm32を設定することでこれまでのDockerの使い方と変わらないというのが利点の1つであるという。

docker runコマンドに2つのパラメータを設定することで実行可能

docker runコマンドに2つのパラメータを設定することで実行可能

ランタイムであるWasmEdgeはSecond Stateが開発をリードするランタイムだ。次のスライドではWasmEdgeの特長が紹介されている。

WasmEdgeの特長。高速であることと多種多様なOS、CPUをサポート

WasmEdgeの特長。高速であることと多種多様なOS、CPUをサポート

起業としてのDockerはコンテナーオーケストレーションの競争にSwarmで挑んだが、Kubernetesに完全敗北したと言える。KubernetesにおいてもDockerランタイムを利用するためのDockersimが1.24からサポートされないという状態で特別扱いがほぼなくなっている状態だ。「WebAssemblyがあればDockerを作らなかったかもしれない」と発言したSolomon Hykes氏もDocker社には既に在籍しておらず、Dockerが持て囃された当時のメンバーは入れ替わっている状態だ。その中で敢えてWebAssemblyをDocker DesktopでサポートすることでWebAssemblyに興味を示すデベロッパーにとっては使い慣れたツールを使えるというのは大きいだろう。ブランディングも「Docker + WASM」とすることで今、注目が集まるWebAssemblyの波に乗ろうとする意図を感じる。

DockerのChris Crone氏が今回のセッションの要旨をGitHubのページで解説しているのでそれも参考にしていただきたい。

●Chris Crone氏のGitHubページ:https://github.com/chris-crone/wasm-day-na-22

Docker社のカムバックがWebAssemblyの波に乗ることで可能なのか、注目していきたい。Cloud Native Wasm Dayのアジェンダはこちらを参照されたい。

Fermyonが主催したパーティから。CosmonicのTylor Thomas氏とButcher氏

Fermyonが主催したパーティから。CosmonicのTylor Thomas氏とButcher氏

Fermyonは10月26日の夜に小規模なパーティを主催して参加者とネットワーキングを促していた。CosmonicのTylor Thomas氏も参加しており、FermyonのMatt Butcher氏とは同じく元Microsoft、Thomas氏がCosmonicに参加したのが2021年9月ということで既知の関係だろう。2021年の後半にWebAssemblyのベンチャーが同時に起業したというのは興味深い事象と言える。

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

連載バックナンバー

仮想化/コンテナイベント
第8回

KubeCon NA 2022、日本人参加者による座談会でWebAssemblyの未来を読む

2023/3/10
KubeCon NA 2022に参加した日本人エンジニアに集まっていただき実施した座談会のようすを紹介する。
仮想化/コンテナイベント
第7回

写真で見る「KubeCon NA 2022」活気が戻ったショーケースを紹介

2023/3/8
KubeCon NA 2022の会場から、ベンダーやユーザー企業が出展したショーケースを紹介する。
クラウドイベント
第6回

「KubeCon NA 2022」から、WasmEdgeを開発するSecond StateのMichael Yuanのインタビュー

2023/3/7
KubeCon NA 2022から、WASMのランタイムWasmEdgeを開発するSecond StateのCEOへのインタビューを紹介する。

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

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

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

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