日経クロステックは5人の有識者を招き「ITインフラテクノロジーAWARD 2023」を選出した。選考会に参加したのは、野村総合研究所(NRI)の石田裕三産業ITグローバル事業推進部エキスパートアーキテクト、ウルシステムズ会長とアークウェイ社長を務める漆原茂氏、国立情報学研究所の佐藤一郎情報社会相関研究系教授、Publickeyの新野淳一編集長/Blogger in Chief、デロイト トーマツ コンサルティングの森正弥執行役員の5人である。
5人による選考会で議論した内容から、2023年に注目すべきITインフラ技術を解説する。第1位の「クラウド最適化」に次ぐ第2位に選出したのは「WebAssembly」だ。
WASIでOSに依存せず処理を実行できる
WebAssemblyはWebブラウザー上で実行できるバイナリー形式のファイルフォーマットだ。2019年にWeb技術の標準化団体であるWorld Wide Web Consortium(W3C)が標準化して仕様を勧告。主要Webブラウザーは既にWebAssemblyに対応済みだ。つまり、WebAssemblyコードは基本的にどのWebブラウザー上でも同じように動作する。
WebAssemblyコードはC++やRustなどのプログラムをコンパイルして生成する。現在はさまざまな言語向けのコンパイラーが開発されており、記述された処理をWebAssemblyコードに変換できる。
Publickeyの新野編集長はWebAssemblyを推す理由を「WASI(WebAssembly System Interface)によって、OSの壁を越えられるからだ」と説明する。WASIはWebAssemblyの処理をさまざまなOS上で実行可能にするAPI(アプリケーション・プログラミング・インターフェース)である。
従来、Webブラウザーの処理を記述するには、JavaScriptなどのプログラミング言語を使うことが多かった。しかしWebAssemblyの登場により、JavaScriptに縛られず多様な言語で処理を記載可能になった。言語の壁がなくなったのだ。
同様に、WASIはOSの壁をなくせる。現在、各OS向けにWASIランタイムが登場している。つまりWASI対応のWebAssemblyコードを記述すれば、ランタイムを介してどんなOS上でも同じ処理を実行できる。WebAssemblyとWASIの発展により「(処理の)汎用化が進む」(新野編集長)というわけだ。
クラウド利用の観点からもWebAssemblyは注目だという。例えばコンテナオーケストレーションツールのKubernetesでの活用だ。オープンソースソフトウエア(OSS)として開発されている「Krustlet」は、Dockerコンテナの代わりにWebAssemblyのランタイムを使える。軽量なWebAssemblyランタイムを動かすことで、Dockerコンテナよりも高速な動作を期待できる。