KubeCon Europe 2024のキーノートからツァイスのWebAssemblyを使った事例を紹介

2024年5月24日(金)
松下 康之 - Yasuyuki Matsushita
KubeCon Europe 2024からツァイスのWebAssemblyによる事例を解説したセッションを紹介する。

KubeCon+CloudNativeCon Europe 2024のキーノートから、ツァイスのWebAssemblyを使った事例に関するセッションを紹介する。

●動画:Revolutionizing Cloud Native Architectures with WebAssembly

KubeCon+CloudNativeConにおいて3日間の会期のそれぞれ朝一番のセッションはキーノートとして、最も大きな会場に参加者を集めて2時間ほどのセッションが行われるのが慣習となっている。その時間帯は他のセッションは行われず、すべての参加者が一堂に会して視聴するセッションとなる。その中でも初日のキーノートに関しては、テーマとして何を取り上げるのかに注目が集まるが、2024年のパリでのトピックはAIだった。

エグゼクティブディレクターのPriyanka Sharma氏が登壇し、凄まじいスピードで進化している生成型AIに対してクラウドネイティブなコンピューティングが最適なプラットフォームであること、そして大規模なユーザーが生成型AIによるコスト増を懸念していることなどを述べた。

生成型AIがコスト増の要因となると予想する大企業は60%に及ぶ

生成型AIがコスト増の要因となると予想する大企業は60%に及ぶ

キーノートでは、Ollama、Mistral AI、Googleによるパネルディスカッション、NVIDIAのエンジニアによるGPUの最適化に関するセッション、Azureのエンジニアによる機械学習/AIのためのKubernetesオペレータKAITOの紹介、CERN、Google、Ampereなどによるパネルディスカッション、Kubernetesの新しいリソース管理のための機能追加、DRA(Dynamic Resource Allocation)の解説などが行われた。

最初のパネルディスカッションにはOllamaとMistral AIの創業者が登壇

最初のパネルディスカッションにはOllamaとMistral AIの創業者が登壇

KAITOの解説はAzureのエンジニア

KAITOの解説はAzureのエンジニア

ちなみにKAITOという名称は「Kubernetes AI Toolchain Operator」であることがMicrosoftのブースに手書きで書かれていた。

KAITOはKubernetes上でAIを実行するためのツール群

KAITOはKubernetes上でAIを実行するためのツール群

KAITOについては以下のGitHubページを参照して欲しい。

●参考:https://github.com/Azure/kaito

ユーザーサイドの意見を聞くためのパネルディスカッション

ユーザーサイドの意見を聞くためのパネルディスカッション

このパネルディスカッションに参加したGoogleのClayton Coleman氏は、Red HatでOpenShiftのアーキテクトだった人物だ。2021年のKubeCon Europeのセッションとして紹介されたKCP(Kubernetesを使って複数のKubernetesクラスターを制御するための仕組み)に関する以下の記事でColeman氏が登場している。

●参考:KubeCon EU 2021でRed Hatが発表した複数のKubernetesを制御するkcpを紹介

右から二人目がClayton Coleman氏。左から二人目はCERNのRicardo Rocha氏だ

右から二人目がClayton Coleman氏。左から二人目はCERNのRicardo Rocha氏だ

KubernetesからGPUなどを操作するための新機能、DRAの紹介

KubernetesからGPUなどを操作するための新機能、DRAの紹介

そしてDRAの紹介に続くのが、今回紹介するツァイスの事例である「Revolutionizing Cloud Native Architectures with WebAssembly」というセッションだ。

FermyonのMichelle Dharani氏とMicrosoftのRalph Squillace氏が登壇

FermyonのMichelle Dharani氏とMicrosoftのRalph Squillace氏が登壇

Dharani氏はボクシングの階級制に例えて仮想マシンは重量級、コンテナは中量級であるのに対してWebAssemblyは軽量級だと説明。そしてWebAssemblyのワークロードを実行するためのツール群がSpinKubeであると説明。FermyonはSpinというWebAssemblyのためのフレームワークも開発しているが、SpinがKubernetesを必要とせずNomadをベースにしてオーケストレーションを行うのに対して、SpinKubeはKubernetes上でWebAssemblyを実行するためのツール群ということになる。

SpinKubeを紹介

SpinKubeを紹介

ここで簡単にKubernetes上での実行の速さを示すデモを行った後に、ツァイスのKai Walter氏を紹介し、ツァイスでの事例の紹介に移った。

ツァイスのアーキテクトであるKai Walter氏

