クラスタ管理のMesosphereがデータのスケーラビリティのためにグラフデータベースのOrlyAtomicsを買収

分散プロセス(クラスタ群)の生成と、それらが適正に動くためのリソース管理をデベロッパ/アドミンに代わってやってくれるMesosphereが、分散/並列データベース技術(グラフデータベース)のOrlyAtomicsを、どうやら人材獲得を目的として買収した。OrlyAtomicsの4名の技術者は、ただちにMesosphereのチームに加わる。買収の価額などは、公表されていない。

Mesosphereは、オープンソースのMesosプロジェクトに便利なユーザインタフェイスを着せたサービスで、‘データセンターのオペレーティングシステム’を自称している。このMesosユーザインタフェイスの下では、どんなに複雑大規模なデータセンターでもまるで1台のPCのように簡単に効率的に管理できてしまうことが、メインの売りだ。一方OrlyAtomicsは、スケーラビリティのたいへん高いデータベース技術だ。クラスタ管理とデータベースでは一見互いに無関係なようだが、Mesosphereの協同ファウンダでCEOのFlorian Leibertによると、その下部構造は共通点がとても多い。

まずどちらもルーツがオープンソースで、どちらもC++で書かれている。だからOrlyAtomicsの連中はMesosphereに来たその日から一緒に仕事ができる。しかしLeibertによると、そういうレベルの互換性がすべてではない。プログラミングの技能以上に重要なのが、データ構造のスケーラビリティについて理解を共有することだ。

“大規模なシステムを管理し、大規模な分散システムの稼働状態を管理することは、言うは易く行うは難しの典型だ”、と彼は説明する。彼によると、OrlyAtomicsの連中が、これまでのMesosphereに欠けていたユニークな、そして願ってもないスキルセットを持参してくれたのだ。同社はOrlyAtomicsの知財をひとかけらも買い上げていないが、いずれにしてもオープンソースだから必要ならGitHubにアクセスすればよい。OrlyAtomicsのCEOだったPatrick Reillyは、いずれは同社の技術をMesosphereに合体させたい、と言っている。それはもちろん、データベースのプロジェクトを、という意味ではない。

“自分たちが築いてきたグラフストレージというビジョンには、今でも愛着がある。グラフデータベースによって人びとは、新しいクリエイティブなデータの利用方法に目覚めるだろう。これからはデータベースを作るのではなく、そういう機能をAPI的なプリミティブ集合として作っていく。もちろん、OrlyのオープンソースデータベースをMesosの上で動かしてみたいけどね”、とReillyは語る。

いずれにしても、Leibertによれば、Mesosphereにとって関心があるのはOrlyAtomicsの既存のプロダクトではなく、彼ら独特の技術能力と、彼らとの今後の協働関係だ。“プロダクトはそのままうちで利用できるものではない。むしろ貴重なのは、彼らがそれらを作りながら獲得した専門的知識と技術だ。それは巨大な分散システムが陥りがちな無秩序状態をすっきりまとめることに、関係がある”、とLeibertは言う。

どちらもC++で書かれているので、MesosphereとしてはOrlyAtomicsのチームがこれまでの経験から獲得した技能をMesosphereのプロダクトに持ち込んでくれることを期待している。Leibert曰く、“彼らはレイテンシを抑えスループットを上げることに邁進してきた。うちが大規模分散システムで実現したいと思っている価値も、まさにそれだ”。

Reillyのチームにとっても、魅力はそこにあった。彼曰く、“C++はパフォーマンスが高いから好きだ。Mesosに来てから最初のほんの数時間で、OrlyとMesosのコードを合体させると良さそうなところを、何箇所も見つけた。アプリケーションが何千もの専用コンテナに分散していて、それらが数十箇所ものデータセンターにまたがって動き、しかもそれらの全体がまるで一台の大きなコンピュータへと癒合しているようなMesosphereの世界は、すごくエキサイティングだ”。

LeibertがOrlyとの交渉を始めたのは4週間前だが、でも彼らは過去にすでに数週間、Mesosphereで仕事をした経験があるので、決心も早かった。Mesosphereの社員はわずか27名と少ないので、新しい社員を入れるにしても、相性がきわめて重要だった。

Mesosphereの社員たちは、一般の新入社員の場合と同じようにOrlyのチームを評価し、うまくやっていける、と判断した。

