2015年9月19日土曜日

コンテナーの世界(8) ミニマルOS -RancherOS

=こんどこそ、Rancher Labs!= 
 シリコンバレーの北西にあるクパティーノ市のRancher Labsから、Docker専用のLinuxディストリビューションRancherOSが出た。話の本論に入る前にこの会社の生い立ちについて触れておこう。Racher Labsの入るオフィスビルはStevens CreekとN. Wolfeの角、何と筆者が以前いたオフィスと同じビルだ。奇遇な話である。同社のファウンダーは4名。核となるのはSheng Liang氏だ。氏は元Sun Microsystemsのリードデベロッパーで2008年に、当時名を馳せたCloud.comを立ち上げた。その時の事務所もクパティーノだった。当時、同社が開発したのはApache CloudStackのもとになったオープンソース製品である。しかし、ビジネスの方は、台頭し始めたOpenStackに押され気味となり、統合の道も模索したが結局、2011年にCitrixに買収された。そのCitrixもクラウド事業が上手く立ち上がらず、Apache Foundationにコードを寄贈、現在に至っている(詳細は当ブログのここ )。そして、Liang氏は、買収されたCitrix時代の3人の仲間と2014年にRacher Labsを立ち上げた。当初受け取ったシーズファンドは$10M(約12億円)、この6月にはさらにAシリーズとして$10Mを受け取った。

=ミニマルOSを目指すRancherOSの試み!=
さて同社が今年7月に発表したRancherOS βは、Dockerを効率よく稼働させるミニマルOSである。この小型OSの市場には既にCoreOSSnappy Ubuntu Core、さらにRed HatのProject AtomicからはRHELだけでなく、FedoraやCentOSなども出て、ひしめき合っている状態だ。これらに打ち勝つために、RancherOSは、ブートに特別な仕組みを持ち込んだ。通常、Linux機に電源を入れると、ブートローダーがカーネルを呼び込み、次にプロセスID(PID) 1で initプログラムが起動する。しかしRancherOSではここですぐにSystem Dockerが読み込まれ、その上で各種サービスを実行する。これらは初期ルートファイルのinitrd(initial ram disk)に相当し、そのサイズはたったの20MBだ。この仕組みによってRancherOSは5秒以内で起動ずる。CoreOSが100MB以上なので、RancherOSが如何に小さいかが解る。ユーザアプリはというと、System Dockerが持つUser Dockerサービスが作成するコンテナー上で稼働する。

=ストレージ向けConvoy、ELKスタックも!=
Rancher Labsにとって今年の夏は忙しかった。6月中旬にβを発表すると、1か月後、すぐにDockerCon 2015だ。デモ、プレゼンの毎日だ。そして8月に入るとMesos対応、さらに8月12日、Docker 1.8が出た。この1.8では前回のリリースでは試験的なサポート(Experimental Support)となっていたストレージのコンシステンシーを保つVolume Pluginが正式リリースとなった。Rancher Labsだけでなく、このシリーズで既に触れたコンテナー向けSDSのPortworxClusterHQ(詳細はここなどがこれを組み込むべく猛烈に働いている。Rancher LabsがRancher Convoyを発表したのは8月19日。これを使えば、コンシステントなボリュームを作成し、例えばAmazonS3のバックアップをそれに採ったり、リストアが可能となる。季節が秋となり、9月17日には、Elasticの開発した検索エンジンElasticsearchとログ収集のLogstash、フィルタリングのKibanaを統合したログ管理システムをELK Stackとしてリリース。同社にとって、今年の秋は実りの多いことが予感される。