2012年12月20日木曜日

[#Cloud #クラウド ] 2013に向けて、クラウドアーキテクチャに留意すべきポイント (RightScaleのソリューション)

2013に向けて、クラウドアーキテクチャに留意すべきポイント
by Brian Adler @ RightScale

2012の終わりを迎えるにあたり、今一度クラウドコンピューティングを運用する上で重要な要件を整理していきたい。
次の9つのポイントは、来年2013年に向けてクラウドの運用をより効率よく行うためのアドバイスです。

1)インスタンスサイズと数についてはよくテストを行ってから決める事
  • どのクラウドもCPU、メモリ、ディスクがそれぞれ異なる複数のサーバサイズを提供する。まず、各社どのようなレンジのサーバ規模を持っているのかをしっかり調べましょう。
  • 各サイズに対して、負荷テストを行い、自分のアプリケーションにとって最も的確なサイズのものを選ぶようにしましょう。アプリがCPUを多く必要とするがメモリはあまり使わない、という事であればマルチコアCPUのサーバインスタンスを選ぶようにしましょう。
  • データベースに関しては、一般的にデータベース全体がメモリ上に乗るようにする事が勧められます。データベースサーバに関してはいろいろとハイメモリ型のサーバの種類があるはずです。
  • RightScaleは、PlanForCloudと呼ばれるツールを提供しており、アプリケーションのクラウド上での運用に関してコストを最適化するためのサービスを提供しています。例えば、On-Demand型か、Reserved Instance型等の価格体系の比較もしてくれます。

2)サーバ障害は起こるもの、と想定してシステム設計する
  • 自動スケーリング機能を設定して、トラフィックの急増等のシステム負荷やシステム障害に対して動的に対応出来るようにしましょう。例えば、まずは再手減のサーバアレイの規模(台数)を設定し、どんな状態でも必ず必要最低限の数のサーバが稼働している様、保証しましょう。RightScaleの機能を利用して、サーバアレイの自動的なプロビジョニング/デプロビジョニングをかなり詳細までカスタマイズする事が出来ます。カスタマイズはスクリプトを通してプログラミングする事が出来、サーバの動的な操作に加えて、サーバの動的な監視、アラートの発信、バッチ処理のキュー管理、等の機能がサポートされています。機能の詳細は、RightScaleのクラウド管理自動化機能を参照ください。
  • データベースは、複数のゾーン(AZ)やクラウド事業者間で複製を作り、単一のゾーンやクラウドでの障害の影響を受けないように設計します。システム性能への影響も懸念として出てきますが、クラウド上での運用は、ユーザが冗長性設計をする事が必須事項となってきてます。
  • データベース等、IPが時と共に変更を要する内部コンポーネントについては、動的なDNSを採用しましょう。逆にユーザが直接アクセスするアプリケーションの入り口部分については固定IPを設定しましょう。

3)ゾーン障害に備える
  • アプリケーションの各Tier毎に、2つ以上のゾーンにサーバを分散させましょう。クラウド障害時の被害を最小限に抑えるための配慮です。
  • すべてのデータ(データベースに加え、共有ファイルシステムも含めて)を複数ゾーン間で多重化しましょう。

4)クラウド障害に備える
  • 同じクラウド事業者の異なるソーンのみならず、異なるリージョン間でもデータのバックアップや同期を取りましょう。リージョン全体が障害を起こすケースも起きており、そういう事態に対して、別のリージョンで待機させているデータをデータ回復に活用する事が出来ます。

5)とにかく自動化
  • データベース/データストアの別リージョン/クラウドへの定期的なバックアップを自動化しましょう。特定のリージョンで障害が起きた時でも、アプリケーション回復が非常に楽になります。
  • 常にシステムの状態を監視し、自動的にアラートを発信、問題が小さい内に対策が打てるようにしましょう。RightScaleはこの監視を自動化するためのツールを多く備えています。

6)とにかくキャッシュする事
  • まず殆どのアプリケーションは、キャッシングを活用する事で性能を向上させる事が出来ます。また、Webフロントアプリの部分にしろ、バックエンドのデータベースシステムにしろ、同様です。
  • アプリケーションサーバに内蔵されているキャッシュは使わない事。内蔵型のキャッシュは、データベースの一部をアプリケーション上で管理する形で行われますが、アプリケーションサーバを複数使用する際、またアプリケーションサーバを動的に増減させる場合も、結果的にデータベースサーバに対するこのアプリケーションサーバからのキャッシュ関連のアクセスが急増し、システム性能の大幅な低下に直結します。
  • 独立したマルチノード型のキャッシュシステムを採用しましょう。大量メモリのサーバを一台を用意し、キャッシュ専用マシンに設定する事も可能ですが、このマシンが障害に会った時、すべてのキャッシュが落ちない様にするための配慮が必要ですので、そのための多重化対応です。
  • もう一つ、アプリケーションサーバに内蔵されたキャッシュのソリューションの問題は、アプリケーションサーバにオートスケーリングが適用出来なくなるからです。新規のアプリサーバを立ち上げる度に、キャッシュ全体の設定が変わり、キャッシュ間で大量のデータが移動する結果になります。これはシステム性能を大幅に下げる要因になり、勧められません。独立したキャッシングシステムを容易に構築する技術を持っているベンダーが数社存在します。特にキャッシュの動的なオートスケーリングは、CouchBase等のベンダーがソリューションを提供してます。

7)同期を取る事
  • データは、他のゾーンに同期を確保しておきましょう。特定のゾーンでの障害時、そこにマスター、スレーブのいずれかがあったとしてもシステムのダウンタイムは最小限に抑える事が出来ます。
  • 合わせて、他のクラウド/リージョンにもデータの同期を取っておきましょう。大規模な障害が起きた際に、影響を受ける心配の無い場所にデータのバックアップを確保する安心感は大です。
  • 可能であれば、さらにスレーブとして、Ephermalディスク(EC2等でついてくるメモリ)上に一つ設定する事を勧めます。AWSの障害の内、EBSが原因によるものも多く、EBSへの依存度を少しでも下げるためにもこの対策は必要である、と言えます。

8)意外なところで起きる障害要因を早期発見する
  • もしアプリケーションコードがGitやSVNレポジトリで管理されている場合、このレポジトリの稼働状態がアプリケーション全体の稼働状態に影響を及ぼします。RightScaleを通して自動化やインフラストレクチャのデザインはしっかり設計し、障害への対応もしっかりしていても、アプリケーションサーバが動的にコードを入手する事が出来なければ、そこが重要な障害要因になります。

9)クラウドロックインに注意
  • ベンダー特定の運用ツールやアプライアンスは、一時的にアプリケーションの運用効率を向上する事が可能になりますが、同じベンダーの提供する他のツールとの連携も強いケースが多いために、障害発生時にも想定以上の問題が発生する可能性が高くなります。クラウドベンダーに依存しないツールを利用する事により、特定のクラウドプラットホームに縛られない、クラウド依存度の無いアプリケーション運用が可能になり、結果的に障害対応に強いシステム運用が可能になるはずです。マルチクラウドもメリットは特定のクラウドの障害に対応するソリューションになるだけではなく、コストの最適化にも寄与します(より安いクラウドへの移行が可能になります)。

上記のソリューションをより詳しく記載したWhite Paperは次のリンクからダウンロード出来ます。

2012年10月9日火曜日