ツァイスのアーキテクトであるKai Walter氏

ここではより軽量なプラットフォームが求められていたことを課題として紹介し、それに当てはまるプラットフォームとして選ばれたのが、WebAssemblyのアプリケーションとそれをKubernetes上で実行するSpinKubeだったと説明。例としてオーダー処理のプロセスをマイクロサービスとして実装した構成を紹介した。

オーダー処理のプロセスをマイクロサービスとして実装

オーダー処理のプロセスをマイクロサービスとして実装

このチャートの中のDistributorとReceiverがWebAssemblyのプロセスとして複数実行され、同時に1万個のメッセージを処理することが処理要件だったという。

ターミナル画面で複数のプロセスがKubernetes上でオーケストレーションされていることを確認

ターミナル画面で複数のプロセスがKubernetes上でオーケストレーションされていることを確認

実際にコンテナイメージをオーケストレーションした場合とWebAssemblyのイメージをオーケストレーションした場合では、メモリー使用量に大きな差が出たことを解説。

コンテナと比較してはるかに軽量なWebAssemblyのイメージ

コンテナと比較してはるかに軽量なWebAssemblyのイメージ

このスライドではコンテナとして実装した場合は423MBのメモリーを使用していたが、WebAssemblyのイメージでは2.4MBという小さなサイズで実装できたことを解説した。

レプリカの数の遷移を解説

レプリカの数の遷移を解説

このグラフではDistributorとReceiverがメッセージの数に従って複数インスタンスとして起動されていくようすを示しているが、起動のスピードが速いだけではなく終了のスピードも速いことが実質的なコスト削減に繋がっていることを説明した。

まとめとして密度、コスト、スケールなどについてSpinKubeの優秀さを解説

まとめとして密度、コスト、スケールなどについてSpinKubeの優秀さを解説

ここではSpinKubeによって、コンテナと比較して同じハードウェア(CPU、メモリー)により多くのプロセスを投入できること、コストの低さ、起動と終了の速さ、そしてKubernetesと同じ管理方法で処理できることなどを利点として挙げた。

前のページの要点を数字で解説

前のページの要点を数字で解説

そしてリソース使用量の低さについては423MBから2.4MBに減少したこと、ARMのプロセッサーを使うことで60%のコスト削減ができたこと、起動については60秒から34秒に短縮したこと、管理の方法については同じKubernetesであることなどを挙げてすでにKubernetesを実行、管理している企業であれば容易に移行できることを説明した。

Kubernetes、Containerd、Operator Frameworkなどの既存のプロジェクトを活用

Kubernetes、Containerd、Operator Frameworkなどの既存のプロジェクトを活用

Ralph Squillace氏はSpinKubeがゼロから開発されたのではなく、すでに多くのユーザーを持つオープンソースプロジェクトを使っていることを説明。KubernetesやContainerdそしてOperator Frameworkなどが挙げられている。

インストール、実行、そして最適化までトータルにカバーするSpinKube

インストール、実行、そして最適化までトータルにカバーするSpinKube

ここでは単にランタイムがあるだけではなく、複数のツールをまとめて提供することでユーザーが個別にツールの選択と実装のための時間と手間を省くことができたことを紹介。

最後にSpinKubeがCNCFのプロジェクトとして寄贈されたことを説明し、セッションを終えた。

12,000人の前でツァイスの事例を紹介できた効果は高いと言えるだろう。すでにWebAssemblyは「それは何か?」を解説するフェーズを過ぎて「コンテナと比較した利点と欠点」を理解するフェーズに入っている。このセッションは、KubeConの参加者のようにKubernetesがデファクトスタンダートのユーザーにとっては、定量的な利点を解説したセッションとなった。

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

連載バックナンバー

クラウドイベント
第13回

写真で見るKubeCon Europe 2024 ベンダーやコミュニティプロジェクトの展示を紹介

2024/6/20
KubeCon+CloudNativeCon Europe 2024の展示ブースをまとめて紹介する。
クラウドイベント
第12回

KubeCon Europe 2024に日本から参加したメンバーで座談会@桜の木の下

2024/6/17
KubeCon+CloudNativeCon Europe 2024に日本から参加したエンジニアに集まってもらい、座談会を実施した。
セキュリティイベント
第11回

KubeCon Europe 2024にて、グラフを用いてSBOMを可視化するGUACのコントリビューターにインタビュー

2024/6/13
KubeCon Europe 2024にて、SBOMを可視化するツールGUACのコントリビューターにインタビューを実施した。

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

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

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

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