Professional Documents
Culture Documents
・
026 IT アーキテクト Vol.17
こ れ が サ ー バ・サ イ ド・コ ン ピ ュ ー テ ィ ン グ の 究 極 形 !?
・ コンピューティング “あちら側”
ネットの に登場した大規模分散プラットフォームに、
アーキテクトはどう備えるべきか
インターネットの普及や高速化、サーバ・サイド・コンピューティングの進展に伴い、
これまでユーザーのローカル環境にあったデータやアプリケーションがネットワークの“あちら側”に移り、
ユーザーはそれらの所在を意識することなく利用できるようになりつつある。
それによって実現される新たなコンピューティング環境を指す言葉が「クラウド・コンピューティング (Cloud Computing)」だ。
すでにグーグルやアマゾンなどがこれをベースにしたサービスの提供を始めており、
インターネット上の各種サービス基盤として広く利用されつつある。
今後、この種のサービスが普及した暁には、
本格的なWOA(Web Oriented Architecture)時代が到来することになるだろう。
本特集では、このクラウド・コンピューティングの特性と、
これを活用するアーキテクトに求められる視点/スキルを考えてみたい。
IT アーキテクト Vol.17 027
クラウド・コンピューティングとは
何か
インターネットと膨大なコンピューティング能力に支えられた
プラットフォームの特性を探る
最近、各種メディアでクラウド・コンピューティングという言葉を目にする機会が多くなった。
ただし、この言葉がどのようなコンピューティング環境を指し示しているのかを明確にイメージできている方は、まだ少ないかもしれない。
本パートでは、クラウド・コンピューティングの定義と、このコンピューティング環境に求められる特性を明らかにする。
小出 理史 Michihiro Koide
日本IBMシステムズ・エンジニアリング テクノロジー・イノベーション
クラウド・コンピューティングの定義 ングがどのようなコンピューティング環境なのかを考察す
る。なお、表 1に主なクラウド・コンピューティング環境と
1990年代半ばから爆発的な勢いで普及したインター 関連サービス/ソフトウェアを挙げた。以降の説明は、
ネット。今日では社会インフラとして浸透したこのネットワー これらも念頭に置いて読み進めてほしい。
クをベースにして、近年新たなるコンピューティング環境
が出現してきた。それが、本特集のテーマであるクラウ クラウド・コンピューティングを
ド・コンピューティングだ。 支える基盤
ただしこの言葉は、当初これを使い始めた人々※ 1 の
意図が定着する前に、また多くの人が納得する定義が 本稿ではクラウド・コンピューティングを上のように定義
浸透する前に広く使われるようになった。そのため、これ したが、この定義の中で肝となるのは、
「膨大なコンピュ
がどのようなコンピューティング環境を指すのかが曖昧な ーティング能力」
と「多くのユーザー」
という部分だろう。
感もある。そこで本稿では、初めにクラウド・コンピューテ まずはこれらのキーワードに関連する、クラウド・コンピュ
ィングの定義を明らかにするところから始めたい。 ーティングの実現基盤について考えてみよう。
今日、さまざまな企業/アナリスト/技術者らがこの
言葉を使っているが、そこに共通して見られる定義は次 多くのユーザーとつながるための仕組み
のようなものだ。 先の定義に従えば、クラウド・コンピューティングでは、
まず「膨大なコンピューティング能力」を多くのユーザー
膨大なコンピューティング能力を背景に、多くの
に提供できなければならない。そのためには、両者をつな
ユーザーに寄与する何らかの機能を提供するた
ぐ仕組みが必要だ。
めの、何らかの仕組み
その仕組みとして、現在最も有力なのはインターネット、
上記の「何らかの機能」には、OS(および、より低位 とりわけHTTPを用いたWebであろう。インターネットが普
のレイヤ)
やミドルウェア、アプリケーションに相当するもの 及した今日、コンピューティング能力がどのようなかたちで
などがある。また、
「何らかの仕組み」
とは、あるときはミド 世界のどこに存在しようとも、インターネットに接続され、
ルウェアの選択基準を、あるときはプログラミング・モデル HTTPを理解できる状態にあれば、それで世界中のユ
を、さらにあるときは構築側/利用側の心構えを、そして ーザー/システムとつながることができるのだ
(図1)
。
あるときはビジネス・モデルを指すといった具合にさまざま
※ 1 例えば、2006 年 8月に書かれた記事『Google CEO’ s new para
だ。 digm: 'cloud computing and advertising go hand-in-hand'』
(http://
blogs.zdnet.com/micro-markets/?p=369) の中で、グーグルの CEOであ
以降では、この定義に基づき、クラウド・コンピューティ るEric Schmidt氏の見解が示されている。
028 IT アーキテクト Vol.17
膨大なコンピューティング能力 図1:インターネットで膨大なコンピューティング能力と多くのユーザーを結び付ける
多くのユーザー 膨大なコンピューティング能力
一方、多くのユーザーが使える
「膨大なコンピューティ
ング能力」
も、すでに実在する。その代表例と言えるの
が、グーグルのサービス基盤である。2004 年から2005
インターネット
年にかけ、GmailやGoogle Mapsといった一連のサー などの
ネットーワーク
ビスが、多くのユーザーに検索サービスを提供してきた
グーグルから登場したのは1つの象徴的な出来事であ
った。これらのサービスが登場した際、多くの方は、グー
グルの検索サービスの裏に隠れた「膨大なコンピューテ
ィング能力」の存在を実感したのではないだろうか。 図2:多くのユーザーを対象にするためには、
さまざまな課題がある
その後も、グーグルが提供するサービスは質/量とも 多くのユーザー 膨大なコンピューティング能力
に拡大が続いており、少なくとも現在のところは破綻して
いない。以前の常識で考えると、これはとてつもないこと
である。 インターネット
などの
とは言え、こうしたサービスの実現手法、特に「多くの ネットーワーク
ユーザー」に対応するための部分については、構築/
維持/活用に向けた技術や手法、コストなどが大きく関
係しており、現在でも定型化されるまでには至っていな
い。特にコストについては、その回収方法(ビジネス・モ 活用手法は? 構築/維持手法は?
コストの低減手法は?
コストの回収手法は?
デル)
まで考慮すべしという意見もあり、一部の企業など
が長期間にわたって維持可能なシステムをどう実現する
かを検証し始めた段階だ
(図2)。 機能」を提供する。今度は、この「何らかの機能」がど
のように提供されるのかを考えよう。
ユーザーに機能を提供するための
仕組み クラウド・コンピューティングが隠蔽するもの
先に筆者は、
「何らかの機能」
とは、OSやミドルウェ
クラウド・コンピューティングは、上に説明した2つの要 ア、アプリケーションに相当するものだと述べた。ただし、
素を基盤にして、
「多くのユーザーに寄与する何らかの これらの間に明確な線引きはなく、低位のレイヤから高
IT アーキテクト Vol.17 029