=データセンターOSの登場!=
理屈はこうである。
これまでの仮想化を俯瞰すれば、それは無数のアプリが巨大なサーバーを共用する仕組みである(下図左)。言い方を変えれば、沢山のクライアント(アプリ)が中央サーバーを利用するクライアント/サーバー時代(Client-Server Era)の産物に似ている。これに対し、クラウド時代(Cloud Era)の特徴のひとつは、Big Dataなど強力なパワーを必要とするアプリケーションが複数のサーバーをクラスターのように集合体として束ねて(Aggregation)利用する(下図右)。つまり、個々のアプリや業務、さらには企業特有のスケーリング要求に合った利用環境をすばやく構築する技術が渇望されている。出来れば、適用するマシンは自前のデータセンターでもPrivate CloudやPublic Cloud上のVMでも構わない。今、利用できるマシン群から必要なものを組み合わせて論理的なデータセンターを構築したい。この仕組みを提供するのがデータセンターOSである。
Applications in the Cloud Era |
=市場を作り出せるか、Mesosphere!=
この世界を切り開き始めているのはMesosphereだ。
Mesosphereとは地球を覆う大気圏の上位の熱圏と下位成層圏の間に位置する中間圏のことだ。Mesoはギリシャ語で中間を意味する。つまり、既存のITフレームワークと新たなスケーリング要求の間に入って、必要とするIT環境を素早く整備する。MesosphereのベースであるオープンソースのApache Mesosは、2009年、UC Berkeleyの学生たちが立ち上げた。そしてMesosは2013年にApacheのトップレベルのプロジェクトとなり、同年Mesosphereが創業。学生時代からのリーダBenjamin Hindman氏が現在のCEOとなった。Mesosを一言で言えば、分散アプリケーションの実行環境を多様なITリソースに跨って整備するクラスターマネージャーである。その上でアプリケーションを稼働させるにはスケジューラーとなるフレームワークが必要だ。下図の2つは、Linux/Unix OS StackとMesos OS Stackを比べたものだ。図で解るようにLinuxやUnixではInitやUpstart、Systemdなどのデーモンがアプリの起動や終了などのスケジュールを管理する。一方、Mesosでは、MesosがKernelとなって、ユーザは各アプリに適したものや慣れ親しんだフレームワーク(AuroraやChronos、Marathonなど)を指定して利用する。 これらがアプリを分散環境で実行するスケジューラとなる。
Linux/Unix OS Stack |
Mesos OS Stack |
果たしてデータセンターOSは普及するだろうか。
それを占う手掛かりはGoogleにあるのかもしれない。GoogleはDockerにいち早く目をつけ、自身でもオーケストレーションのKubernetesを開発して、OpenStackにプロジェクトMagnumを立ち上げた。一方、Mesosphereも2013年9月にはDockerを早々とサポートし、同年11月にはAmazon上で稼働(Mesosphere on AWS)させると発表。翌2014年8月、今度は、MesosphereはGoogleとチームアップし、GCP上での稼働(Mesosphere for Google Cloud Platform)とKubernetesの取り込みを発表した。GoogleはDockerの時と同じように、こうしてMesosphereとの距離を詰つつ、次の手を考えているように見える。そんな折、Googleは今年4月中、Memosと似た技術をLarge-Scale Cluster Management at Google with Borgとして公開した。公開の意図は何か。GoogleにとってBorgは自社データセンターの中核技術であり、Kubernetesはその延長線上にある。Kubernetesの普及が確実となった今、次はBorgが前面に出てくるのかもしれない。BorgがMesosと共存関係を歩むのか、競合するのか、それはまだ解らない。折しも6月9日、Mesosphereは2013年来のβ版を抜けてGA(General Availability)になり、有償でサポート付きのCommercial Versionと無償Community Versionを発表。本当の戦いが今始まろうとしている。
High Level Architecture of Borg |