Open Source Summit NA 2022、マイクロサービスをWASMで実装したデモを紹介

OSSummit NA 2022の3日目に元MicrosoftのMatt Butcher氏が登壇。マイクロサービスをWASMで実装したデモを実演。

松下 康之 - Yasuyuki Matsushita

2022年10月4日 6:00

オースチンで開かれたOpen Source Summit NA 2022の3日目のキーノートに、元MicrosoftでKubernetesの絵本を作ったことでも知られているMatt Butcher氏が登壇した。Butcher氏の現在の肩書は、自身が起業したFermyonというベンチャーのCEOだが、KubernetesのパッケージマネージャーであるHelmの開発者でもある。

マイクロサービスとそのプラットフォーム

プレゼンテーションを行うMatt Butcher氏

プレゼンテーションを行うMatt Butcher氏

3日目のキーノートの最初に登壇したButcher氏は「WebAssembly on the Cloud Changes Things」というタイトルで、これまでの仮想マシン~コンテナ~Kubernetesというコンピューティングスタイルの変化の先にある、マイクロサービスとそれを支えるためのプラットフォームについて解説した。

オンプレ~仮想マシン~コンテナの先にSpinとWasmによるアプリがある

オンプレ~仮想マシン~コンテナの先にSpinとWasmによるアプリがある

Butcher氏はOSとライブラリー、アプリケーションが密に結合されていた時代から、仮想マシンによってひとつのハードウェアに複数のOSが稼働するようになり、さらにコンテナによってデベロッパーがOSそのものを意識して開発を行うということが少なくなったことを指摘した。その上で「KubernetesはデベロッパーがKubernetesそのものを意識して開発する必要があること」を指摘した。

デベロッパーが実装したいビジネスロジックだけに専念するためにOSやハードウェア、さらにはKubernetesを意識せずに済む新しいコンピューティングスタイルが必要となったというわけだ。このスライドでは、実行形式としてのWebAssembly、そしてSpinというFermyonが開発したWebAssemblyのためのフレームワークを紹介した。ただしここでは、Spinについては深く説明をせずにWebAssemblyが実現する利点について解説を行った。

デベロッパーが担当する部分が多い古いスタイルとプラットフォームが担う新しいスタイルを紹介

デベロッパーが担当する部分が多い古いスタイルとプラットフォームが担う新しいスタイルを紹介

ここでButcher氏はマイクロサービスを「起動を速め、メモリーなどを無駄に消費しない新しいサービスの形」として紹介しており、KubeConなどの参加者にとっては少し内容を省いた説明を行ったが、KubeConの参加者よりもクラウドネイティブについては知識が少ないであろうOSSummitの参加者を迷わせない工夫だったのだろう。

「Finicky Whisker」というマイクロサービスのデモを紹介

「Finicky Whisker」というマイクロサービスのデモを紹介

ここでマイクロサービスとして実装されているデモアプリケーションのFinicky Whiskerを紹介した。これはAWSのインスタンスとして実装されているアプリケーションで、7つのWebAssemblyのモジュールから構成されている。データストアとしてはRedisがコンテナの中にデプロイされているというサンプルアプリケーションだ。AWSのt2.smallという安価なインスタンスを3つ使っており、コンテナのオーケストレーションはKubernetesではなくHashiCorpのNomadを利用している。

デモのURL:https://www.finickywhiskers.com/

デモを開発する過程で、Kubernetesをオーケストレーターとして使うという発想もあったようだが、Kubernetesが必要とする資源が大きくなるという懸念からNomadを選択したという。7つのモジュールのうち5つをRustで開発、WebAssemblyの実行モジュールとして使用するという構成だ。なおブラウザーからのトラフィックをバランスさせるProxyはTraefikを使い、WebAssemblyモジュールのパッケージマネージャーとしてBindleを使っている。

Redisはコンテナの中に、そのほかはRustで書かれたWebAssemblyモジュールで構成

Redisはコンテナの中に、そのほかはRustで書かれたWebAssemblyモジュールで構成

より詳細なFinicky Whiskerの解説は、以下のFermyonのブログを参照されたい。四部構成の非常に詳細な解説となっている。

