KubeCon Europe 2024併催のCloud Native Wasm Dayから、FA機器にWebAssemblyを適用したセッションを紹介

2024年5月20日(月)
松下 康之 - Yasuyuki Matsushita
KubeCon Europe 2024併催のCloud Native Wasm Dayから、ファクトリーオートメーションにWebAssemblyを適用した事例を紹介する。

KubeCon+CloudNativeCon Europe 2024の共催イベントCloud Native Wasm Dayにおける、ファクトリーオートメーションにWebAssemblyを応用したユースケースのセッションを紹介する。

●動画:WebAssembly on the Factory Floor: Efficient and Secure Processing of High Velocity Machine Data

セッションを担当したのはMachineMetricsというマサチューセッツのベンチャーで、製造業向けのシステムに特化したシステムを提供している会社のエンジニアリングマネージャーとエンジニアだ。

プレゼンテーションを行うJochen Rau氏とTyler Schoppe氏

プレゼンテーションを行うJochen Rau氏とTyler Schoppe氏

まずMachineMetricsの顧客の環境について写真で紹介。ここでは製造ラインというよりも研究のためのエリアに近い状況で、工作機械のモニタリングを行うためのエッジに相当するミニコンピュータを紹介している。

工作機械に接続されているMachineMetricsのエッジデバイス

工作機械に接続されているMachineMetricsのエッジデバイス

そしてインダストリアルIoTのシステム概要として、Databricksが作成した概念図を使ってデバイスからエッジにデータを吸い上げ、クラウドで処理し、ダッシュボードで可視化するという流れを解説。ここでは工作機械からダッシュボードまで、シンプルな直列系のプロセスで構成されていることを強調した。

エッジデバイスにWebAssemblyとwasmCloudを使う理由を解説

エッジデバイスにWebAssemblyとwasmCloudを使う理由を解説

今回のユースケースではエッジ側にKubernetesを搭載するのではなく、WebAssemblyでアプリケーションを実装していると説明し、どうしてKubernetesではなくWebAssemblyなのか? を解説した。

エッジにKubernetesを使えない理由を説明

エッジにKubernetesを使えない理由を説明

ここではメモリーやCPUの制約などがKubernetesを使わない理由として挙げられているが、何よりもNATSをすでに使っていたということがwasmCloudの導入には大きかったのではないだろうか。また「今回はエッジに関する別のミニカンファレンスに参加することも考えたが、Kubernetesを使っていないから、WASM Dayの方が最適だった」と語り、エッジに関してはMinikubeやK3sなどのミニマルなKubernetes環境を使う方法が存在するが、管理が複雑なKubernetesよりもシンプルなwasmCloudを選択したということを示した形になった。

そして工作機械から発生する高周波のデータについてそのまま処理するのではなく、ダウンサンプリングを行うことでデータ量を減らしつつデータの精度は維持するという方法を採用したことを説明。

工作機械から発生するデータをダウンサンプリングして利用

工作機械から発生するデータをダウンサンプリングして利用

ダウンサンプリングに関連して、アイスランド大学で開発されたLargest-Triangle-Three Bucketsというアルゴリズムについても説明を行った。このアルゴリズムを実装したプログラムはRustで開発され、WebAssemblyにコンパイルされ、実装にはwasmCloudのWADM(wasmCloud Application Deployment Manager)というモジュールが使われていると説明。

ここからはデモとしてダウンサンプリングが有効であること、データ収集のためのモジュールとキーバリューストアのモジュールの概要などを、動画を使って紹介した。

デモを動画で紹介。工作機械から発生するデータをグラフ化

デモを動画で紹介。工作機械から発生するデータをグラフ化

アプリケーションとしてはデータの収集だけではなくキーバリューストアを使ってステートフルなプロセスを実行する必要があったことなどをチャレンジだったとして説明。またクレデンシャルの管理などにも気を遣っていたことなどを述べた。プラットフォームとしてはまだ開発途上にあるWebAssembly関連のソフトウェアが日夜進化することで、どのタイミングでシステムのどこにそれを取り入れるのかを判断する必要があり、動き続けるターゲットを狙うという状態だったことなどを挙げた。

実装上のチャレンジを紹介。進化し続けるWebAssemblyにどうやって対応するのか?

実装上のチャレンジを紹介。進化し続けるWebAssemblyにどうやって対応するのか?

最後に全体のシステム概要についてエッジ側、クラウド側の構成を紹介。NATSを使ったコミュニケーション、wasmCloudのコンポーネントであるWADMを使ってデプロイしていることなどを説明した。

エッジ側のクラウド側の構成を解説

エッジ側のクラウド側の構成を解説

追加としてエッジ側で実行されるData Mapperについてはエッジで実行させるのではなく、クラウド側に移動させることも容易であることを強調し、さまざまな実装オプションがあることを説明した。そしてこれを可能にしている要素技術として、WIT(WebAssembly Interface Type)に準拠したRPCのフレームワークであるwRPCを紹介し、簡単に説明を行った。

Data Mapperがクラウド側に移動、wRPCを通じてエッジ側と通信

Data Mapperがクラウド側に移動、wRPCを通じてエッジ側と通信

全体としてFAシステムにおけるデータモニタリングを行う際の留意点について大量データの処理のためにダウンサンプリングを利用すること、WebAssemblyとwasmCloudのフラットなネットワークの利点などについて簡潔に訴求した良いセッションと言えるだろう。WADMについても簡単ながら解説し、PoCとしての結果が総じて良かったことが感じられるセッションとなった。WADMについては公式GitHubページを参照されたい。

●WADM:https://github.com/wasmCloud/wadm

著者
松下 康之 - 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メルマガ会員のサービス内容を見る

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