BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Force12.ioがApache Mesos用の'マイクロスケーリング'フレームワークを開発

Force12.ioがApache Mesos用の'マイクロスケーリング'フレームワークを開発

原文(投稿日:2015/09/27)へのリンク

Force12.ioは,Apache Mesosクラスタマネージャ上で動作する‘microscaling’コンテナのデモンストレータのプロトタイプをリリースした。多様なワークロードシミュレーションの要求に対して,従来のオートスケーリングのアプローチよりも高速に,‘プライオリティ1’と‘プライオリティ2’のコンテナを起動,停止できるという。

さまざまな要件とワークロードを抱えた多くの企業にとって,コンピュータリソースの効率的なオートスケーリングは大きな課題である。例えばNetflixでも,かつてそのような議論があり,従来型のオートスケーリングアプローチ活用に加える形で‘Scryer’という新たなツールを開発するに至っている。Scryerでは,現在および将来的なニーズ予測にマシンラーニングの技術を応用して,基盤のコンピュータプラットフォームで利用可能なリソースを予め調整することが可能だ。さらに同社では,Mesosをベースとして,よりリアクティブなスケーリングの可能な‘Titan’という新プラットフォームの開発や,Mesosのカスタムフレームワークに組み込み可能なスケジューラである’Fenzo’の開発も公表している。

以前からこの分野に積極的に取り組んでいるForce12.ioは先頃,Mesosベースの‘オートスケーリング’スケジューラによるデモンストレーションを公開した。従来のオートスケーリングのアプローチよりも詳細でタイムリなスケーリングを表現する造語として,‘マイクロスケーリング’を実現した,と同社では主張している。Force12.ioのMesosスケジューラはMesosphereのMarathonフレームワークを採用して,Apache Mesos上で動作する。シミュレーション上の要求(ランダム)に基づいて,‘プライオリティ1’(高優先度)および‘プライオリティ2’(低優先度)のコンテナを起動および停止することが可能だ。この実装アプローチは,John Wilkes氏がQCon London 2015で紹介したGoogleの社内ツール‘Borg’クラスタマネージャに近いように思われる。

InfoQでは先日,Force12.ioのチーフアーキテクトであるRoss Fairbanks氏に会い,同社のMesosスケジューラの機能や‘マイクロスケーリング’の今後について議論を交わした。

InfoQ: 本日はInfoQのために時間を頂いてありがとうございます。簡単な自己紹介と,Force12.ioのブログ記事にあった実験を行った動機について説明して頂けますか?

Fairbanks: Ross Fairbanksです。Force12.ioのチーフアーキテクトとして,リアルタイムのコンテナスケーリングを開発しています。これまでリテールeコマースなど,スパイクの激しいトラフィックパターンを持ったサイトの開発に携わってきました。その中でオートスケーリングに関心を持ったのですが,一般的な仮想マシン(VM)はキャパシティ追加に数分というリードタイムが必要なため,このような状況に対応するのは困難です。もっと短時間でスケールアップし,徐々にスケールダウンするような回避策が必要なのです。

そうしたこともあって,起動時とシャットダウン時の速さは,私たちがコンテナに対して最も関心を持っている特性になっています。コンテナを使えば秒単位,あるいはそれ以下でキャパシティの追加や削除が可能だからです。私たちはこれまで,AWSのEC2コンテナサービスとApace Mesos上にデモを開発して,このコンセプトを実証してきました。今はそのソリューションをオープンソース化して,みなさんのインフラストラクチャ上で実行できるように取り組んでいるところです。

InfoQ: ‘オートスケーリング’ではなく,‘マイクロスケーリング’という表現を使われていますが,その理由は何ですか?

Fairbanks: キャパシティの追加や削除に数分を要するような従来のオートスケーリングと差別化したかったのです。マイクロスケーリングでは,既存のキャパシティをより効果的に活用して,数秒あるいはそれ以下でコンテナをスケーリングします。

トラフィックのパターンはサービスによって異なりますが,マイクロスケーリングはマイクロサービスに適しています。リテールを例にすれば,マーケティングのEメールを送信すると検索サービスは忙しくなりますが,一方で注文処理システムの処理が多くなるのは,その結果として受注と出荷が行われた時だけです。