一方Reillyのチームは、Mesosphereのプロジェクトの大きさに感動し、また自分たちがそこに持ち込める貢献にもわくわくしていた。Reillyは曰く、“技術者はチャレンジすることが好きだが、大きな、そして複数のデータセンターの集まりを一台のコンピュータと見立てて、それのオペレーティングシステムを作るなんて、とてつもなくすごい。Mesosphereのコードベースを調べ始めてすぐに、そこがまるで自分の家のように感じた”。

Mesosphereから見ると、Orlyには同社の長期的な目標の実現に欠かせないものがある。“データセンターのためのオペレーティングシステム、という抽象を構築していくためには、データのコーディネーションが何よりも重要だ。彼らは、まさにそれをやっていたのだ”、とLeibertは語る。

オープンソースプロジェクトOrlyAtomicsは、ソーシャルディスカバリサイトTaggedで生まれた。後者は今、全世界に3億3000万のユーザがいるといわれる。Taggedはある時点で、データの大規模なスケーラビリティを実現するためのソリューションが必要になり、そこからOrlyAtomicsが生まれた。それはまさに、今のMesosphereが必要としているものだった。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


クラスタ管理を抽象化して簡易にするMesosphereがGoogleのクラウドプラットホームにも対応、DockerツールKubernetesを統合

GoogleとMesosphereが今日(米国時間8/18)、両社のパートナーシップにより、GoogleのCompute EngineプラットホームにMesosクラスタのサポートを導入する、と発表したMesosプロジェクトとMesosphereはまだよく見かける名前ではないが、アプリケーションのスケーリング(ニーズに応じての規模拡大)で余計な苦労をしたくないと考える企業にとって、このところ急速に、重要なツールになりつつある。それらのアプリケーションの所在は、完全に自社のみのデータセンターの場合もあれば、パブリックなクラウドサービスの場合、あるいはパブリック/プライベートのハイブリッドの場合など、さまざまである。〔*: Mesosphere関連日本語訳記事(1)(2)。Mesosの’os’はOS(オペレーティングシステム)の意味…クラスタ群を一台のコンピュータへと抽象化する。〕

今度の提携によりGoogleのCloud Platformのユーザは、MesosphereのクラスタをGoogleのサーバ上に10分足らずでセットアップできるようになる。その基本的なインストールには二つの形があり、デベロッパはそのどちらかを選ぶ: 1)4インスタンスの開発用クラスタでアプリケーションのプロトタイピング用に8つの仮想CPUと30GBのメモリを提供、2)プロダクション用インストールで18インスタンス36仮想CPUメモリ136GB。この二つのオプションで不満な場合は独自のカスタムクラスタを作れる。

これらのクラスタにはデフォルトでMesosカーネル、Zookeeper、Marathon、およびOpenVPNが含まれる。クラスタの使用を開始するとMesosphereは、クラスタを管理するためのWeb上のわかりやすいダッシュボードを管理者に提供し、それにはGoogleのダッシュボードからアクセスできる。

MesosphereのCEO Florian Leibertによると、Mesosphereの中心的なねらいは、デベロッパがデータセンターをつねに一台のコンピュータのように扱えることだ。そのためにMesosなどのソフトウェアパッケージがDevOpsの主な仕事のほとんどを抽象化する。Leibertは以前TwitterやAirbnbの社員で今やそのTwitterもAirbnbもMesosのユーザだが、両社にオープンソースプロジェクトMesosを紹介したのはLeibert自身だ。

ユーザのハードウェアは実際には複数のハードウェアや仮想マシンやクラウドのインスタンスなどから成るが、Mesosphereという一枚の層がその上にかぶさるとアプリケーションは、多くのCPUやメモリをかかえた単一のリソースプールを使っている、という外見になる。デフォルトではMesosphereのサービスは、ユーザが使っているオペレーティングシステムやクラウドが何であるかを、まったく関知しない(どうでもよい)。ただし今回のGoogleとの提携にあたっては、Googleのクラウドに対しての最適化を図った。Mesosphereの詳細なドキュメンテーションは、ここにある。

Googleとのパートナーシップの中には、Dockerのコンテナを管理するGoogleのオープンソースのサービスKubernetesをMesopshereに統合することも含まれる。同社によるとこれによって、Dockerのワークロードの展開管理がより容易になる。ただしMesopshereのKubernetes統合は、対象がGoogleのCloud Platformに限定されない。Leibertは今日の発表声明の中で、“われわれが織り上げたコンピューティングの織物は、GoogleのCloud Platformだけでなく、そのほか、ユーザ自身のデータセンターやそのほかのクラウドプロバイダでも使用できる”、と言っている。〔Kubernetes関連日本語訳記事(1)(2)。〕