[#Cloud #クラウド ] 時代はソーシャルからゲーミフィケーションへ

9/16のGigaOm記事より。

企業向けのソーシャルネットワーキング技術は、昨年のSalesforce.com社のBuddy Media社の買収($689M)、や、Microsoft社のYammer社の買収($1.2B)等を筆頭に、買収対象として大きくクロースアップされてきている。このトレンドがさらに進歩して、Gamification(ゲーミフィケーション:ゲーム理論に基づく業務の最適化)をターゲットとした買収に発展するだろう、というのが同誌の予測。

ゲーミフィケーションは、ポイントやバッジの獲得、リーダーボードと呼ばれる順位表の採用、賞品の提供、等、人間が元来持っている遊び、競争心、ゴール達成感、等に対する欲望を駆り立てる点が大きな特徴である。コンシューマ向けのアプリケーションの世界では何年も前から存在し、飛行機のマイレージプログラムや、ポイント制度等、非常に種類も数も多い。
この理論を、企業内の従業員に対しても適用し、生産性を向上させるようなソリューションにならないか、と言うのが昨今の企業が考えている事である。

 ITのコンシューマ化、という言葉でも昨今のIT業界に於ける変化を見る事が出来、このゴールを達成するためには、エンタプライズが今後買収を通してそのノウハウの獲得に動くだろう、と予測されている。

Gamification Summitという業界団体も存在し、そのChairmanである、Gabe Zichermann氏によると、買収は今後12~24ヶ月間の間に非常に活発になるだろう、と予測している。

同氏は、既に市場として確立されつつある上記のソーシャルネットワーキングアプリにさらに機能を追加する形でゲーミフィケーションアプリが採用されるパターンが増えるだろう、と予測しており、既にSalesforce.com社のRypple社の買収や、IBM社が自社開発している、Innov8の様な動きが顕著になりつつある。

Gartner Groupの予測によると、2014年までには、70%のグローバル企業が少なくとも1つのゲーミフィケーションアプリを採用しているだろう、と予測しており、さらに企業内の業務改善に取り組む部門の半分は、2015年までにはその業務をゲーム化するだろう、と予測している。
その方法としては、自社内で開発を促しているケースもあるが、BunchballBigDoorGigya等のベンダーの技術を採用するケースも急激に成長している。

Bunchball社は、2007年に自社技術を開発し、既に200社の顧客を持つまでに至っている。顧客も、Warner Brothers、Comcast、Hasbro、Mattel等、大手のエンタプライズが目立つ。興味深いのは、従来、ゲーミフィケーションの採用を通してコンシューマを引き込む戦略を作り上げていたのが、今では企業内の従業員の生産性を上げるために利用されている、と言う点である。

これらの企業に共通している点として、ゲーミフィケーションが企業内の従業員にITアプリケーションを積極的に利用してもらうためのモチベーション強化に寄与している、と評価している、と言う点である。

Bunchball社は、昨年、Nitroと呼ばれる製品を発表しSalesforce.comのAppExchangeで提供を開始している。この製品は、Salesforce.comのユーザに対して簡単にゲーミフィケーションツールを統合するソリューションを提供している。同様のアプローチで、Jive社との協業で、Jive社のソーシャルビジネスプラットホームにもゲーミフィケーションソリューションを提供している。



今後大きな分かれ道になりうるのは、エンタプライズ企業がこういったベンダーの技術を採用するのか、それとも自社開発に投資するのか、と言う点である。これについては、まだ方向性が見えていないようである。その決め手になるのは現在先行的にこの技術を採用している事例の成長具合であろう。アナリストの中でゲーミフィケーションは単なる一時のトレンドであろう、と評価している人も多く、実際の成果がどういう形で現れるかが業界が注目しているところである。



さて、このトレンドは日本のIT業界によって吉と出るか、凶と出るか。元来、NTT DoCoMoのiモードの時代から携帯端末でのゲームの文化は日本市場が欧米社会より遥か先を走っていた年代が長い。これはスマートフォン等と言う言葉が登場するはるか前から登場し、広く市場に浸透していった文化であり、そこで培われたノウハウは相当の価値がある、と容易に想像できる。ここで蓄積されたノウハウを、この記事で言うエンタプライズの世界にうまく展開できる方法論については、北米の市場の動向をよく見ながら、うまく日本なりのゲーミフィケーションのビジネスを作り上げる事が大事なのでは、と思う。

これはゲームの世界と、エンタプライズの世界という、かなり距離のある業界を両方知る事により始めて見いだせるビジネスなのでは、と考える。意外とこの2つの業界は距離が離れており、日本国内に於いては出来るだけこの2つの業界の間にブリッジを築くための動きが出る事を期待したい。

2012年10月4日木曜日

[#Cloud #クラウド ] Amazon Web ServicesとSalesforce.comがクラウド事業から離れる!?

enStratus社のJames Urquhart氏はいつも興味深い記事を投稿しているが、久しぶりにビジネス色の濃い記事をGigaOmに投稿してます。

題目は、「何故、AmazonとSalesforceがクラウド業界から撤退しているのか?」という一見ショッキングな内容。

彼は、2011年にに似たような予測をしていて、その時はMicrosoftとGoogleが次のクラウド業界を独占するだろう、とうものであった。この予測は見事はずれ、今はAWSとSalesforce.comが市場の2台巨頭である事を認めている。

この辺のスタディの経緯、また、何故今はAWS、Salesforce.comなのか、まずはその辺からの説明を行っている。

クラウドコンピューティングは今や、万能選手ではない、という事は市場が十分に理解している。ここ数年の間、様々なクラウドサービスが登場しているが、本当に成功しているのは、ほんの一握りしか無い、と言うのが彼の解釈。

SaaSに関しては、まずこのカテゴリー自体が事業として成立している事自体が驚きであるが、つまるところ、特殊なコンシューマアプリケーション、もしくは汎用的なビジネスアプリケーションでの成功事例が全体を占めている、と言える。

IaaSに関しては、2つのアプリケーションモデルしか成功させていない、と言える。一つは、大規模なウェブアプリケーションと、データ分析/処理アプリである。一方、企業のレガシーアプリケーションのクラウドへの移行はまだ大きな動きになっていないし、今後もあまり期待されていないのが現状。結局、IaaSの価値は、アプリケーションのもつ2つの要件、i) 大量の演算処理の高速実行(データ処理)、ii) 負荷の変動が激しいアプリ(Webアプリ)に限定されている、という事が言える。

PaaSに関しては、期待が大きい一方、IaaS/SaaS程の利用実態が無く、今後期待されるのは、IaaSで成功しているアプリのための開発/運用環境、もしくは特定のSaaSアプリの機能拡張のための環境という2つに限定されるのでは、と考えられる。


何故、Amazon Web Servicesがこれだけの巨大な独占事業に成長したのか、その理由は決してAWSが他社が追随出来ない機能やサービスを持っていた、と言う訳ではない。最大の問題は、競合他社がAWSに真に対抗すべく戦略的な動きを取らなかった事にある、と言いたい。IaaS事業者の殆どはEC2やS3と同等のサービスに加え、場合のよってはRDS(DB)やSimpleDB(Key value store)と同等の機能をサービスとして提供しているが、この程度ではAWSが本質的に持っている力と戦略を理解している、とは思えない。 AWSの本当の戦略性は、Reserved InstanceとかSpot Marketのようなクラウドインスタンスを再販する事業モデルや、統合された管理コンソールの提供、また、クラウドユーザの求めている本当のクラウドサービスの品揃えをしっかり把握し、実行に移している、と言う点である。

たしかにMicrosoftは競合力はあるが、今は開発者に特化した開発コンポーネントを提供しているサービスに過ぎないのが現状である。AWSのサービス開始当初もそうであったが、クラウドの本当の価値は、企業の開発部門では無く、オペレーション部門にもたらされる、という事をAWSが知った時点から大きく成長を遂げた、という事が言える。これは、James Hamilton氏が長く主張していたポイントである。Reserved InstanceやSpot Marketは正にその戦略の現れである。

