Docker DesktopがWebAssemblyランタイムを統合。コンテナと同様にWebAssemblyイメージを実行可能に

今回は「Docker DesktopがWebAssemblyランタイムを統合。コンテナと同様にWebAssemblyイメージを実行可能に」についてご紹介します。

関連ワード (拡張、起動、通常等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Docker Desktopを提供するDocker社は、Docker DesktopにWebAssemblyランタイムを統合することによる、Docker DesktopのWebAssembly対応版のテクニカルプレビューを発表しました。

またDocker社はこれに合わせて、WebAssemblyをあらゆるプラットフォームでセキュアに実行できるようにするための仕様策定と実装を進めている団体「Bytecode Alliance」への加盟も発表しました。

DockerにWASMランタイムのWasmEdgeを統合

下記の図がDocker DesktopにWebAssemblyを統合した仕組みを示しています。

左側と中央は通常のDockerコンテナを利用する場合の仕組みです。Docker Engineは主にコンテナイメージの管理などを行う高レベルランタイムの「containerd」と、主にコンテナのプロセスを管理する低レベルランタイムの「runc」から構成されており、その間を「containerd-shim」と呼ばれるプロセスがつないでいます。

fig

そして図の右がDocker Desktopに新たに加わったWebAssemblyサポートのための仕組みです。WebAssemblyランタイムのWasmEdgeが組み込まれており、これを高レベルランタイムのcontainerdから「container-wasm-shim」経由で操作することになります。

これにより、dockerコマンドの引数によってWebAssemblyランタイムでの実行やWebAssemblyイメージの指定など、Dockerによるコンテナの操作と同じようにDockerを通じてWebAssemblyアプリケーションの実行が行えるようになるわけです。

WebAssemblyランタイムとして採用されたWasmEdgeは、Cloud Native Computing Foundationのインキュベーションプロジェクトとして開発されているWebAssemblyランタイムで、Dockerコンテナの業界標準であるOCI(Open Container Interface)に対応しているのが大きな特徴です。

WebAssemblyとDockerは共存共栄の道を進むか?

WebAssemblyは高速に起動するバイナリイメージやモジュールごとにセキュアに分離された空間を備えるなど、Dockerコンテナが備えている特徴と非常に似た特徴を備えている上に、ByteCode Allianceにより標準化が進められているWASIによってクロスプラットフォーム対応も進んでいることで、非常に注目度が高まっている技術です。

WebAssemblyは将来的に、現在のDockerコンテナの技術を置き換えてしまうのではないか、という見方も存在します。

例えばDockerコンテナの技術の生みの親であるSolomon Hykes氏は、WebAssemblyがDockerを置き換えることはないだろうとしながらも、もしもDockerコンテナの技術を開発する以前の2008年にWebAssemblyとWASIが存在していたら自分はDockerを開発する必要などなかっただろうと過去に発言しています。

If WASM+WASI existed in 2008, we wouldn't have needed to created Docker. That's how important it is. Webassembly on the server is the future of computing. A standardized system interface was the missing link. Let's hope WASI is up to the task! https://t.co/wnXQg4kwa4

— Solomon Hykes (@solomonstre) March 27, 2019

WebAssemblyはこのように重要視されている一方で、現時点ではソースコードをコンパイルしてWebAssemblyバイナリを生成し、テストし、デプロイするためのツールチェーンや、生成されたバイナリを集中管理するためのリポジトリなど、周辺ツールのエコシステムはまだ貧弱なままであると言わざるを得ません。

今回、Docker DesktopがWebAssemblyをサポートすることで、サードパーティも含むDocker関連のビルド、テスト、デプロイ、リポジトリなど非常に豊富に揃っているDockerのエコシステム全体でもWebAssemblyをサポートするようになれば、WebAssemblyのエコシステムは急速に整備されていくことになるでしょう。

そしてDockerのエコシステムをWebAssembly方面へ拡張できれば、WebAssemblyの発展がDockerの脅威ではなくDockerエコシステムの発展へとつなげられます。

WebAssemblyを新種のコンテナと位置づけてDockerのエコシステムの一部として取り込む。これによりDockerとWebAssemblyの共存共栄をはかっていく目論見が、今回のDocker DesktopによるWebAssemblyサポートの狙いとしてあるのだと考えられます。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
ドコモの「ahamo」、登録手続きに不具合 一定の条件下で完了画面が表示されず
企業・業界動向
2021-03-29 22:33
サイバー攻撃による「深刻な被害」をゼロに–サイバーセキュリティ連盟
IT関連
2023-03-28 03:19
6割の消費者が「生活費の上昇」と「経済の見通し」に対して悲観的–チーターデジタル調査
IT関連
2023-03-10 18:46
今がオープンソースから「ポストオープン」へ踏み出すとき。オープンソースの中心人物ブルース・ペレンズ氏が提案する、開発者にお金を分配できる新たな仕組み[前編]
オープンソース
2024-04-16 07:12
ツイッター、偽報報告機能をブラジル、スペイン、フィリピンにも拡大
IT関連
2022-01-20 12:20
「ドラクエ」のゲーム実況、個人の収益化OKに スクエニがガイドライン更新 「変化を前向きにとらえた」
企業・業界動向
2021-01-16 07:36
ミスミ、機械部品調達「meviy」でAI図面データ検索・共有機能を無償提供
IT関連
2024-07-02 19:14
ルネサス協力、CollaboGateとテセラが分散型IDを用いた「分散型IoTプラットフォーム」構築に向けた実証実験
IoT
2021-07-08 03:16
次世代の「全個体電池」、安全・高容量 EV搭載に期待
IT関連
2021-01-21 10:08
マイクロソフト「Azure」がAWSしのぐ側面も–Flexeraのクラウドレポート
IT関連
2022-03-12 12:01
RedMonkの人気プログラミング言語ランキング–上位4言語は変わらず
IT関連
2022-11-12 12:54
キリンビールとブレインパッド、「デジタルの力」と「人間の力」でSCM業務のDXを推進
IT関連
2022-10-04 14:46
バイデン米政権、AI分野の進展に向けた新たなタスクフォースを立ち上げ
IT関連
2021-06-14 05:14
マスターカードが暗号資産に年内対応と発表、中央銀行デジタル通貨(CBDC)で中央銀行数行とも連携
フィンテック
2021-02-13 11:06