Dockerが今日(米国時間1/21)、Unikernel Systemsの買収を発表した。この、イギリスのケンブリッジのスタートアップは、unikernel(ユニカーネル)の普及を目指している(少なくとも、デベロッパに対する普及を)。
Dockerは、同社のツールやサービスにユニカーネルのサポートを統合する計画だ。最近の同社は、デベロッパがさらに効率的なマイクロサービスアーキテクチャを構築できるための、コンテナ以外の技術にも着目し始めている。買収の価額は公表されていない。
ユニカーネルとは、オペレーティングシステムを最小限ぎりぎりまでそぎ落として、特定のアプリケーションだけを動かす、というものだ。それ以上のものでも、それ以下のものでもない。アプリケーションが必要とするライブラリも、コンパイルしてオペレーティングシステムのカーネルに置く。
アプリケーションがその上で動くマシン(仮想マシン)は極端に小さく、かつ、高速になり、通常のオペレーティングシステムのようなセキュリティの問題が少ない(攻撃を受け入れるインタフェイス〜入り口がほとんどない)。
そのため、ユニカーネルはセキュリティと効率が重視されるアプリケーションに向いている(セキュアであるべき政府のシステム、リアルタイムのトレーディングプラットホーム、IoTのアプリケーションなど)。
Dockerはなぜ、ユニカーネルに関心を持ったのか? DockerのファウンダでCTOのSolomon Hykesによると、確かにこれは、Dockerが行った買収の中では“いちばん分かりにくい”ものかもしれないが、しかし同時に、彼らにとっては、これまででもっともエキサイティングな買収なのだ。
Unikernel Systemsの13名のチームは、その多くが、Xenハイパーバイザーを手がけたデベロッパだ。Unikernel Systemsはユニカーネルのエコシステムと、そのオープンソース部分に対する、主要な貢献者だ。Hykesによると、Dockerもそのコミュニティへの貢献は積極的に継続していく。
この買収により、Docker自身も大量の深い技術的知識をユニカーネルの世界に持ち込むことになる。“Dockerプラットホームがスタックのずっと下の方〔カーネルレベル〕でも問題解決に向けてきわめてアグレッシブであることを、お分かりいただけるだろう”、とHykesは述べる。“今回の買収はわれわれに、これらの問題を解決するための、さらに多くの能力を与える”。
でもそれは、この買収のひとつの側面にすぎない。Dockerといえば誰もが“コンテナ”を連想するが、しかし同社自身はDockerをコンテナに限定されないエコシステムと考えているようだ。その見方に立てばDockerは、マイクロサービスを推進する中心的な力であり、したがってユニカーネルの採用も、きわめて論理的な次のステップだ。
コンテナによってデベロッパは、“小さいことの味を知った”、とHykesは語る。彼のこの見方では、ユニカーネルは、ペイロードをVMからコンテナへ、コンテナからユニカーネルへと縮小していく路線の上にある。
しかし彼は、それが必ずしも、後者が前者を置換する過程であるとは考えていない。ユニカーネルの利用には、トレードオフが伴う…主に互換性やツールの部分で。Dockerは近い将来、同社独自のツールにユニカーネルのサポートを統合する計画だ。“誰も求めていないのは、三つの完全にばらばらなツール集合だ”、と彼は指摘する。“これはVM用、これはコンテナ用、そしてこれはユニカーネル用、なんてね”。
実は、昨年のDockerCon Europeで気づいた方もおられるかもしれないが、そのときからユニカーネルはすでにDockerの予定表に載っていた。Dockerはある短いデモで、同社のツールを使ってユニカーネルのデプロイメントを管理する例を見せたが、そのデモをステージ上で行ったのは、Unikernel SystemsのCTOで、MirageOSのプロジェクトリードAnil Madhavapeddyだった。MirageOSは、ユニカーネルを構築するための、オープンソースのライブラリオペレーティングシステムだ。
〔参考記事。〕