仮想化道場
Xen上にコンパクトな実行環境を作るクラウドOS「Mirage OS」
(2014/9/19 06:00)
組み込み機器に大きなメリット?
Mirage OSは、Linux FoundationとXen Projectとのコラボレーション プロジェクトとして開発が進められている。
Xenの開発を主導していたのは、英ケンブリッジ大学のイアン・プラット氏だった。プラット氏は、ケンブリッジ大学の研究プロジェクトから、Xenの開発を中心的に行うXenSourceを設立。その後2007年に、米CitrixがXenSourceを買収し、開発の中心がCitrixへと移っていた。
しかしCitrixは、Xenを2013年にLinux Foundationに移管して、開発コミュニティのXen Projectを、Linux Foundationのコラボレーションプロジェクトにした(実質的に、CitrixからLinux Foundationへの移管である)。
Mirage OSは、こうしたLinux Foundation移管後に生まれたソフトウェアといえる。
前章のようにクラウドOSと説明されることも多いが、実際にはOSというよりも、アプリケーションが必要とするOS機能を抜きだしてアプリケーションと一緒にパッキングし、Xen上の実行イメージにしたものだ。
Mirage OSの実行環境をほかのLinux OSやFreeBSD、MacのOS Xなどで作成し、動作をテストしてから、Xenで実行できるバイナリイメージにコンパイルする。この時、OS部分にあたりライブラリも一緒にパッキングされる。
Mirage OSを利用すれば、自社のXen環境だけでなく、Xenを利用しているAmazon Web Services(AWS)のAmazon EC2などにも実行環境を移動することができる。さらにMirage OS 2.0では、ARMプロセッサをサポートしているため、ARMプロセッサを利用した組み込み機器で使うことも可能だ(実際、Raspberry Pi上でXen+Mirage OSという組み合わせてデモされいる)。Mirage OSがアプリケーションの実行環境をコンパクトにしてくれるため、組み込み機器などでは大きなメリットを出すだろう。
Mirage OSで動かすアプリケーションは、単機能でシンプルなアプライアンスになっていくと予想されている。これは、1つのMirage OSで動かすアプリケーションを複雑化していくよりも、ひとつひとつはシンプルにして、複数のMirage OSをXen上で動かした方が、開発効率やデバッグなどの点からも優れているからだ。
実際、Mirage OSのアプリケーションとしてテストされてものには、DNS、Webサーバー、OpenFlow Learning Switch/Controllerなどが上げられている。こういったソフトウェアをアプライアンス化して動かす環境として、Mirage OSは最適といえる。
Mirage OSは非常に期待が膨らむOSだが、実は普及に関しては大きな疑問がある。それは、アプリケーションの開発言語として、OCaml(Object Caml)という関数型のプログラミング言語を使用していることだ。
OCamlは、ML(Meta-Language)の方言の一つで、フランスの国立情報学自動制御研究所(Institut National de Recherche en Informatique et en Automatique:INRIA)で開発された。プログラミング言語としては非常に整理され、CやJavaのようなあいまいな部分は少ない。しかし、OCaml自体が普及していないため、扱えるプログラマーの数が、CやJavaに比べると圧倒的に少ないのである。
Mirage OSのコンセプトは非常に面白いが、開発言語のハードルを何とかしないと、大きなムーブメントになるのは難しいだろう。