GoogleでKubernetesなどの次世代クラウドコンピューティングプロダクトを担当しているリードプロダクトマネージャCraig McLuckieによると、GoogleがKubernetesでやりたいことは、Googleが自社のデータセンターを管理するために開発してきた重要なコンセプトの多くを、同社の外部でも利用できるようにすることだ。彼は今回のMesosphereとGoogleの協働関係を、“きわめて相補的である”*と呼び、それら重要コンセプトの一部はMesosにも持ち込まれるだろう、と考えている。〔*: complementary, お互いの足りないところに互いにピッタリとはまり込んで補う、完璧な結婚。〕

MesosphereのシニアVP Matt Trifiro(元HerokuのCMO)によると、KubernetesやMesosのようなプロジェクトは、これらの技術の背後にある非常に高尚な思想を、万人が共有するものにする。現状では、“Webをスケールしなければならないというニーズを抱える企業にとって、ツールが十分にアクセス可能でなかった”。しかし今では、GoogleやMesosの高度なコンセプトとツールを企業も利用できるようになり、デベロッパやDevOps たちは一段高い抽象性のレベルで仕事ができるようになり、アプリケーションを動かしているインフラの具体的な細部を、直接いじらなくてもよくなっている。

Leibertは今日、こう書いている: “Googleと協働することによってGoogleのCloud Platformを、従来からのMesosphereのワークロード、たとえばMarathonChronosHadoopSpark、そして新たにKubernetesなどを使用するための最良の場所にしていきたい”。

この協働プロジェクトでは両社の関係がきわめて密だから、いずれGoogleがMesosphereを買収することもありえるかもしれない。現状ではそれは、あくまでも憶測だが、でも実際にそうなったら、その起源がこれだったことを、思い出そう。

 

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


Mesos対応のクラスタをAWS上にわずか15分でセットアップできるElastic Mesos, Mesosphereが提供開始

クラスタ管理ソフトApache Mesosを開発し、ユーザサービスも提供しているMesosphereが、Amazon Web Servicesの上でのMesosクラスタのセットアップを、わずか3ステップの作業へと簡易化するサービスElastic Mesosをローンチした。その3ステップとは、1)セットアップしたいクラスタのサイズを指定、2)AWSの認証情報を教えてやる、3)通知を受け取る方法(メールアドレスなど)を指定、以上だ。

Mesosのクラスタは通常のものでもセットアップが複雑である。そこでこの新サービスは、Mesos、フレームワークMesosphere、およびそのほかの関連ソフトウェアを、デベロッパがより容易に利用できるようにする。

MesosphereのファウンダFlorian Leibertによると、今では多くのアプリケーションにとって、データセンターがその動作環境、すなわちコンピュータだ。そこで今ではほとんどのアプリケーションが分散システムの上で動く。しかし分散している各部分を結びつけたりリソースの割り当てなどを管理する操作は、まだ手作業で行われているところが多い。そこでMesosの仕事はそういう作業に付随する複雑性を抽象化し、ユーザが複数の分散ノードから成るデータセンターを、まるで一台のコンピュータのように簡単に扱えるようにする。ユーザは、これまでのように、アプリケーションのどの部分をサーバクラスタのどこにセットアップするか、などで悩む必要がなくなる。固定的静的にサーバを割り当てるのではなく、Mesosはサーバ群の共有プールを作り、そのリソースを必要に応じて動的に割り当てる。

今ではAirbnb、Vimeo、Hubspot、TwitterなどがMesosを利用している。

Mesosは稼働時のクラスタ管理を楽にしてくれるが、最初に行うMesosクラスタのセットアップは、ZooKeeperHadoop Distributed File System(HFDS)などのソフトウェアパッケージをインストールして、それらのあいだの接続関係を構成するなど、相当に面倒な作業である。しかもそのあとには、ChronosHadoop、Marathon、Jenkinsなどのフレームワークもインストールしなければならない。

しかしElastic Mesosを使うと、AWS上のMesosphereのセットアップ過程の全体が15分以下で完了する。現状ではデベロッパは、6インスタンスのクラスタか、または18インスタンスのクラスタを選ぶ。小さい方はAWSの現在の料金で1時間1.44ドルを要するが、Mesosを試用するには好適だ。大きい方は1時間4.32ドルで、本番利用に向いている。なおMesosphereの構成オプションは、今後もっと柔軟性に富むものになる予定(今は2タイプのクラスタのみ)だ。Mesosそのものはクラスタのノードを増やすだけで単純にスケールできるが、Elastic Mesosからはそれが今のところできない。…その辺を、今後改良する予定だ。

