Amazonとクラウドコンピューティング進化する技術(1/4 ページ)

Amazonは社内で培った技術を活用し、クラウドコンピューティングをビジネスに展開する方法を発見した。それが開発者にとってどのような意味を持つか検証する。

» 2008年10月23日 08時00分 公開
[Jeff Cogswell,eWEEK]
eWEEK

分析:オンライン小売業のAmazonは、IBMやOracle、Googleなどと違って、クラウドコンピューティングへ参入しそうな会社には見えなかった。だが、Amazonは社内で培った技術を活用し、ビジネスに展開する方法を発見した。ここではAmazonのEC2プラットフォームと、それが開発者にとってどのような意味を持つか検証したい。

 ここ数年、「クラウドコンピューティング」という言葉はあらゆる場所で耳にする。だが、さまざまな産業で仕事をしてきたわたしの経験から見て、実際にその言葉の意味を正しく理解している人はまだ少ない。最近、Amazonは同社が考える「クラウドコンピューティング」の世界に市場参入した。本稿では、Amazonの目指すものがいったいどこにあるかを探る。

なぜAmazonが?

 Amazonがクラウドコンピューティングビジネスに参入するとは誰も考えなかったに違いない。そのあたりのビジネスは、IBMやOracleの領域であるからだ。

 ではなぜAmazonはこの世界に足を踏み込むことになったのか? Amazonのサイトにアクセスし、ログインすると、個々のユーザーにカスタマイズされたストア画面が現れる。そこにリストアップされた「おすすめ商品」は、cookieに保存された情報を元にブラウザが表示しているのではなく、Amazonのサーバが瞬時に判断して表示しているのだ。

 Web開発者にとって、こうした仕組みを用意するのはそれほど難しくない。ユーザーがログインしたとき、最後に購入した商品を検索し、類似の商品をデータベースに照会して、その結果をページに表示するだけだ。ただし、1つ大きな問題がある。現実的に数百万人のユーザーに対し、数行程度のコードでそうした計算を同時かつ瞬時に実行することは可能だろうか?

 ほとんどのWebサーバは、もちろん十分パワフルではあるが、そのような計算処理を実行できる性能は持たない。Amazonのエンジニアたちも当然、膨大な量のデータベーストランザクションとソフトウェア計算を高速で実行できる新しい仕組みを考え出さなければならなかった。彼らの選択したソリューションは、複数のコンピュータが連携し、それぞれに割り当てられたシンプルなタスクを同時に実行する分散コンピューティング方式だった。

クラウドに賭けられるか?

 コードを書ける人間は大勢いる。だが優れたソフトウェアを開発するには、チームを組むことが不可欠だ。ときにはソフトウェア会社が全社で取り組む必要さえある。ソフトウェア開発者として、わたしはそうしたことを説明しなければならない状況を何度も経験してきた。特殊な産業をカバーする高度に専門化したソフトウェア会社が存在する理由は、そこにある。なぜ企業は自力でソフトウェアを開発できないのか? それはソフトウェア開発が本業ではないからだ。ほとんどの場合、企業にとって最もコスト効率に優れたソリューションは、その分野の専門ソフトウェア会社から製品を買うことである。

 ただし、このルールには例外もある。必要とする市販のソフトウェアが存在しない場合だ。Amazonを見てみよう。同社の本来のビジネスは書籍の販売だった。最近ではまるで百貨店のような品揃えになったが、巨大な顧客ベースを維持するために、Amazonはそれらを効率的に管理できるハードウェアとソフトウェアの両方が必要だった。ところが不運なことに、Amazonの創業初期のころ、そうしたシステムは市場に存在しなかった。Amazonのエンジニアは自分たちで構築するほかなかったのである。

 彼らは事業展開のために、大規模な分散システムの構築を目指した。だがシステムが完成してみると、自分たちの手の中に何かとてつもなく大きなものがあることに気付いたのだ。それはAmazonだけでなく、他の大勢の人々が利用できる可能性を秘めていた。それが2002年に運用を開始した「AWS(Amazon Web Services)」である。

       1|2|3|4 次のページへ

Editorial items that were originally published in the U.S. Edition of “eWEEK” are the copyrighted property of Ziff Davis Enterprise Inc. Copyright (c) 2011. All Rights Reserved.