KubeCon+CloudNativeCon EU 2021レポート 2

WebAssemblyの特徴

WebAssemblyの特徴

続いてMicrosoftのRalph Squillance氏にバトンタッチ。ここからはWebAssemblyの特徴的な機能を挙げながら解説を行うフェーズとなった。

WebAssemblyの現在とは

WebAssemblyの現在とは

Squillance氏によれば、すでに多くのシステムでWebAssemblyが使われており、特にエッジにおけるアプリケーション用の仮想マシンとして優れていることなどを紹介した。ここでAzureチームのプログラムマネージャーであるSquillance氏が、WebAssemblyでプラットフォーム全体を開発できると紹介したのは大きな意味があるだろう。またMicrosoftが開発するフライトシミュレーターにもWebAssemblyが使われているという点を紹介し、MicrosoftがWebAssemblyをクリティカルなシステムにおいても使っていることがわかる。

参考:2020年12月10日のデベロッパー向けアップデートでWebAssemblyに言及

ここからはサンドボックス、セキュアなメモリーアクセス、厳密な型定義を使ったインターフェース、WebAssemblyからシステムコールにアクセスするWASI(WebAssembly System Interface)を紹介した。

サンドボックスの解説

サンドボックスの解説

なおこのスライドで使われているイラストは、FastlyのエンジニアであるLin Clark氏によるものだ。Clark氏はMozillaでWebAssemblyを開発していたが、Mozillaがリストラクチャリングの一貫としてWebAssemblyチームを解雇した後にFastlyに移ったという経歴を持つ。

WASIの解説

WASIの解説

その後Squillance氏は、簡単なWebAssemblyからファイルアクセスを行うシステムインターフェースを呼ぶ簡単なデモを行った。

最後にWebAssemblyのエコシステムへの参加を呼びかけて、セッションを終えた。

WebAssemblyのエコシステムに参加を呼びかける

WebAssemblyのエコシステムに参加を呼びかける

最後にwasmCloudについて、以下の動画からのスライドを使って解説しよう。解説を行ったのはLiam Randall氏が在籍していたCapital OneのエンジニアであるKevin Hoffman氏だ。

WebAssemblyはスタックベースの仮想マシンでありバイナリーフォーマット

WebAssemblyはスタックベースの仮想マシンでありバイナリーフォーマット

特にこのスライドでwasmCloudについてアクターモデルのためのランタイムであり、サーバーからIoTデバイスまで多様なデバイス、アーキテクチャー上で実行できるポータブルなプラットフォームであることを解説している。

wasmCloudはアクターモデルのためのプラットフォーム

wasmCloudはアクターモデルのためのプラットフォーム

そしてWebAssemblyとwasmCloudの比較表をみれば、その位置付けがさらにわかりやすいだろう。WebAssemblyが要素技術だとすれば、wasmCloudはそれをアクターモデルとして実行するプラットフォームとなる。アクターモデルは複数の小さなアプリケーションを協調させる並列処理のためのプログラミング技法で、AkkaやMicrosoftが開発をリードするDaprでも使われている。アクターモデルを使うことでローカルでの実装から巨大なクラスターでの実装まで、コードを換えずにアクターを増減させることでスケールさせることができる。アクターモデルに興味を持ったエンジニアはぜひ、こちらの動画を参照されたい。

WASMとwasmCloudのイントロダクション:From Napkin to the Cloud: A WebAssembly Journey

この記事のキーワード

この記事をシェアしてください

人気記事トップ10

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