私たちはまた,この2つの技術が,特にパブリッククラウドで連携して動作可能だと考えています。オートスケーリングによってVMのキャパシティが拡張されるまでの間,マイクロスケーリングを需要の急増に対処する手段として利用するのです。Netflixは自社のTitanを使用して,すでにAWS上でこれを実現しています。また,Mesos用のFenzoフレームワークをオープンソースとして公開しています。私たちForce12は,もっと多くの企業が,これと同じレベルでサーバを利用できるようにしたいのです。それと同時に,プラットフォームに依存せず,主要なコンテナスケジューラすべてをサポートしたいと思っています。

InfoQ: 他の選択肢と比較して,MesosとMarathonを開発のベースに選んだ理由は何だったのでしょう?

Fairbanks: 私たちは,マイクロスケーリングに特化したForce12を,他のスケジューラとも共存可能なコンテナスケジューラだと考えています。Marathonはフォールトトレランスをサポートした高度なスケジューラです。優れたREST APIがあるので,統合するのも簡単です。スケジューラを実用的なものにするためには,何らかの標準的なスケジューラが必要だと思います。そして私たちが,コミュニティと一緒に開発していきたいと思ったのがこれだったのです。

InfoQ: Force12.ioのブログ記事には,Mesosクラスタに特別な設定や調整を行ったことが書かれていますが,それにはどのような理由があったのですか,またそれは,実験のレベルを越えて利用可能なものなのでしょうか?

Fairbanks: 私たちのMesosクラスタはEC2のCoreOSで動作します。MesosとMarathon,ZooKeeperの起動にFleetを,サービスディスカバリにはConsulを使用しています。セットアップコードもリリース済みで,3つのVagrant VMとしてローカルで動作します。Packet.netとも共同開発をしています。Mesosのデモを彼らの物理サーバに移行して,ハイパフォーマンスハードウェア上でのマイクロスケーリングの限界をテストする予定です。

私たちはチューニングのために,デフォルト設定のシーケンシャルではなく,パラレルにタスクをローンチできるようにMarathonを構成しています。デフォルトのアロケーションインターバルも,1秒から100ミリ秒に短縮しました。その他大きく変更した部分としては,DockerレジストリをCoreOSクラスタ上でローカルに実行している点があります。これは,Dockerレジストリの選択と場所が,MesosとECSデモのどちらでも重要なファクタであることが分かったからです。Mesosデモに関するブログ記事には,この件についての詳しい説明があります。

InfoQ: コンテナソリューションを提供しているベンダはたくさんあります(ECS, GKE, Tritonなど)が,彼らはこの研究結果に興味を持つでしょうか?

Fairbanks: そうだと思います。マイクロサービスはどのコンテナクラスタでも動作しますし,DCOS(Data Centre as Operating System)との相性もよいからです。企業が“DCOS”に移行すれば,サーバの利用率を今よりもっと詳しく調べるようになるでしょう。そうすれば,利用率を向上してコストを削減したいと思うはずです。マイクロスケーリングならばそれが可能なのです。

InfoQ: マイクロスケーリングの将来について,どのように思いますか。大規模な製品展開が行われるまで,どれ程かかるのでしょう(Amazonが既に,概念的に近いプロダクトであるAWS Lambdaをリリースしていることは理解しています)?

Fairbanks: マイクロサービスが普及するには,まずコンテナが多くの企業で運用されなくてはなりません。おそらくこれは,今後12~18ヶ月で実現すると思います。自主性を持ったチームなどでは,マイクロサービスアーキテクチャによるメリットの必要性から,それよりも以前にコンテナを実システムに導入する企業もあるでしょう。このようなアーリアダプタと一緒に開発をして,マイクロサービスを実用レベルにしたいと思っています。

InfoQ: お時間を頂き,ありがとうございました。他にInfoQの読者に伝えたいことがありますか?

Fairbanks: 間もなくオープンソースソリューションの最初のバージョンをリリースします。公開をできるだけ早く知るには,Twitter(アカウント @force12io)をフォローしてください。私たちのアイデアに対するコミュニティからのフィードバックを楽しみにしています。

Force12.ioチームが実施している開発については,Force12.ioのブログに詳細がある。Apache MesosのWebサイトには,独自のMesosフレームワーク開発に興味を持つ開発者向けの情報が提供されている。また,Mesosに関連するさまざまな話題(入門資料から高度なフレームワーク構築まで)について解説したビデオが,YoutubeのMesosCon 2015カンファレンスチャネルで公開中だ。さらにMesosCon EUカンファレンスが10月8,9の両日,ダブリンで開催される。

この記事に星をつける

おすすめ度
スタイル

BT