参考:
Finicky Whiskers (pt. 1): The World's Most Adorable Manual Load Generator
Finicky Whiskers (pt. 2): Serving the HTML
Finicky Whiskers (pt. 3): The Microservices
Finicky Whiskers (pt. 4): Spin

このデモの中では3つのノードに展開された複数のモジュールが、起動~処理~終了を非常に高速に繰り返しており、「これはAWSのサーバーレスサービスであるLambdaと同じような構成なのか?」と自問自答を行い、構成自体はよく似ていると説明した。ただしサーバーレスが往々にしてクラウドサービスにロックインさせるための仕組みとして使われていること、そしてWebAssemblyによるこのサービスは、オンプレミスでもどこのパブリッククラウドサービスでも実行できることを解説し、ポータブルな実装であることを説明した。

24行という短さのセッション管理モジュール

24行という短さのセッション管理モジュール

このアプリはあくまでもブラウザーからのリクエストを受け取って判定を行い、その結果をRedisに書き込むと同時にブラウザーに返すというシンプルな処理を行うものだが、これをKubernetesで実装しようとすると、3つのt2.smallインスタンスでは終らずにその3倍程度のインスタンスが必要となると語り、近年、クラウドを使う際に問題となっている過剰な支出についても、このアーキテクチャーによってコストの削減が可能になると語った。

Butcher氏はFermyonのブログにおいてクラウドの過剰なコストに関しても記事を公開している。

参考:@<href>{https://www.fermyon.com/blog/underprovisioning-cloud-services,Better Than Overprovisioning: Underprovision Your Cloud ServicesBack when I was at Azure,}

このブログではKubernetesによってオーバープロビジョニングされたサービスを、HashiCorpのNomadをベースにしたSpinによってサーバーレスのように実装する例について解説している。

初日、2日目のキーノートが技術的な部分を避けた内容だったこともあり、Butcher氏のデモとプレゼンテーションは会場の反応も非常に良かった。実際、ショーケースに設置されたFermyonのブースには、実際にFinicky WhiskerをプレイしてTシャツを手に入れる参加者が多数訪れていたことは記しておきたい。

Finicky Whiskerをメインに押し出したFermyonのブース

Finicky Whiskerをメインに押し出したFermyonのブース

OpenSearchの現状

Butcher氏の後は、OpenSearchの現状を報告するセッションが行われた。OpenSearchは、Elasticsearchのライセンスに関してElastic社と揉めたAWSが、Elasticsearchをフォークして開発したオープンソースソフトウェアである。

ElasticsearchとKibanaからフォークしたAWSがリードするOpensearch

ElasticsearchとKibanaからフォークしたAWSがリードするOpensearch

CNCFによるエンドユーザーコミュニティの解説

AWSのプレゼンテーションの後は、今回スポンサーとして参加しているCNCFがエンドユーザーコミュニティについて解説を行った。

ユーザーコミュニティについて解説するCNCFのTaylor Dolezal氏

ユーザーコミュニティについて解説するCNCFのTaylor Dolezal氏

自動車業界におけるOSSの利用

最後はRed HatのChris Wright氏が登壇。自動車業界におけるオープンソースソフトウェアの利用が拡がっていることを簡単に紹介して3日目のキーノートは終った。

自動車業界におけるOSSについて語るChris Wright氏

自動車業界におけるOSSについて語るChris Wright氏

Wright氏のセッションは特にテクニカルな内容を語るわけでもなかったが、Red HatがGeneral Motorsと提携したことに簡単に触れ、伝統的な企業がソフトウェアによる革新に積極的に取り組んでいる姿勢を紹介した。

参考:Red Hatとゼネラルモーターズが協業ソフトウェア・デファインド・ビークルの未来を拓く

3日目のキーノートの動画は以下を参照して欲しい。

動画:Day 3 Keynote Sessions

テクニカルな内容を期待していた参加者にとって、FermyonのデモとプレゼンテーションはクラウドネイティブなシステムにおけるKubernetesの寡占という現状に対してフレッシュな視点を提供するものとなった。今回は敢えて説明を避けたSpinについては、デトロイトで行われるKubeCon+CloudNativeCon NA 2022で詳細に解説がなされることだろう。

Spinについては公式サイトを参照されたい。

Spin:https://github.com/fermyon/spin

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30