この流れの中で、最近新たに、Glacierと呼ばれるデータアーカイブ専用の低コストクラウド、EC2 Reserved Instance Marketplaceという、Reserved Instanceを再販できるマーケットプレイスが発表されている。11月に予定されている同社のカンファレンス: re:Inventにおいても、このビジネスの新たな方向性がさらに明確になる事が予測されている。

一方、GoogleもAWSと競合するポテンシャルを持っているが、上記にオペレーション部門に対するサービスを確率する動きはまだ何も見えていない。アプリケーション開発の管理インタフェース、様々なGoogleサービスを統合的に管理するコンソール等、まだまだ道のりは長い、と言える。

このような状況を見るにあたり、AWSの確固たる地位が単に機能セットとかサービスの種類、という事ではなく、ターゲット層の見極め、それに適合したメニューの確率、と言う点で大きく他と差を付けている、と言うのが論点である。


もう一つ、クラウド市場で成功する大きな要件になるのは、様々なビジネスサービスを単一のインタフェースを通して提供する事が出来る、という事である、と信じる。しばらく前まではMicrosoftやGoogleの様に業務アプリケーションを多く持つ会社がこのセグメントリードする、と思っていたが、今はSalesforce.comが大きく市場を牽引している、と言える。

Sadagopan Singham氏が書いたブログが先日開催されたDreamforceイベントについて述べているが、このイベントに参画して実感したのは、Salesforce.comは「Enterprise Nerve Center」(企業の中枢神経)を目指しており、企業内の様々なビジネス要件に対して統合的にサービスを提供できる中心的な存在である、と解説している。

Salesforce.comの最大の強みは、企業内の従業員、そのパートナー、そして顧客との間のコミュニケーションの統合、それもビジネス面に加え、ソーシャル面でも同じ様にまとめあげる事が出来る、と言う点である。新規の業務が発生すると、それをうまく企業内の各部門に効果的に展開し、納期、売上を最大限に最適化するが結果的に見えるメリットである。自動化の促進、人間同士のコミュニケーションの効率化、そしてそれをすべて定量的に評価/分析できる、と言う点も優れている。

これは非常に先進的なアプローチである。従来の企業の事業に於けるITソリューションと言うのは、ドキュメント/帳票を電子化し、それを企業内でうまく回す事に注力されていた。結局それを動かすのは人間である事には変わらないし、コミュニケーションも従来の電話、emailの世界から脱していないのである。

Microsoftはこの先進的な市場をさらに先に持っていく力を持っている。Oracleもポテンシャルがある、と言える。かなり距離を置いてGoogleがうごめいている、と言う感じ。しかし、Salesforce.comはこの中で特に秀でて企業内のビジネスモデルを電子化する事に成功している、という事が出来る。


Disruptionというのは正に、AWSやSalesforce.comが実現しつつあるビジネスの事をさす、と言える。
両社については、今のこの状況が今後の市場のリーダーシップを保証する訳では決してないが、既存の機能セット重視、開発者をターゲットとしたクラウド事業から、企業業務全体、さらにオペレーション部門をターゲットとしたクラウド事業に変遷を遂げたこの2つの会社は、新たな市場の開拓、そして確固たる市場シェアの確率に大きく寄与する可能性がある、と言える。

一つ、今後起きうる可能性のある動きとしては、後続部隊の中で、Microsoftが大きく事業を延ばす事である。
従来の事業モデルだった製品ビジネスからサービス主体のビジネスへの移行、時間はかかりつつも、確実にその方向に向かっている事実がある事、さらに既存の大きな資産をこの新しい事業に移行するのは時間の問題である、と言える。

懸念されるのは、他のクラウド事業者がAWS、Salesforce.comのポジションからまだ遠く離れている、と言う点である。クラウドにとって、まだ開拓されていないニッチの市場もあるだろうが、そういった未開拓の市場へ参入もまだ見られない(様はAWS/SF.comが既に凌駕している市場に入り込んでいるだけ)。


以前から、クラウド事業は技術ではなく、ビジネスである、という事は内外から言われていたが、さらにビジネスから流通モデルへの変遷が起き始めている、と言うのがこの記事の言わんとしている事なのでは、と想像する。

この領域は、IT企業の持つノウハウだけでは通用しないところに至っている、と言う事が出来、そうだとすると、元々流通業であったAmazonの最も得意としている世界にクラウドを引き込んでいて、それを我々羊達が大人しくついていく、というモデルが出来上がっていると思うと少しがっかりもする今日この頃である。


2012年9月29日土曜日

