Agile Cat — in the cloud

AWS と Rackspace の間で、クラウド・バーストを実験する!

Posted in .Selected, Amazon, Hybrid, Interoperability, Private Cloud, Rackspace by Agile Cat on June 20, 2012

Cloud Bursting between AWS and Rackspace
http://wp.me/pwo1E-4kG

Image43Nati ShalomFriday, June 15, 2012
http://highscalability.com/blog/2012/6/15/cloud-bursting-between-aws-and-rackspace.html

_ highscalability

Cloud bursting is an application deployment model in which an application runs in a private cloud or data center and bursts into a public cloud when the demand for computing capacity spikes. The advantage of such a hybrid cloud deployment is that an organization only pays for extra compute resources when they are needed. (Source: SearchCloudComputing)

クラウド・バーストとは、プライベート・クラウドやデータセンターで実行されるアプリケーションを、コンピューティングの容量に対する要求が急上昇するときに、パブリック・クラウドへと一斉に移行するための、アプリケーション・ディプロイメント・モデルのことである。この種のハイブリッド・クラウド・ディプロイメントの利点は、追加のリソースが必要とされる時だけに、その対価を支払えば良いという点に集約される。 (Source:SearchCloudComputing

Neal Sample the former CTO – X.commerce at eBay gave an interesting talk last year on the economic benefit of Cloud Bursting. Neal pointed out eBay traffic statistics and showed some real numbers of the business impact of bursting peak load activities using on-demand cloud resources as presented in the diagram from his talk.

昨年のことだが、eBay- X.commerce で CTO を務めていた Neal Sample が、Cloud Bursting における経済的なメリットについて、面白い話をしていた。Neal は eBay のトラフィック統計について指摘し、クラウド・バーストがビジネスに与える影響を、具体的な数値で示した。それは、オンデマンドでクラウド・リソースを使用する際の、ピーク時におけるアクティビティのことであり、彼の話で用いられた図は以下のものとなる。

In order to use cloud bursting effectively we need to address the following set of challenges:

  • Workload migration – specifically the ability to clone our application environment in a consistent way across sites in an on demand fashion.
  • Data Synchronization – The ability to maintain real time copy of the data between the two sites.
  • Network connectivity – The ability to enable flow of netwrok traffic between between two sites.

クラウド・バーストを効果的に用いるには、以下の課題に取り組む必要がある:

  • Workload migration – とりわけ重視される能力は、オンデマンドでサイト間をまたぐアプリケーション環境のクローンを、一貫した方式で作成するためのものとなる。
  • Data Synchronization – 2つのサイト間で、リアルタイムでデータをコピーする能力。
  • Network connectivity – 2つのサイト間で、ネットワーク・トラフィックのフローを実現する能力。

A Step By Step example:
Migrating Workload and Data from AWS to Rackspace

To make things simpler we piked Amazon and Rackspace as the two target sites. We have tried the same example with a combination of HP Cloud Services and a flavor of a Private cloud.

話をシンプルにするために、私たちは Amazon と Rackspace をターゲット・サイトとして取り上げた。 さらに、HP Cloud Services とプライベート・クラウドの組み合わせも試してみた。

The example demonstrates a simple web application with global load-balancer (Rackspace), and Web Application (Petclinic) based on Tomcat as the Web front end and MySQL as the database.

このサンプルが例証するのは、グローバル・ロードバランサ(Rackspace)を用いるシンプルなWeb アプリケーションと、Tomcat ベースの Web Application(Petclinic)であり、Web フロント・エンドとして機能する。 さらに、データベースとして機能する MySQL もある。

On both ends we used GigaSpaces XAP Transactional WAN replication as a replication channel between the two instances of MySQL and Cloudify to handle the workload migration between the sites.

そして、双方のバックエンドに、GigaSpaces XAP Transactional WAN リプリケーションを配置している。 それにより、2つのインスタンスである MySQL と Cloudifyの間にリプリケーション・チャネルが確立され、サイト間のワークロード・マイグレーションが処理される。

The Goal: Cloud Bursting and Fail-Over with no change to the target application

The goal that we set to ourself is that all that would be done seamlessly without any change to the target application or database. We achieved that by plugging the replication service to the existing instances of MySQL. The replicating service listen to the MySQL events and replicate every change to its peer MySQL instance – Cloudify enabled us to clone the same application in in both Amazon and Racksapce while maintaining consistent configuration setup as well as consistent scaling and fail-over SLA’s. Cloudify does that by abstracting all this inforamtion through portable recipe definition. Cloudify wraps the application instances with its management and control services based on the defintion that is provided in the recipie. This enabled us to clone the environment as well as add elastic scaling without changing the target application (Petclinic in this specific case).

The Goal: Cloud Bursting と Fail-Over は、ターゲット・アプリケーションに対して、何の変化も及ぼさない。

私たちのために設定したゴールは、ターゲットであるアプリケーションとデータベースに対して、如何なる変更を及ぼすこと無く、シームレスに処理する点に、その全てが集約される。 そして、既存の MySQL インスタンスに対して、リプリケーション・サービスを接続することで、このゴールに到達した。 このリプリケーション・サービスは MySQL イベントをリッスンし、その全ての更新を、相手方の MySQL インスタンスに複写していく。そして Cloudify により、Amazon と Racksapce の双方で、同じアプリケーションのクローンが作成されるが、その同一性は、一貫したコンフィグレーションの維持だけではなく、スケーリングとフェイルオーバーの SLA にまで及ぶ。 Cloudify は、ポータブルなレシピ定義を介して、すべての情報を抽象化することで、この処理を達成する。 具体的には、このレシピにより提供される定義をベースにして、アプリケーション・インスタンスとManagement/Control サービスをラップしてくれる。 それにより、対象となる環境をクローン化するだけではなく、ターゲット・アプリケーションを変更することなく、エラスティックなスケーリングも達成する(このケースでは Petclinic)。

You can read the full details including code references on Github on Dotan Horvitz blog post Bursting into the Clouds – Experimenting with Cloud Bursting

すべのて詳細に関しては、Github 上でコード・リファレンスを含めて参照できる。 また、Dotan Horvitz のブログ・ポストである、Bursting into the Clouds – Experimenting with Cloud Bursting も参照して欲しい。

ーーーーー

TAG indexこの手の記事は、初めて見ました。クラウドの運用は、こんな感じで、どんどんとハイブリッド化していくのでしょうね。 以前に、「身勝手 Zynga の、AWS 使い倒し術とは?」という抄訳をポストしましたが、必要に応じてワークロードを、安全かつ簡単に移動させていくことが、これからの運用に求められるようです。 ーーー __AC Stamp 2

ーーーーー

<関連>

Facebook が発表した Folly は、宝石のような オープンソース C++ ライブラリ
Facebook にストアされた 100 Peta Byte は、写真に換算すると 6,660 億枚になる!
Twitter が提供する、MySQL 関連のオープンソースとは
Facebook Timeline は、データの非正規化という破壊力で誘う
とっても ラブラブな Linux と Big Data

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: