インフィニティソリューションズ株式会社ブログ

Amazonの主張とその現実を検証する(その1)

今日のInformationWeekのトップストーリーはこれだった。

Amazon’s 7 Cloud Promises: Hype Vs. Reality(アマゾンのクラウドに関する7つの展望:幻想か現実か)

ニューヨークで開かれたAmazon Web Services Summit 2012で同社のCTO、Werner Vogels氏がクラウドコンピューティングを支える7つの重要な技術転換があるとの主張に対し、InformationWeekのExecutive EditorであるDoug Henschen氏は「おいおい」と感じたらしい。さらに、アマゾンのプロダクトマーケティング、セールス、プロダクトマネージメント担当副社長、Adam Selipsky氏が、企業のデータセンターは、今後20年間で大半がクラウドコンピューティングに取って代わると主張するにいたり、「そりゃ違うだろ」ということで、アマゾンの主張を検証することにした模様。その主張とは、

主張1.Cloud Makes Distributed Architecture Easy(クラウドが分散アーキテクチャを容易にする)

 

(source: InformatioWeek)

システムを止めないようにするには、分散して、耐故障性の強いアーキテクチャがいいはわかっているが、

“But it’s easier said than done running all those servers and networks and synchronizing redundant, geographically isolated data centers. With cloud computing, running on reliable, distributed systems “becomes relatively easy,” asserted Amazon CTO Dr. Werner Vogels.”

「全サーバやネットワークを動作させ、地理的に離れたデータセンター間で同期し、冗長化するのは、言うほどたやすくない。信頼性がある分散システムが動作するクラウドコンピューティングにより、「比較的容易に」なったとAmazonのCTO、Werner Vogels氏は主張する。」

アマゾンなら複数のリージョンにまたがって分散させることができ、各リージョン内にも複数のAvailability  Zoneがあり、Availability Zoneもまた複数のデータセンターに分かれている。また分散サービスとして、S3やDynamoDBなどのサービスがそろっている。

“Plenty of other cloud vendors have globally distributed architectures, but AWS has a 59% share of the infrastructure-as-a-service market, according to The 451 Group, so its advantages in scale should, in theory, translate to higher levels of overall capacity, scalability, system distribution, and redundancy.”

「多くのクラウドベンダーが世界規模の分散アークテクチャを採用しているが、451グループの調査によれば、AWSはIaaS市場で59%のシェアを持っているため、理論的には、スケールメリットが、全体の容量、スケーラビリティ、システム配置、冗長性を高いレベルで提供できることを意味する。」

検証1.Complexity Doesn’t Go Away(複雑さは無くならない)

“Amazon does a lot to shield its customers from the complexity of creating their own highly distributed systems on AWS infrastructure, but Amazon itself can’t internally avoid complexity or the certainty that systems fail. Despite its global scale and many redundancies, Amazon has a less-than-perfect record of keeping its systems up and running.”

「アマゾンは同社のインフラ上で高度に分散されたシステムを構築している複雑さを顧客に見せない手立てを沢山もっているが、アマゾン自身は内部的にその複雑さから逃れない、あるいは、システム障害が起こることを避けて通れないのだ。世界規模で数多くの冗長性を実現しているものの、アマゾンはシステムを稼動させるということについて、完璧ではない。」

— 去年の4月と8月に障害があったのは記憶に新しいところ。8月は特に1つのAvailability Zoneの障害が別のAvailability Zoneの障害につながってしまった。

“Game site Zynga, which relies heavily on AWS, avoided disruption during these outages because it also has its own private-cloud capacity, further distributing and adding separation and redundancy to its available compute capacity. Zynga also determined it was better to own than rent, so it has flipped from 80% dependence on AWS to 20% dependence, with public-cloud usage focused on scaling up new games before taking them in house.”

「ゲームサイトのZyngaは、AWSに大きく依存しているが、障害から難を逃れることができた。なぜなら分散度を高め、分離と冗長性のために自社のプライベートクラウドを持っていたからだ。Zyngaはまた、借りるより所有するほうが良いと決断し、AWSの依存度を80%から20%に転換した。パブリッククラウドの利用は、自社に取り込む前に、新しいゲームをスケールアップすることに絞ることにした。」

— これ、論点がずれていると思う。クラウドによって、自前でプラットフォームを用意せずとも、分散アーキテクチャを実装できるようになったのは事実。ただ、システムの信頼性向上を実現するため、どのリージョンがコケてもシステムがコケないようにするのは容易ではない。経済的に容易になったが、技術的にはさほど容易になっていないということか。

— Zyngaほどの規模になれば、社内のデータセンターという選択肢も十分考えれる。その決断の理由と、クラウドで分散アーキテクチャが容易になったかどうかとは、同じ話ではないと思うが。