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))