Mesosphereのサービスは無料で利用できるが、AWSのインスタンスには課金が発生する。

Mesos付きクラスタのセットアップが完了したら、その上でHadoopやApache Spark(あるいはそのほかのMesosフレームワーク/アプリケーション)を動かせる。

Leibertによると、こうやってMesosを楽に試用できるようになると、デベロッパは自分独自のMesosフレームワークを作りやすくなるだろう。Mesosなどの新しい技術を試すためにデータセンターを自由に使えるデベロッパはあまりいないと思われるが、Elastic Mesosを使えばクラスタを簡単に動かして、自分のフレームワークをほんの数時間でテスト開始できるようになるだろう。

〔参考記事: (1)(2)(3)。〕

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


サーバクラスタのためのオペレーティングシステムMesosを開発すMesosphereがアプリケーションコンテナDockerをサポート

Mesosは、サーバのクラスタを効率的に管理し、リソースの隔離も行うオープンソースのプロジェクトだ。今は主に、プロジェクトの生誕の地であるTwitterAirbnbなどで使われている。Googleにも”Borg”と呼ばれるよく似たシステムがあり、それはMesosが登場するかなり前に単独で開発され、データセンターの稼働の最適化に利用されてきた。

今Mesosは、TwitterとAirbnbのエンジニアだったFlorian Leibertと元AirbnbのエンジニアTobias Knaupが作ったスタートアップMesosphereで開発されている。オープンソース系のスタートアップの例に漏れずMesosphereも、関連サービスを将来的な収益源として考えているが、Leibertによると、今はMesosのエコシステムの育成と、そのコンセプトの普及に注力している。

Mesosは今ではApache Foundationがホストしているが、発端はカ大バークリー校の研究プロジェクトで、研究グループの一人、当時博士課程の学生だったBenjamin Hindmanが、それをのちにTwitterに持ち込んだ(彼は今Twitterの上級技術者だ)。

Mesosの基本的な考え方は単純明快だが、それはかなり前に時流から外れてしまっていた。それはつまり、アプリケーションの各部向けにそれぞれ専用のサーバクラスタをセットアップするのではなく、むしろサーバのプールを作っておいて、それを各部…Hadoop、Webサーバ、etc.…が共有し自分を動かす、という今のMesosのアーキテクチャだ。アプリケーションはお互いを邪魔することなく、むしろリソースを必要に応じて動的に割り当てる。たとえばビッグデータ分析の仕事が終わったら、リソースをトラフィックの多いWebサーバに回す、とか。

もっと概念化して言うと、Leibertの説明では、いろんなプロセスが並行で動くデータセンターをマルチコアのCPUにたとえると、Mesosはいわば、そのCPUの動作を管理するオペレーティングシステムのカーネルだ。オペレーティングシステムはカーネルの外側にいろんな実働部隊を要するが、今それらの部位の開発にMesosphereは取り組んでいる。たとえばAirbnb時代にLeiberが作りChronosと名づけたスケジューラは、伝統的なcronに代わって、Mesos上で動く各サービスの開始と停止(とエラー処理)を自動化する。またMarathonは、いわばMesosにおけるinit.dとして、始動プロセスの役を担う。その後のサービス(Chronosなど)が利用する、開始、停止、スケーリングなどの基本的なプロセス管理タスクは、MarathonがAPIとして提供する。

背後でChronosとMarathonが動くことを前提として、チームは今日(米国時間9/26)、Mesosが動かして管理するアプリケーションコンテナDockerを発表した。デベロッパは自分のアプリケーションをこの軽量でポータブルなコンテナに収めることによって、展開を…新しいマシン上の展開でも…自動化できる。つまりMesosのレベルで言えば、クラスタ上のアプリケーションの展開が大幅に簡易化される。彼らのブログ記事によると、“アプリケーションをDockerに入れてMesosに渡すことにより、オンプレミスやクラウド上の多様なアプリケーションを展開し動かすための、真にエラスティックで効率的で首尾一貫性のあるプラットホームが約束される”。Leibertによると、アプリケーションがDockerを着ているとクラスタ全域にわたるサービスの発見が容易になる。つまり、クラスタをセットアップしたらそれで終わり、ではなく、いろんなサーバがお互いを見つけられる必要があるのだ。

Mesosなどクラスタシステム上のサービス~アプリケーションをDockerのようなもので抽象化することは、Leibertによると、過去にもいろんな人が試みたが、その実現はとても困難だった。しかしMesosphereの6人のチームは、Mesosを誰よりも熟知しているので、アプリケーションコンテナの組み込みに成功できた。

