コンテナを超えて – Boxerの紹介
(youtube.com)この発表では、コンテナを超えて WASM(WebAssembly) の新たな可能性を示す Boxer プロジェクトを紹介します。
Boxer は `dockerfile` を用いて WASM バイナリを生成し、`marquott` という libc を通じて POSIX 互換性を提供し、これにより WASM 内でネイティブコードに近い環境を実現することを目指しています。
最終的に Boxer は、より安全で高速かつユビキタスに配布可能なコンピューティング環境を構築し、AI 時代に信頼できる実行環境を提供することを目指しています。
-
発表者紹介
発表者は Dan Phillips で、Loophole Labs で働いています。
主に Architect.Run という製品を開発しており、これは VM をダウンタイムなしで移行できる方法を提供します。
-
コンテナが人気な理由
人々がコンテナを好む理由はいくつもありますが、最も重要なのは、クラウドネイティブの基本単位として認識されているためです。
コンテナは動作時に非常に簡単に使うことができ、ユーザーはランタイムの実装方式について知る必要がありません。
多くの開発者はコンテナをミニ VM と考え、SSH で接続して使用します。
-
Docker の発展
docker以前にもコンテナは存在していましたが、dockerは開発者体験を改善し、コンテナの利用を容易にしました。dockerはさまざまなランタイムに対する抽象化を提供し、開発者が複雑な詳細を気にせず利用できるようにしました。 -
WASM と Scale
Loophole Labs は過去 2 年間、Scale という製品を通じて実際に WASM を使ってきました。
Scale は Rust、Go、TypeScript をサポートするオープンソースのプラグインフレームワークです。
開発者はシステムコードを書き直すことを望んでおらず、シンプルな開発体験を好みます。
-
Boxer プロジェクト紹介
Boxer プロジェクトは、ネイティブコードの互換性と WASM の利点を組み合わせようとする試みです。
既存のコンテナは複雑なシステム機能を含みますが、Boxer は必要なものだけを選んで追加する方式を取っています。
-
Marquott と POSIX
marquottは Boxer のサブプロジェクトで、POSIX 仕様の実装を目指しています。現在はおよそ 60% の POSIX 機能が実装されており、プロセス管理やスレッド管理のような機能はまだ不十分です。
-
ファイルシステムと VFS
各モジュールおよびプロセスにはファイルシステムが必要であり、
marquottは Rust ベースの仮想ファイルシステム(VFS)を使用します。仮想ファイルシステムは、多くの Unix システムで使われている抽象化に似ています。
-
Boxer の機能
Boxer は
dockerファイルを入力として受け取り、WASM バイナリとホストプラグイン機能を生成します。marquottは仮想化されたファイルシステムとシステムコードレイヤーを含み、さまざまなランタイムをサポートします。 -
デモと活用事例
dockerファイルを使って WASM バイナリを生成し、それをローカルマシン、サーバー、ブラウザで実行する方法を実演します。同一のコードをさまざまな環境で実行できる可能性を強調します。
-
未来の可能性
WASM は小さく安全で高速なコード実行を可能にし、さまざまな環境で活用できます。
多くの遊休コンピューティング資源を活用できる機会を提供します。
-
質疑応答
発表後に質問を受け、C プログラムを WASM に変換する方法、セキュリティレベル、複雑な機能の実装などに関する質問に回答します。
1件のコメント
要約内容です。
https://lilys.ai/digest/3762112/2446928?s=1&nid=2446928