クラウド時代の始まり
インターネット・クラウドの成立 - すべてはGoogleから始まった
「インターネット・クラウド」という言葉は、インターネットの始まりの頃から、外部のパブリックなインターネットへの接続を表す雲型のアイコンと共に、ネットワークの世界では広く使われていました。
小論では、「インターネット・クラウド」という言葉を、それとは少し違った意味で拡張して使っています。すなわち、「Webスケールの多数の消費者を対象として、彼らにインターネットを通じてサービスを提供しようとする大規模なサーバー群・データセンター」のことを指して使っています。
こうした定義によれば、先に見た大規模なe-コマース・サイトや大規模なSNSサイトも、「インターネット・クラウド」に含まれることになりますが、それはそれで構わないと筆者は考えています。
今日から振り返ってみれば、インターネット・クラウドの成立に、技術的には一つの画期があることは明確なように思えます。Googleの登場です。クラウドに関して言えば、すべてはGoogleから始まったと言っていいと筆者は考えています。
Googleの創業理念は、次のようなものであったと言われています。
『全世界の情報を、組織しアクセス可能にするという夢は、ほとんど達成可能なところにまで来ている!』
Googleは、自らは、クラウドという名前を使うことはありませんでしたが、誰よりも先に、Webスケールのデータの巨大さをはっきりと認識していました。彼らは、インターネットの急速な普及がもたらしたネットワーク上の情報の爆発に注目し、検索手段の提供によって、その情報を「組織しアクセス可能にする」ことが、時代の大きな課題だということに気付きます。今では、当たり前の発想に思えるのですが、これは卓見です。
その上で、それが彼らのビジネスであるという明確な目的意識を持って、それをハンドルする大規模な分散システムからなるクラウドのシステムを作り上げました。そればかりではありません。彼らは、この検索サービスに広告を連動させるというビジネス・モデルを作りだします。そのビジネス・モデルは、見事に彼らに大成功をもたらします。
Googleを含めて、多数のインターネット・クラウドのプレーヤーたちにとって、インターネット・クラウド技術とは、コスト削減の技術として生まれたものではなく、今までにない新しいビジネス価値を生み出すものとして誕生したことを忘れてはなりません。
コモディティ化したマシンを多数並べて並列動作させるという画期的なScale-outアーキテクチャや、GFS、MapReduce、BigTableというGoogleの大規模分散技術については、別の機会に詳しく触れたいと思います。
インターネット・クラウドの広がりを離れては、クラウドの誕生はあり得ませんでした。何よりも、私たちは、インターネット・クラウドを通じて、「いつでも、どこでも、ネットにつながりさえすれば、望むサービスが受けられる」という、それまでにはなかった経験をしてきました。「サービスは、空から降ってくる」「クラウドがサービスを提供する」という実感を、今日のように、クラウドがバブルを迎える以前から多くの人が共有していました。
インターネット・クラウドは、Webスケールの数の個人をターゲットとしたビジネスによってドライブされ、ビジネスの発展とともにそのシステムの規模を不断に拡大していくという傾向を持っています。
こうしたインターネット・クラウド環境の中で、Scale-outアーキテクチャ、Availabilityの確保、Key/Valueデータ・ストア、BASEトランザクションといったクラウドの技術的な特徴は、日々新たに再発見・再発明されうるのです。クラウドの概念もその技術も進化します。「インターネット・クラウド」は、そこから、さまざまなクラウドのコンセプトや新しいクラウド技術がわき出してくる、クラウドの原基形態であり、その共通の母胎なのだと考えることは、とても大事なことです。そうした過程は、今現在も続いています。
エンタープライズ・クラウドの始まり - Amazon EC2/S3
クラウド技術の第2段階への進化は、e-コマースの雄Amazonによってなされました。Googleのインターネット・クラウド技術が、主要には一般のサービス消費者を対象にしていたのに対して、Amazonは、エンタープライズを対象とするクラウド・サービスEC2/S3を開始したのです。
小論では、「エンタープライズ・クラウド」という言葉を、「サービス提供を目指すユーザーを対象として、彼らにそのサービス提供の環境を提供する新しいサービスを支える大規模なサーバー群・データセンター」を指して用いています。
Amazonは、大規模なe-コマース・サイトの複雑で困難な運用の経験の中から、リソースを合理的に管理する方法を編み出しました。
Ec2/S3がサービスを開始した2006年のWeb2.0 SummitでのAmazon会長のジェフ・べゾスの言葉です。
『Web上の高度に分散したソフトウエアの開発作業では、開発者は、プログラムのサイズにかかわらず、仕事の70%を、保守作業や、ビジネス上の差別化に結び付かない仕事に費やしている。このシステムが革命的なのは、それが、開発者に、本来集中すべき仕事に集中させ、その仕事を片付けるやり方を変えるということである。』
Amazonのシステムは、単にAmazonの開発者をシステム管理の膨大な雑務から解放しただけではありませんでした。Amazonは、そこで生まれた開発者のリソースと、柔軟にScale-outする自らのインターネット・クラウドの余力を、エンタープライズ・クラウド・サービスとして、外部に提供することに成功したのです。
EC2/S3のようなサービス提供ができるためには、ネットワーク上に分散して存在している物理的なディスクや物理的なサーバーを、仮想化して論理的に管理して、稼働していないものはリソース・プールに登録して、変動する要求に応じて動的にそこからリソースを取り出して仕事を割り当てて、スケーラブルなサービス提供を保障しなければなりません。
AmazonのEC2/S3のサービス開始は、クラウドを支えるこうした課題の重要性に、皆の目を向けさせました。強い言い方をすれば、こうした大規模な分散環境でのリソース管理の能力を欠いているシステムは、クラウドとは呼べないのです。
ちょうど、この2006年頃から、今日のクラウドの概念が明確に意識されるようになります。筆者の議論は、こうしたクラウド概念の成立・一般化以前に、実体としてGoogleらを中心としてインターネット・クラウドが存在していたというものです。
ネットワークを通じて企業にサービスを提供するという点では、エンタープライズ・クラウドは、それ以前から存在していたASPやSaaSの潮流と合流を果たしたとも言ます。Salesforceがその代表です。
彼らのシステムはScalabilityを欠いており、Scale-outアーキテクチャを取っているわけではありません。この点では、Amazonのエンタープライズ・クラウドは、インターネット・クラウド起源であり、Salesforceのエンタープライズ・クラウドが、ASP起源だということには注意が必要です。(もちろん、大規模なASPを、Scale-outアーキテクチャ以前のインターネット・クラウドだと考えることもできるのですが)
ただ、サービスの拡大と価格競争の中で、Salesforceらのシステムも、遅かれ早かれ、Scale-out型に変化していくのではないかと筆者は考えています。