以上のようなビルディングブロックが揃ったところで、チームが次に挑戦するのは、Mesosを新人ユーザでも使いこなせるための、ユーザフレンドリーなユーザインタフェイスの構築だ。その仕様は、Mesosのコミュニティからの要望に基づき、またその具体的な部位もユーザからの求めに応じて加えていく予定だ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


サーバクラスタのためのオペレーティングシステムMesosを開発すMesosphereがアプリケーションコンテナDockerをサポート

Mesosは、サーバのクラスタを効率的に管理し、リソースの隔離も行うオープンソースのプロジェクトだ。今は主に、プロジェクトの生誕の地であるTwitterAirbnbなどで使われている。Googleにも”Borg”と呼ばれるよく似たシステムがあり、それはMesosが登場するかなり前に単独で開発され、データセンターの稼働の最適化に利用されてきた。

今Mesosは、TwitterとAirbnbのエンジニアだったFlorian Leibertと元AirbnbのエンジニアTobias Knaupが作ったスタートアップMesosphereで開発されている。オープンソース系のスタートアップの例に漏れずMesosphereも、関連サービスを将来的な収益源として考えているが、Leibertによると、今はMesosのエコシステムの育成と、そのコンセプトの普及に注力している。

Mesosは今ではApache Foundationがホストしているが、発端はカ大バークリー校の研究プロジェクトで、研究グループの一人、当時博士課程の学生だったBenjamin Hindmanが、それをのちにTwitterに持ち込んだ(彼は今Twitterの上級技術者だ)。

Mesosの基本的な考え方は単純明快だが、それはかなり前に時流から外れてしまっていた。それはつまり、アプリケーションの各部向けにそれぞれ専用のサーバクラスタをセットアップするのではなく、むしろサーバのプールを作っておいて、それを各部…Hadoop、Webサーバ、etc.…が共有し自分を動かす、という今のMesosのアーキテクチャだ。アプリケーションはお互いを邪魔することなく、むしろリソースを必要に応じて動的に割り当てる。たとえばビッグデータ分析の仕事が終わったら、リソースをトラフィックの多いWebサーバに回す、とか。

もっと概念化して言うと、Leibertの説明では、いろんなプロセスが並行で動くデータセンターをマルチコアのCPUにたとえると、Mesosはいわば、そのCPUの動作を管理するオペレーティングシステムのカーネルだ。オペレーティングシステムはカーネルの外側にいろんな実働部隊を要するが、今それらの部位の開発にMesosphereは取り組んでいる。たとえばAirbnb時代にLeiberが作りChronosと名づけたスケジューラは、伝統的なcronに代わって、Mesos上で動く各サービスの開始と停止(とエラー処理)を自動化する。またMarathonは、いわばMesosにおけるinit.dとして、始動プロセスの役を担う。その後のサービス(Chronosなど)が利用する、開始、停止、スケーリングなどの基本的なプロセス管理タスクは、MarathonがAPIとして提供する。

背後でChronosとMarathonが動くことを前提として、チームは今日(米国時間9/26)、Mesosが動かして管理するアプリケーションコンテナDockerを発表した。デベロッパは自分のアプリケーションをこの軽量でポータブルなコンテナに収めることによって、展開を…新しいマシン上の展開でも…自動化できる。つまりMesosのレベルで言えば、クラスタ上のアプリケーションの展開が大幅に簡易化される。彼らのブログ記事によると、“アプリケーションをDockerに入れてMesosに渡すことにより、オンプレミスやクラウド上の多様なアプリケーションを展開し動かすための、真にエラスティックで効率的で首尾一貫性のあるプラットホームが約束される”。Leibertによると、アプリケーションがDockerを着ているとクラスタ全域にわたるサービスの発見が容易になる。つまり、クラスタをセットアップしたらそれで終わり、ではなく、いろんなサーバがお互いを見つけられる必要があるのだ。

Mesosなどクラスタシステム上のサービス~アプリケーションをDockerのようなもので抽象化することは、Leibertによると、過去にもいろんな人が試みたが、その実現はとても困難だった。しかしMesosphereの6人のチームは、Mesosを誰よりも熟知しているので、アプリケーションコンテナの組み込みに成功できた。

以上のようなビルディングブロックが揃ったところで、チームが次に挑戦するのは、Mesosを新人ユーザでも使いこなせるための、ユーザフレンドリーなユーザインタフェイスの構築だ。その仕様は、Mesosのコミュニティからの要望に基づき、またその具体的な部位もユーザからの求めに応じて加えていく予定だ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))