[#Cloud #クラウド ] OpenStackの隠れた一面 = エコシステム•ロックイン

Open Stack Summitを数週間後に控えた状況の中、Open Stackのオープンソースに関する懸念がいくつかのレポートを通して表面化し始めている。

Gartner Research: Lydia Leong氏
ベンダーロックインの懸念を解消するためのオープンソフトウェアとしてのOpen Stackでありながらも、新たに、"エコシステム•ロックイン"と呼ばれる問題がOpen Stackの問題として登場している、と言う点を指摘している。合わせて、この問題を避けるために、3rd partyによるクラウド管理ツールやAPIライブラリの採用が必要である、と提言している。

同氏が書いたレポート、
によると、元々、「オープンであり、広く採用する事が自由にできる標準」、という事で定義されているオープンソフトウェアとしてのOpen Stackは、実はかなり現実と離れている、と指摘している。

「Open Stackは複数のIT企業によって制定され、他に見られるような個人的な寄与によるオープンソフトウェアとは性格を異にしている。Open Stackの団体を構成している企業で、例えばRackspace社は、Amazon Web Service (AWS)を明確な競合相手である、と見ており、一社だけではAWSの独占的な市場成長を止める事が出来ない、と判断しているが故にOpen Stackという団体の運営を行っている、と言える。」
"OpenStack is dominated by commercial interests, as it is a business strategy for the vendors involved, not the effort of a community of altruistic individual contributors. Some of the participants, notably Rackspace and other service providers are afraid of the growing dominance of AWS in the cloud IaaS market and do not believe that they have the ability to muster, on their own, the engineering resources necessary to successfully compete with [Amazon Web Services] at scale, nor do they want to pay an ongoing license fee for a commercial [cloud management platform]  like VMware's vCloud stack."

こう述べた上で、この要件がある故、今後のクラウドデータセンタをデザインする上で、Open Stackをコアにしたアーキテクチャを目指してはいけない、と述べている。

一方、先行的に新技術を導入したり、まだ若いソースコードの品質を向上するためにエンジニアリソースを投入したい、という会社にとっては非常に適している技術である、と言及している。

このレポートはこのリンクにて無償で読む事が出来る。

もう一つ、Open Stackに対する懸念材料として、組織が業界の大手ベンダーによって構成されている、と言う点である。参加企業は、Rackspace, NASAからスタートして、IBM, HP, Cisco, Dell, SUSEそして最近ではVMWareが名を連ねている。
各社の共通の目的としてOpen StackをAWSに対抗できる技術として育てていこう、という意識がある点では良いが、それと同時に参加企業各社は明らかにIT業界の中で競合し合う企業である、という事実も認識する必要がある。

Open Stackの狙いとして、クラウドアーキテクチャの中Linuxの様な存在にしたい、という意見が多く登場しているが、果たして本当にこの競合状況の中でLinuxの様な統一規格が実現できるのか、それともUnixの様に各社各様、それぞれ異なる仕様をもったAPIになってしまうのか、という懸念が大きく残る。

最近のOpen Stack Foundationの動きは、Rackspaceが従来持っていたスターティングメンバーである権力状態から脱出し、影響力を少なくする方向に動いている事が顕著である。
新組織は、リーダーをSUSEのAlan Clark氏、Cisco VP/CTOであるLew Tucker氏を登用し、Rackspaceの幹部が退いている事が明らかになっている。また、"Network Connectivity as a Service"といった新機能を盛り込んでいる、Folsomというリリースも、Rackspaceの影響がかなり少なくなっている、という事が話題になっている。



個人的な所感としては、90年代前半に起きた、Unix標準化に向けてIT業界が大きく動いていた時代を思い出させる状況である。
当時は、Sun MicrosystemsがSolarisで絶対的な市場を確保する中、X/Openという業界団体が登場し、広く採用できるオープンなUnixのカーネルAPIを制定する動きに続いて、Open Software Foundation (OSF)と呼ばれるHP, DECを中心としたさらに大きな業界団体が産まれた時代である。結果として、OSFの存在価値が一定の評価を受ける中、実際には参画企業各社がそれぞれ独自の仕様を盛り込んだOSF準拠のUnix OSを開発する結果となり、メンバー間のUnixアプリケーションの互換性は十分に確保できなかったのが現実。細部まで仕様を標準化できない要因として、各社が製造するハードウェアに依存するAPIであるが故に、そもそも共通化できるカーネルのAPIの範疇が狭すぎたのでは、という意見も多く登場した時代である。
クラウドAPIも、下部レイヤーに存在するVMハイパーバイザ、ネットワーク仕様、CPU/ストレージ等のインタフェース等が少なからずも意識した仕様になるはずであり、各社Open Stack仕様を100%共通化しようと思っても無理な相談なのでは、と思うところである。

Apple iOSの様な下から上まで全部一社で統一した仕様がよいか、と言ったらそれはそれで問題がある事はわかるが。





Ippei Suzuki



2012年8月7日火曜日

クラウド2.0、を考える

昨日は昔の会社時代の大先輩とロスのダウンタウンで食事をしました。クラウドコンピューティング関係のビジネスに取組むきっかけを4年前に頂いた方で、考えても見れば、その時から大変お世話になっています。
色々と情報交換をさせて頂く事を通して考えさせられる事がいくつかありました。

まず、クラウドの定義自体が日米で少しズレが起きている、という事。特にエンタプライズ系の市場ではクラウド=アマゾン=よそ者、という解釈が意外と広がっている、という点。クラウドと距離を置こう、という人口がまだ多い事が要因なのでしょうか。

もう一つは、オープンソフトウェアとクラウドとの関係がまだまだ理解されていない、という事。クラウド基盤を作るところまでは或る程度ベンダーはもう固まっているけど、その上のミドルウェアの市場(ID管理、セキュリティ、DR、DB、課金、等)はまだ混沌とした乱立市場。ここの整理をするのにオープンソフ
トウェアの市場が大きく台頭して来ているという現実を見るにあたり、オープンソフトに対する新しい取り組みが重要になって来てます。まだそれが見えている方が非常に少ない。

そして最後に、クラウド業界が大きく2分化している、という事。いわゆるエンタメ系のWeb2.0市場と、後を追って参入しているエンタプライズ系の市場では、客層、利用方法、主要ベンダー、全てに置いて2極化している、という事を体で知る、という事です

先輩の言葉を借りると、クラウド2.0の時代、という事です。スピードの早いこの時代、これを理解する事によって、無駄な時間を浪費しない、効率のいい事業戦略が切望されており、それをサポートすべき自分の役割を改めて確信する、大変有意義な夜でした。

2012年6月23日土曜日

Amazon Web ServiceのCTO, Werner Vogel氏が見る、5年後のクラウド業界

GigaOmが主催するイベントにおいて、AWSが予測するクラウドコンピューティングの業界について、4つの予測を説明している。
折しも、5年前のこのイベントに同氏が初めて登壇し、EC2とS3について説明した経緯があり、その時点から現在に至るまで相当の進歩を遂げている中、今後それがどの様に発展するのか、興味深く読める記事である。

Vogel氏自身も5年前は今日のクラウドがこれだけビジネスに大きな影響を与える事になる、とは予測していなかったようだ。

Werner Vogels, CTO and VP, Amazon Structure 2012
ビデオの配信はここ:http://livestre.am/3YHSy

2017年には次の様な事が起きるだろう、と説明している。

1)AWSの価格はさらに下がる
今まで、AWSは価格を20回下げている実績がある。確かな事は、今後もこの傾向は続く、という事であり、市場に受け入れられるサービスの重要な要件として捕えている。

2)若いビジネスは今後もクラウドで成長する
Socialcam社、Pinterest社、Instagram社等はクラウドをベースにIT基盤を作り、急成長を遂げた会社の代表である。このような会社はどんどん増えていく、と予測する。これらの会社は、従来のハードベースのIT環境をもってあれだけの急成長を実現することが出来ただろうか? まずあり得ない、と言えるだろう。そしてその傾向はますます強くなるものと考える。

3)企業のCIOは若いスタッフにチャンスを与える
ITソリューションの事になると、大企業のCIOはこういったクラウドをフルに活用した若い企業の手法に対して耳を傾ける様になるものと考える。5年前(現在)、CIOは大企業のセオリーにのみ頼っていたが、次第に大きな変化が起きるだろう、と見ている。

4)古いハードウェアベンダーは存続の機器に直面する
HPに代表される従来のハードウェア製造メーカは存続する為に大きな変革を遂げる必要がある。大きな鍵は「クラウドのマインドセット」を持つ事である。クラウドのマインドセット、とは、単に客に対してベンダーの姿勢を持つのではなく、パートナーとしての姿勢を持つ事から始まる、としている。そしてその最も大きな目的な客のITコストを下げる事にある。

AWSの姿勢は、顧客に対して110%の注目をする事、と主張している。競合のはげしいクラウド業界の中、他のベンダーと機能サポートの篠木愛をするのでは無く、顧客の求めている物をより早く提供する事が重要なビジネス要件である、と主張している。


2012年5月17日木曜日

[#Cloud #クラウド ] クラウド上でのHigh Availabilityを実現するための4つのステップ。いずれもクラウド運用のベストプラクティスとしては重要な要件だと思います。

クラウド上で可用性の高いアプリケーション環境を構築するのは一見、難しい作業の様に思えますが、重要なポイントは、クラウド上のコンポーネント全てに障害が起きうる、という事を認識しそれに対応した障害対策や自動化の対策を講じる、という意外と地味な作業を行う事です。

6月11~14日に予定している、RightScale User Conferenceにおいては、このHA (High Availability)とDR (Disaster Recovery)が重要なテーマとして様々なセッションが予定されています。多くの企業がこの課題に対して取組んでいる、という実情を反映している事からこのテーマを採用しているわけですが、RightScaleが取組んでいる "HA in the Cloud" に向けた4つのステップについて、下記の通り簡単に説明したいと思います。


1. Build for server failure 
サーバの障害は必ず起きるという前提でシステム構築をする
クラウド上のインスタンスは、データセンタにあるサーバと同様のレベルのサポートが必要です。特にサーバの障害に対する対応策の設計は大事です。サーバ障害への対処の第1ステップは任意のサーバ/サービスのリブートに影響を受けない様な環境で動かす事です。下記の点への着目が必要です。
  • 自動スケーリングを設定し、様々なトラフィックの増減のパターンに対して対応出来る様な設計にする。
  • データベースのミラー、マスター/スレーブ環境等を設定し、データの保全性を確保しダウンタイムを最小限に留める。
  • ダイナミックDNSや、固定IPを利用し、アプリケーションが利用するインフラのコンポーネントが常に同期している事を保証する。

2. Build for zone failure
クラウドゾーンも必ず障害が起きる、という前提でシステムを構築する
サーバ単位で障害が発生するばかりではない。停電、ネットワーク障害、落雷による電力系統の障害、等さまざまである。こういった複数のサーバ群を対象とした障害に対する対処もアプリケーションとしては必要になってくる。AWSのAvailability Zoneの様に、こういた地域単位の障害に対する保全性、耐久性を確保したサーバ群の単位をゾーン(Zone)と呼び、複数のゾーンにまたがった次の様なアプリケーションの実装が必要になってきます。
  • 少なくとも2つのゾーンに対してアプリケーションが稼働するサーバ群を配置する。
  • ゾーン間でのデータの同期を行う。通常の範囲でのデータ同期は定額で行う方法がある。

3. Build for cloud failure
クラウド自体もも必ず障害が起きる、という前提でシステムを構築する
稀なケースで、一つの地域(リージョン)に配置される複数のゾーンが同時に障害を起こすケースもあります。2011年、4月に起きた、AWSのサービス障害がその一例です。ここでいう「リージョン」とは、個別のAPIをもつ独立したシステムリソースの事を指し、RightScaleが定義するクラウドの単位でもあります。
可用性(Availability)を限りなく100%に近くする為には、このリージョン(クラウド)単位での障害にも対応出来るためのプロセスを考慮する必要があります。しかし、クラウド間でシステムを構築する際にはいくつかの難しい課題に直面します。API、システム構成等、インタフェースの違い等がまず問題になり、これに対しては、アプリケーションとしては特定のクラウドAPIにとらわれない、汎用的なインターフェースを採用するコンセプトに基づいて構築される必要があります。
RightScaleの提供するクラウド管理システムはこういったクラウド間の違いを吸収し、開発者、システム運用管理者に対して、障害対応力に極めて強い、標準コンポーネントによって構成されるアプリケーション設計戦略を構築するのに大きな効果を発揮します。特定のベンダーが提供する複数のリージョン間にに搭載されるアプリケーションの実装ではなく、ベンダーにも限定されない複数のインフラ提供者にまたがった、次の様なアプリケーションの運用が非常に容易になります。
  • データのバックアップを複数のリージョンやIaaSプロバイダ間で行う。プロバイダ間のデータの転送はインターネット上で行われるので、特にデータセキュリティの保全が重要になります。
  • 障害時の補完用のインスタンスを別リージョン/クラウドに配置することにより、ゾーンやクラウド上の障害に対するキャパシティ設計を行う。
  • いっぺんに大規模なクラウド間システムを構築するのでは無く、段階をもってシステムの障害対応戦略を拡張していく(複数ゾーン対応から複数クラウド対応へ)

4. Automate and test everything
全ての管理工数を自動化し、テストを行ってから実装する
システムの構成を順次サーバ障害、ゾーン障害、クラウド障害へ対応出来る様構築していくにつれ、障害に対する対策手順を自動化していく事が次のステップになります。クラウド管理ステムは、上記の様な複数サーバ、ゾーン、クラウドの単位それぞれに対して、障害対策手順を設計し、運用/管理出来る様な機能を提供します。障害時は大抵時間との戦いになるケースが多く、手順を自動化する事は非常に重要、且つ有効なソリューションになる事は自明で、次の様な対策が勧められる。
  • 全てのステージに於けるデータのバックアップを自動化し、障害発生時にはデータの保全性を確保する様に設計します。
  • 常に、システムを監視し、有事の際にアラートが発生する様にシステムをセットアップし、問題が発生した時にどこでどのような問題が起きたのかを迅速に検知出来る様な仕組みを構築する。クラウドプロバイダーからの連絡を待つ方法では、情報伝達が遅い上、精度に欠けるケースが多いのが現状です。(4月のAWS障害時はその問題がよく話題に上がっている)
  • 障害対策プランは、実際にテストをする事によって初めて有効である、と判断出来る。クラウド上でのテストは従来のOn Premise上でのシステムと比較して非常に安くテストを行う事が可能になっている。特に過負荷テスト、障害のシミュレーション等は、RightScaleのコンソールを通して構造的な方法をもって行うことが出来ます。
クラウドのインフラは、DR(Disaster Recovery)やHA(High Availability)のシステム設計を非常に安く、そして確実に導入する事を可能にしている、という点は改めて評価する必要があります。最近、頻繁に発生しているクラウドサービスの障害のニュースが飛び交う中、クラウド上でMission Criticalな業務アプリケーションを何の問題も無く運用を継続し続ける会社も多いのも事実です。こういった会社はあまりニュースに登場していないだけだ、という現状を認識すべきであるが、多くの事が学べると考えます。
RightScaleの提唱するクラウドベストプラクティスと参照アーキテクチャについての上はこのリンクWhite Paper on HA and DR Scenariosを是非ご参考にして下さい。

Brian Adler @ RightScale, Inc.






2012年4月13日金曜日

[#Cloud #クラウド ] 1社のクラウドサービスで閉じたクラウド戦略であってはいけない理由

1社のクラウドサービスで閉じたクラウド戦略であってはいけない
 
昔からの言い伝えで、「全てを卵を一つのバスケットに入れてはいけない」という諺があります。イースターの祝日に良く行われる、イースタエッグの祝い事が毎年4月上旬に北米ではよく行われるが、きれいに色付けした卵を広場の所々に隠して、子供達が競ってそれをバスケットに入れて集める遊びである。この諺は、一つのバスケットに卵を全部入れてしまうと、万が一転んだ時に全部がいっぺんに割れてしまうので気をつけなさい、という意味である。

企業に於けるクラウド戦略を策定する際にも同じ様な論理が働く。
一社のクラウドサービス事業社に企業のIT資産を全て移行してしまうと、大きな失敗に繋がる可能性が高くなる、という事である。

ここで重要な事は、クラウドサービス事業社の立場としては、上記と全く異なる立場でお客さんに自社のサービスをプロモートする、という事を理解する必要がある。

実際、JoyentAmazonRackspaceVMWareHPCloudSigma, 等のクラウドサービス事業社は、自社のSLAの強み、DRソリューション、セキュリティ対策、等自社のサービスが如何に堅強で安心してIT資産を預けられるかを具体的ににプロモートしている。企業間の競争というのはすばらしいもので、業界全体の質的な向上には非常に良い方向である、と言える。
問題は、リスク回避、という観点においては、どのクラウドサービス事業社も所詮、自社のデータセンタ内で閉じたソリューションしか提供していない、という事である。複数データセンタ間での多重化、バックアップ、プライベートクラウド連携によるハイブリッド化、等テーマは色々とあるが、クラウド事業社自体が重要障害を起こしたら全てが壊れてしまう、というリスクは依然残る。

最終的には、ユーザ自身が、クラウドサービス事業社に依存しないリスク回避の為の施策を考えて、実行に移す必要がある、という事を改めて認識する必要がある、というのが今後の最重要課題である、という事を主張したい、


実は、「一つのバスケットに全ての卵を入れる」、という行為自体は、えも言われぬ安心感を産む、という事も事実である。
何せ、問い合わせ窓口は一つだけだし、ベストプラクティス、当面に於いても専門家から統合的なコンサルを受ける事が出来るわけである。

このブログの筆者である、Mark Thiele氏は、Switchと呼ばれる、ラスベガスに拠点を置くjoyent
というデータセンターの運用を経営している会社のEVPである。
同氏は、FluidITというIT運用コンセプトを提唱しており、よりAgileで、より効率の良いITエコシステムを作る必要性を主張している。この中で、マルチクラウドを統合的に運用管理することによるリスク回避、地理的なカバレッジの拡大、アプリケーションの多様性、新規技術の早期導入、等の価値の大きさを特に重要している。

この記事でも同様のアプローチをしている。
幾つか、非常に興味深いポイントを述べる。
1)クラウド、特に複数のクラウドの運用はリスク回避を企業の責任として持つ際には不可避の選択になる。
2)マルチクラウドを効果的に運用、管理するコンポーネントの導入はその為に非常に重要な要件となる。
3)企業に於けるIT運用のガバナンスは、マルチクラウド管理のコンポーネントが持つべきである。各々のクラウドサービス事業社に企業のガバナンスするモデルは今後もどんなにクラウド事業社が成長してもあまり期待してはいけない。

