DockerがUnikernelを買収。1秒以下で起動しハイパーバイザで安全に分離されるUnikernelが新たなコンテナの仲間入り

2016年1月22日

Dockerが急速に支持を得ている大きな理由の1つは、Dockerが提供するコンテナが軽量で迅速に起動する点にあります。

その軽量さや迅速な起動をコンテナ型仮想化ではなく、ハイパーバイザを用いた従来の仮想化で実現するのがUnikernelです。

Unikernel Systems Joins Docker | Docker Blog

そのUnikernelの開発を行っているUnikernel Systems社の買収を、Docker社が発表しました

アプリケーションに最適化されたUnikernel

Unikernelとは、ターゲットとなるアプリケーションのコードと、その実行に必要な機能以外を徹底的にそぎ落としたOSとを合わせて1つにビルドしたものです。

ターゲットとなるアプリケーションのソースコードごとにビルドされるため、Unikernelはアプリケーションごとに異なるものとなります。以下のスライドは、Unikernel Systemsが昨年のDocker Conで行ったセッションから。

fig

例えばNginxのUnikernelは2.2MB、MysqldのUnikernelは4.51MB、PHPのUnikernelは4.56MBです。それぞれのUnikernelはターゲットのアプリケーションしか起動されません。

fig

Unikernelの利点は、起動が1秒以内と超高速で使用メモリも少なく軽量であること、アプリケーションに徹底的に最適化されていること、そしてコードが絞り込まれている分セキュリティの脆弱性リスクが非常に低いところです。

そしてこのUnikernelをKVMやXenといったハイパーバイザによる仮想マシンで利用することで、まるでコンテナのように高速に起動し軽量でありながら、安全に分離された環境を利用できるようになります。

ただしUnikernelには課題もありました。アプリケーションごとにUnikernelをビルドする手間や、さまざまなUnikernelイメージを管理し運用する手間がかかるのです。

そこで彼らが注目したのがDockerでした。

DockerからUnikernelのビルド、シップ、ランが実現

Unikernelは、DockerのコンテナAPIを取り込みました。例えばDockerファイルに対応し、Unikernelのビルドやイメージ管理など、ビルド、シップ、ランのすべてがDockerコマンド経由で行えるようになったのです。

これでUnikernelの課題は解消され、しかもDockerからはコンテナの新たな一員として、Dockerコンテナと同じように迅速かつ軽量に扱え、しかもより安全に分離された空間を備えたUnikernelが利用できるようになったのです。

fig

Docker社が買収したUnikernel Systems社は、こうしたUnikernelの開発の推進を行ってきた企業です。

今後、Dockerに正式対応したUnikernel製品群がリリースされることになるでしょう。Unikernel SystemsにはXenのエンジニアも多くいるとのことなので、Unikernel用のハイパーバイザもリリースされるかもしれません。

Dockerはもはやコンテナ型仮想化の企業ではない

コンテナの利点を活かしつつ、ハイパーバイザの技術を用いてより安全に分離するという試みは、マイクロソフトが「Hyper-V Container」として、VMwareは「vSphere Integrated Containers」や「Photon Platform」として取り組んでいます。Unikernelの買収は、Docker社がこれらと競合する技術を手に入れたことを意味します。

そしてDocker社はこの買収により、自身の立ち位置をより明確に示したといえます。それは、Docker社とはコンテナ型仮想化を提供するのではなく、マイクロサービスアーキテクチャによるアプリケーションの実現を支援するツール群とサービスを提供する企業なのだ、ということです。

そしてそれはVMwareやマイクロソフトやRed Hatなど多くのソフトウェア企業だけでなく、広い意味でGoogleやAWSなどのクラウドベンダも同じ市場を見ています。Dockerはそうした企業と競合することを理解しており、そのために彼らなりに何手も先を読みながら買収を続けているのでしょう。

下記は昨年行われたDocker ConでのUnikernelのデモです。

このエントリーをはてなブックマークに追加
follow us in feedly


関連タグ Docker / コンテナ型仮想化 / 仮想化 / Microservices



タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準
アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本