もちろん、マルチクラウドを管理するインフラを導入せず、全て企業が各クラウドの運用管理を直接行う、という選択もある。マルチクラウド管理のコンセプトはまだ新しく、本当に信頼出来る技術ベンダーは誰なのか、選択するのもそう簡単ではない、という考え方もある。全て独自管理する手法を採用すると、それに伴う管理コスト、工数はそれ相当に大きくなる、という事は容易に想像出来る。場合によっては、クラウドを最初から採用しない方が安く済むのではないか、という考え方も出てくる。クラウドに投資出来ないで躊躇している企業や、SIはこの辺で大きく悩んでいるケースは良く聞く。
Thiele氏の例えを借りると、交通渋滞の中でフェラーリを運転している様なものである、と述べている。企業内のIT管理者は能力は高いが、その能力をマニュアルでマルチクラウドを取りまとめる事に注力してしまったら、実にもったいない、と言う事である。

まず、ユーザとして理解しなければいけないのは、マルチクラウド環境を構築する事によるメリットである。一般的には次の様な点が上げられる。
A)  負荷分散
B)  IaaSコストの最適化
C)  レイテンシー(Latency)の最適化
D)  クラウド業界での障害に対するDR
E)  クラウド間の資産の移動をビジネスプラクティスとして汎用化する

マルチクラウド運用は、さらにクラウド採用の最大の懸念要因である、セキュリティとプライバシーを解決する為のソリューションとして考慮する価値がある。各々のクラウドの運用状況を細かくモニターし、障害やそれ以外の要因でデータの保全性に影響する様な問題は早い段階で検知し、しかるべきデータの移動、複製、ロールバック、等の処置を自動化することが出来る機能は既に存在する。

これに限らず、クラウド上のアプリケーション業務の性能の確保、ロードバランス、自動プロビジョニング、等も同様の運用管理機能である。これらをIT管理者が常に複数のクラウド上を監視し、マニュアルの操作をするのではなく、マルチクラウド管理レイヤーがルールベースの自動化作業に置き換える事によって、IT管理業務をクラウドに移行しても、SLAを十分に確保することが出来る、という事が見える様になってくる、と期待する。またそうなると、クラウド、それもマルチクラウド運用も出るの採用に踏み切る為の判断材料を定量的に見積もることが出来る様になる、という事が期待される。

2012年4月11日水曜日

[#Cloud #クラウド ]GartnerのMagic Quadrantの分析によるクラウド業界の動向

この図は、Gartner Groupが昨年11月に発表した、同社としては初めてのクラウド市場に関するMagic QuadrantとHype Cycleのレポートから、Hype Cycleの表を抜粋し、その分析を行ったもの。 

クラウドは、そのキーワードが登場してからかなりいろんな新しいキーワードが派生して登場しており、いくつかのグループ分け、分類なくしては非常に混乱の要因になる市場になって来ている事がこの表だけでもわかる。

次の様な4つの傾向と分類が考えられる。

1)IaaS、PaaS、SaaSといった、クラウドコンピューティングが登場した当時から存在していたキーワードは既にピークを越え、"Trough of Disillusionment"(幻滅、失意)の領域に入りそうである。これは、当初の大きな期待が持たれていたこれらXaaSといったキーワードは話題程の価値を業界全体に提供していない、という状況を反映している、と言える。当然SalesForce.comやAmazon Web Servicesの様に一定の成功を収めている企業も登場しているが、IT市場全体の規模と比較すると、まだごく一部のシェアを獲得している、と言う方が正しく、当初市場を席巻するのでは、と想像されていたクラウドは実はある特定の市場領域での成長に限定されている、という意識が特にエンタプライズ市場において持たれている、というのがGartner Groupの見解の様である。

2)Big Dataに関連した新技術に大きな注目が置かれ始めている。企業内のデータを如何に有効活用するか、特に大量の情報を整理し、必要な時に必要な情報を引き出せる能力、重複している情報を統合し、一元化する能力が基幹システムに要求されており、クラウドインフラを利用してそのデータを比較的安く一括管理出来るソリューションが期待されている。その技術としてHadoopやCassandra等のBig Dataが注目されており、それを利用するアプリケーションとして、クラウド上のBPM等が今後成長していく、と予測されている。クラウド利用事例の有効なモデルとして評価されていく事が想定される。

3)クラウド間コラボレーションは、クラウド利用が段々と定着し、企業内で複数のクラウドを利用する環境が出来た時に必要となってくる管理面での課題に対するソリューションの総称である。Cloud Collaboration、Hybrid Cloud Computing、Cloud Services Brokerage、CloudBursting等のキーワードは全て複数のクラウドを組み合わせてより高度なクラウドの利用方法を実現しようとする方式である。 

4)クラウドセキュリティに関しては今後は強化されていく方向は業界全体が求めている事であり、具体的なソリューションが今後登場していくと期待されている。従来のOn PremiseやWebアプリケーションの導入/運用で要求されて来たセキュリティの提供をクラウド環境にも適用していく動きはある上、一部その業界標準化、もしくは業界をして受け入れることが出来るセキュリティ基準の様なものが作られていく事が想定される。


こうやってみていくと、クラウドビジネスは段々と実際に採用、導入、運用し始める事を通して生じてくる、より具体的な課題に話題が移行しつつある事がわかる。当然と言えば当然であるが、この中で一番押さえどころは、やはりセキュリティを明確に打出すクラウドソリューション、と言うところではないかと思う。定量的な評価がしにくいファクターである上、クラウド上のセキュリティの基準、と言う者が存在しないため、何を持ってセキュアなクラウドなのか、という共通の理解を得るのが難しいからである。

2012年4月6日金曜日

[#Cloud #クラウド ] RightScaleの観点から見たサーバオーケストレーションとAWS SWFの発表との関係

RightScaleの観点から見たサーバオーケストレーションとAWS SWFの発表との関係
Thorsten von Eicken, CTO 

Amazon Web ServicesがSWF(Simple Work Flow)サービスを開始した事が、RightScale内部で開発が進められている新しいコンセプトの自動化機能について説明するいい機会になりました。
SWFはRightScale内部でも数ヶ月の間既にバックエンドシステムのサービスの一つして利用しており、RightScaleの提供するマルチクラウド管理機能の開発の効率化に大きく寄与しています。
僕の観点では、自動化はクラウドコンピューティングの最も重要な機能コンポーネントだと考えてます。自動化は、企業に取ってビジネス面で重要な機能(Pay as you go(従量課金)、Scale On Demand(ダイナミックなスケーリング)、Resilency(問題に対する対応能力)、Predictability(障害検知、トラフィック検知)、等)を可能にするし、何よりもシステム全体の信頼性を上げる事に寄与します。クラウドコンピューティングの価値は、これらの自動化によるメリットをシステム全体に適用出来るインフラとして最適なのです。

RightScale社は、この自動化に関する開発投資に創業当初から力を入れてます。RightScaleの初期バージョンから自動スケーリング(Auto Scaling)の機能を通して、サーバの自動的なスタート/停止と共にCPU負荷等の監視機能を充実させていました。この自動化機能を経験すると直ぐにわかる事ですが、新しいサーバインスタンスをCPU負荷の増加に連携してスタートさせる事自体は至極簡単な事で、誰でも出来る事なのです。難しいのは、そのスタートさせたサーバインスタンスを既に動いているシステムにスムーズに統合する所です、仮想マシンの立ち上げに加えて、必要となるソフトウェアスタックをバージョン、設定情報を全て寸分違わず揃え、サーバプールへの追加のみならず、併設されているロードバランサやデータベースシステムとの接続もシステムを停止する事無く行う必要があります。RightScaleの機能の大部分は、これらの設定を速やかにプロダクションシステムに追加して安定稼働を保証する為の諸手続きを全て自動化する機能です。

RightScaleの将来バージョンは、このプラットホームの上に、Server Orchestrationの機能を追加開発し、提供します。Server Orchestrationは、RightScaleが管理する、サーバやデプロイメント等のリソースを自動的に管理出来るワークフロー言語を利用します。最初の機能セットは、次の3つのオートスケーリング機能をカスタマイズすることが出来る機能です。
1)自動的にスケールアップ/ダウンする台数と時間を指定する
2)新規のサーバを自動的に起動する
3)動いているサーバを停止する

RightScaleは、毎分ユーザが規定した判断ロジック(Unser-defined Decision Function)を確認し、サーバアレーをスケールアップ/ダウンすべきかを判断します。Decision Function機能は、単純に立ち上げ/停止すべきサーバの数を返し、RightScaleはそれに従ってサーバ管理を実行します。
さらに、Decision FunctionはAPIを通して監視データを収集し、他の機能も提供することが出来ます。例えば、アプリケーションの特定の状態を把握し、条件によってはサーバの立ち上げの予測も行う様なロジックを作る事も可能になります。

Decision Functionがサーバの増加を必要としたとき、RightScaleはスケールアップの為のワークフローを起動してサーバの立ち上げを条件に従って行います。サーバの数に加え、サーバを立ち上げる場所や条件を詳細に規定することが出来ます。スケールダウンも同様に詳細の設定に基づいて行う事が可能で、ログの取得、バックアップの確保、等を行ってからサーバを停止する様な処理も可能になります。

RightScaleのオーケストレーションの機能を開発するにあたり、2つの重要な要件についてよく議論しました。
1)Concurrency(並列処理)
複数のサーバに対して同時に処理を行える設計にしないと規定時間内に処理を完了する事が難しくなってきます。例えば複数のサーバを同時に平行処理で立ち上げる構造にしないと台数が多くなると時間がやたらとかかる処理になってしまいます。
2) Fault Tolerance(障害対策)
障害が発生した時に、システムの回復をする時にこそ、Orchestrationの機能が大きな効果を発揮します。障害発生時には、他のプラットホーム、若しくはクラウド上でで再起動を自動的に行うことが出来ます。障害回復先が同じ障害の影響を受けている場合、オーケストレーションの機能自体が障害の影響を受けていた場合は?上記のスケールアップ/ダウン機能の多重化も考慮する必要性が出てくる訳で、ワークフローの階層的な構築を行い、サブワークフローの障害を親のワークフローが引き継げる様な構造が必要になってきます。

この辺の並列処理と障害対策の機能をしっかりしたものにする為に、RightScaleのオーケストレーションシステムはオープンソースである、Routeと呼ばれるワークフロー管理言語を採用し、これをベースに開発する事にしました。Route言語は、タスクを並列的に動かす時に構造的な方法でその処理の運用を設定する事が可能になります。例えば、複数のワークフローを「並行に行い、全部が成功するまで待つ」構造にしたり、または「並行に行い、一つ成功したら他を全てキャンセルする」、等といった設定が出来ます。

Amazon Web ServicesのSWFはこのRouteワークフローを通して障害対策機能を強化した運用を実現することが出来ました。SWFをワークフロー処理を行うエンジンとして位置づけ、Routeを通して、AWSの提供する複数のAvailability Zone上のサーバに対するワークフローを並列に動かす事が出来る様にしました。SWFはスケジュールに則ったワークフローの実行を行い、結果を収集し、Routeに報告する事により、Routeが次のステップに移行し異なるワークフローの指示を出せる様な構造です。結果として、AWS環境上で起きうる様々な障害に対して、非常に可用性の強いオーケストレーションシステムが誕生する結果になりました。

SWFがオープンになった現在、順次このオーケストレーション機能をRightScaleを通して提供出来る様にする事を期待しています。早々にプライベートベータ版を提供すべく準備を進めている状況です。






2012年4月5日木曜日

クラウドAPI: APIの乗るアーキテクチャにむしろ着目せよ

Cloud APIs: It's the Architecture that Matters
クラウドAPI: APIの乗るアーキテクチャにむしろ着目せよ
Thorsten von Eicken, CTO 

クラウド業界は相変わらず、活気にあふれている状況である。先日のAmazon Web Services社とEucalyptus社との間のクラウドAPI協業の発表に引き続き、OpenStack Summit開催の直前を狙って、Citrix社が自社のクラウドAPIの拡張に関する発表を行っている。この一連の活動を通して、いかにクラウドAPIが重要な要素になっているか、という事がよくわかる。特に今年は、クラウドAPIの市場はますます活発化するが、標準化どころか、複数のAPIがますますしのぎを削る市場が展開される、という事が予測される。

Citrix社の発表は、Cloud.com社がCitrix社に買収されてから初めての大きな発表になる、という点が特徴的である。買収後、Citrixチームと元Cloud.com両社共にOpenStackプロジェクトにかなりのリソースを提供し、具体的には、Swiftと呼ばれるOpenStackのストレージシステムの採用を行って来た。

興味深いのは、CloudStackのチームはOpenStackの技術を自社クラウド基盤に採用する事に関して非常にオープンではあった一方、特にOpenStack Compute部分を採用する事に関しては、少なからずとも抵抗が出て来ていたのも事実である。既にグローバルに数々の大規模パブリッククラウド事業社への導入実績を持っているCloudStackのチームにとって、OpenStack Compute部分は、技術的な面において遅れている、という認識が強くなって来た、というのが要因である。

結果的に、CloudStackの部隊としては既存のCloudStackの継続的な開発を続ける方針を維持し、OpenStackからは必要な部分のみを積極的に採用する、というスタンスをとる結果になっている。OpenStack Object Storageの採用はその一例である。

また、昨今発表したCloudStackをApache Foundation Projectに寄贈する件についても、CloudStackを独立したクラウドAPIとして競合力のある技術として位置づける方針が明確になった裏付けである。

さて、一方では、Amazon Web ServicesとEucalyptusは共同でAPIの互換性を保証する発表を行っている。従来から、Eucalyptusの主張していた、AWSとのAPI互換戦略をAWSと共に改めて市場にアピールするよい機会であったと言える。

AWSのクラウドAPIにかかわる戦略がクラウド全体の市場に与えている影響を考察すると非常に興味深いものである。Eucalyptusが登場し、RackSpaceがクラウド事業を展開し始めた当初、両社のAWS API互換戦略に対して、AWSがそれを防止するための動き、特に法的な処置に出ないかどうか、実は市場が興味深く動向を観察をしていた時期でもある。AWS内部でも、どの様な対応を取るべきか、かなりの議論がされていた筈である。結果的にAWSが取った戦略は、"Wait And See"(様子見)戦略で、市場の形成がもう少し進んだ時点で行動を起こす、というものであった。その行動の一つがEucalyptusとの発表である、という事が言える。

かなり早い段階でもう少し具体的な動きを取るべきだったのでは、という議論もある。例えば、Ubuntuの開発者である、Mark Shuttleworth氏が2011年の9月時点で、OpenStackはAWS EC2互換であるべき、と主張している。また、CitrixのCloudStackも以前よりAWS API互換をサポートしている、という実績があり、AWS APIに関する各社、団体の動きというのは市場全体に共通するクラウド事業社にとってのベンチマークAPIである、と言える。

さて、本題は、このクラウドAPIというもの、本当にそんなに大事なものなのか? という疑問であり、クラウドAPIの互換性というものの本当の意味について分析をしてみたい。

クラウドAPI互換の問題点
以前から主張しているが、改めて述べたい。重要なのはクラウドの中のリソースのセマンティック(意味的な構造)であり、その表面上のAPIではない、という事である。
API互換は、かなり深いレベルまで互換性を確保しないと全く意味をなさない、と言う事である。
幾つか事例を通して解説をしてみたい。

#1:
EC2は幾つかのインスタンスタイプを提供している事は有名である。1~8個のコアCPU、512MB~8GBのメモリ、ディスク0〜4スピンドル、共有ネットワークと専有10Gbpsポート、等々。これらの多種のインスタンスをプライベートクラウドに構築するのは可能ではあるが、実際問題そんな簡単な話ではない。結果的にAWSと異なるインスタンスタイプのあるプライベートクラウドにAWS上の資産を動かそうとしても結構難しい問題が発生する。また、AWSのインスタンスタイプが必ずしもユーザのアプリケーションに最適なデザインであるとは限らず、事例としてカスタマイズしたインスタンス構成を自分で作るエンドユーザも非常に多いのが実情である。この辺はクラウドAPIとは全然次元の違う課題の代表として上げられる。

#2:
EC2 EBS Block Storageは非常にユニークが構造を持っているストレージクラウドである。それ故、好き嫌いも多いが、スナップショットや特定のI/O向けに多用されいているのが現状である。ただ、それは事実上無尽蔵にストレージを提供出来るAWS上でこそ効果を発揮する性格の技術で、小規模なプライベートクラウド上では、EBSと完全互換のストレージを提供する事はあまり意味が無い、と言える。API互換を追求するあまり、あまりシステムとしては効果の無い環境を提供する結果になってしまっては、あまり意味が無いのでは、と感じる。

#3:
AWSクラウドは、それぞれのリージョン毎に分離され、それぞれが独立してリソースを管理/運用している。障害管理(Disaster Recoery: DR)の目的で、東海岸に一イメージ、さらに西海岸にそのイメージのコピーを作りたい場合、ある特定の頻度でイメージをコピーして同期させる必要がある。多くのクラウド事業社は、こういった複数のリージョン間のイメージ管理を自動化、若しくは簡易化したサービスをAPIとして提供している。当然、各社とも、そのアプローチ、ましてやAPIはバラバラである。AWS互換のレベルとは全く次元の異なる世界である。

#4:
SoftLayer社は、世界各所で運用しているデータセンタとそれを繋ぐネットワークインフラを利用し、顧客に対して、グローバルなプライベートネットワークを提供するサービスを行っている。AWSのリージョン別戦略と異なり、拠点間のアドレスを統括し、一つのサーバシステムの様に見せることが出来る、というのが特長である。拠点間のサーバ管理、上位の業務運用がEC2と比較して非常に簡易になる、と言う事である。SoftLayerはその気になれば、AWS EC2互換をグローバルに提供する事も可能であるが、そうしたとしても、拠点間で運用管理をする為のツール、インスタンスの提供/管理を支えるアーキテクチャがAWSと大きく異なる為、クラウドAPIを共通化した所であまりユーザにとってメリットの無い話になってしまう。

要は、クラウドAPIはクラウド間の互換性やポータビリティを保証する要件にはなり得ない、と言う事である。単一のインスタンス上でサーバを数台起こす程度であれば、API互換は何かと重宝するが、一旦要件が、異なるクラウドへの拡張性、性能の最適化、コスト最適化、ガバナンス/コンプライアンス、障害検知/対策、等の対応を必要とする状況になった時点で、クラウドAPIだけでは到底カバー出来ない課題がうまれてくる。

互換性に対するより大きなアプローチ
上記の状況に対して、より大きなアプローチが必要になってくる、という事は自明である。

まず、現実問題としてAWS APIに加え、他にも複数のクラウドAPIが存在する、という事実を認識する必要がある(特に日本では顕著)。また、EC2には、2種類のAPIが存在する、と述べたい。"EC2 Classic"と"EC2 VPC"の2つである。後者は、AWSのVirtual Private CloudをサポートするAPIであり、Classicとはかなり異なるAPIを提供している。例えば、VPCは、i) Classicがサポートしない、egress ruleがあったり、ii) Classicが1コマンドで出来るしないインスタンス間のIPアドレスの移行に2コマンド必要である、等。
細かい事はさておいて、本質的な課題を述べると、"Amazon準拠"の真の意味は、AWSが提供している、20にも及ぶサービス全てに対して互換性を提供する事、と定義する必要がある。ただ、これ自体は大変な事であり、口でいう程簡単ではないのは明らかである。

多くのAWS互換クラウドは、EC2に加え、それに準ずるサービス、例えばElastic Load Balancing(ELB)、Relational Database Service(RDS)、Simple Queue Service (SQS)、場合によってはCloudFrontのコンテンツ配信サービス等が上げられる。その程度の互換性で上手くAWSからの移行が成立すればOKだが、問題は、自分の利用するAWSサービスが一つでも欠けていたら、AWS互換の価値が全く無くなってしまう、と言う事である。

今後の傾向としてよく理解しないといけないのは、クラウドユーザは、EC2レベルのAPI互換性ではなく、その周辺のサービスに対する互換性がより重要な課題になる、という点である。

例えば、RackSpace Hosting社は、Load Balancingをサービスとして提供を開始しており、一方では、SoftLayerはCDNサービスを提供している。Google AppEngineを見ると、Task Queues、Emailサービス、各種SQL/NoSQLのストレージサービス、等、各社サービスメニューを拡充している。また、まだ付加価値サービスを提供していないクラウドベンダーはこのサービスメニューの品揃えの重要性に早くも気づき始めている。

今時点に於いては、AWSが提供しているサービスメニューに非常に近いものが多く登場しているのが現状であるが、今後どのような新しいサービスが登場するのか、またサービス群全体としてのクラウド間互換性の動向がどの様に進むのか、が非常に興味深い所である。

まとめ
Citrixの発表した、i) 自社技術の優位性、ii) Apacheへのソース公開、iii) AWS互換性、の3点発表は興味深い戦略である。今後起きうるトレンドとして、オープンソースになったCloudStack上に、AWSの各種サービスと互換性を持つコンポーネントを開発するベンダーが登場してくるだろう、という点である。そういう意味では、Citrixは市場動向をよく分析した、非常に戦略的な動きを取っている、と評価することが出来よう。

今後の提案として2つあげたい。
1)AWSにとらわれる事なく、今後登場する他のクラウドも積極的に利用し、新たなユースケースを発見して欲しい、という事。
2)その際には、クラウド間の互換性について悩むがためにより大きな動向を見失っては行けない。

各種サービスも含めた、クラウド間の互換性、ポータビリティ、についてはより上位のレイヤーにおいて既に取組んでおり、ソリューションとして成立している、という事を是非認識して欲しい。

RightScaleの元来狙っている答えは正にそこにある訳です。