レベル: 初級 Mikko Kontio, Director, Softera
2009年 02月 02日 ニュース・メディアや IT 業界ではクラウド・コンピューティングがホットなトピックになっています。なかには、クラウド・コンピューティングは決して新しいものではないと批判する人達もいます。今回はこの「アーキテクチャー・マニフェスト」シリーズの最後の記事として、クラウド・コンピューティングの可能性とリスクについて学びます。
はじめに
昨年一年を通じて、クラウド・コンピューティングは過剰な期待とともにますます大きな話題となってきました。IBM® や Microsoft®、Amazon などの大企業はクラウド・コンピューティングに関する戦略を発表しました。小規模な会社や、さらには新興企業でさえ、クラウド・コンピューティングのためのサービスを提供するようになりました。何においてもそうですが、何かが熱狂的に取り上げられている場合には、なぜそれに関心を持つのか、また顧客にとってどんなメリットがあるのかを考えてみる必要があります。「アーキテクチャー・マニフェスト」シリーズの最後の記事である今回は、ベンダーと顧客双方にとってのクラウド・コンピューティングとその可能性について、その概要を説明します。
クラウド・コンピューティングはよく SaaS (Software as a Service) と呼ばれますが、EaaS (Everything as a Service) と呼ばれることもあります。クラウド・コンピューティングには、サーバーが含まれていたり、データベースやソフトウェアが含まれていたり、あるいはそれらが組み合わされた形で含まれていたりもします。「レイヤー」のセクションでは、クラウド・コンピューティングのベンダーが提供するさまざまなレイヤー (つまりサービス) について説明します。またこの記事では、クラウド・ベースのサービスが抱えるリスクについても説明します。しかし何よりもまず、クラウド・コンピューティングについて説明しましょう。
クラウド・コンピューティング
 |
IBM と Amazon Web サービス (AWS)
IBM と AWS はチームを組み、仮想コンピューティング環境で IBM ソフトウェアを利用できるサービスを提供しています。このサービスでは、Amazon EC2 で得られるエクスペリエンスを利用することで、ユーザー自身のシステムにインストールしなくてもソフトウェアを評価したり使用したりすることができます。また、ほとんど瞬時に容量を調整することができ、企業対応のアプリケーションを信頼性の高いハイパフォーマンス環境で構築できる上、使用した時間と容量に対してのみ料金を支払えばよいのです。IBM が EC2 で提供しているものは以下のとおりです。
- DB2 Express-C 9.5
- Informix Dynamic Server Developer Edition 11.5
- WebSphere Portal Server と Lotus Web Content Management Standard Edition
- WebSphere sMash
これらは製品レベルのコードであり、すべての機能とオプションが有効になっています。詳しい情報や、これらの製品の Amazon Machine Images のダウンロード方法については developerWorks Cloud Computing Resource Center を参照してください。
クラウド・コンピューティングに関する他のリソースについては developerWorks の Cloud computing space を参照してください。
|
|
簡単に言えば、クラウド・コンピューティングとは、IT サービスのユーザーである企業が IT 関連のサービスをサービスとして購入できることを意味します。内部サービスあるいは外部サービス用にサーバーを購入したり、ソフトウェア・ライセンスを購入したりする代わりに、そうしたサーバーやライセンスをサービスとして購入することができます。これは決して新しいことではありません。ホスティング・サービスはずっと以前からあり、ユーザーはホスティング・サービスを利用することで IT インフラよりもビジネスに集中することができます。しかし、クラウド・コンピューティングを利用すれば、もっと多くのものが提供されるのです。
例えば、大規模なベンダーが彼らの製品を Web ポータルで販売しているとします。彼らは需要が最大となるピーク (ピークとなる時間帯や休日前でピークとなる日など) に対応するためにサーバーやインフラにアクセスする必要がありますが、ほとんどの時間はもっと小さな容量でも注文を処理することができます。彼らは、ほとんどフルに利用していない大規模なインフラを本当に所有する必要があるのかと考え始めます。ホスティング・サービスを利用すれば、このベンダーは必要なインフラをサービスとして購入することができます。また、料金を月単位または年単位で支払うことができ、インフラに関する心配を減らすこともできます。そして彼らは普段からピーク時に備えて容量を確保しなくても、必要とするときに必要なだけの容量を購入すればよくなります。クラウド・コンピューティングを利用することで、使用量に基づいてピーク容量に対する料金を支払えばよくなるのです。顧客にとっての利点は非常に明白です。
特徴
クラウド・コンピューティングには、いくつかの重要な特徴があります。
- 顧客は、彼らがピーク時に必要となりうる最大容量を知る必要がありません (また購入する必要もありません)。クラウド・コンピューティングによって、アプリケーションが利用できるリソースがスケーラブルになります。新興企業であれば、宣伝キャンペーンが少し成功しすぎてサーバーが対応できなくなる心配をする必要がなくなります。
- 顧客は、使用したものに対してのみ料金を支払います。最大需要に対応するためのサーバーや容量を購入する必要はありません。多くの場合、これによってコストを削減することができます。
- クラウドは、CPUやストレージ、ネットワーク帯域などの割り当てや割り当て解除を必要に応じて自動的に (あるいは一部のサービスでは半手動操作によって) 行います。サイトのユーザーがごく少数の場合には、クラウドはほとんど容量を使用せずにサイトを実行し、またユーザーが非常に多数の場合には大きな容量を使用してサイトを実行します。
- サービスを実行するデータ・センターは巨大であり、またリソースは膨大な数のユーザー間で共有されるため、ユーザーあたりにかかるインフラ・コスト (電気料金、建物費用など) は低くなります。従って顧客に転嫁されるコストも少額です。
顧客は自分達に必要なサービスを得ることができ、実際の使用量に対してのみ料金を支払います。彼らの Web サイトへの訪問者が平日の 5 日間は大量であっても週末はほとんどいないのであれば、彼らの支払いのほとんどは、平日に必要とする (そして使用する) 容量が対象になります。
レイヤー
クラウド・コンピューティングには、レイヤーとして認識されているサービスがいくつかあります。ベンダーが提供するサービスや動作モデルはレイヤーによって非常に異なります。一部のベンダーは巨大なデータ・センターの構築や管理を専門に行い、他のベンダーはユーザー・フレンドリーで機能が豊富なアプリケーションの構築を専門に行います。こうしたレイヤーを下から上に列記すると、インフラ、ストレージ、プラットフォーム、アプリケーション、サービス、そしてクライアントとなります。
- インフラ・レイヤー
- 最下層にはサービスのインフラ、つまりプラットフォームの仮想化レイヤーがあります。ユーザーは、そのユーザーにとって必要な種類のサーバー環境を得ることができます。インフラ・レイヤーはユーザーに提供される基本サービスであり、顧客は相変わらずサーバーやすべてのソフトウェアのインストールと保守を自分達で行う必要があります。
クラウド・コンピューティングのインフラは従来のホスティング・サービスとは異なり、スケーラビリティーがあるため使用量に応じた課金が行われます。新興企業であれば、スケーラビリティーがあることや、サービスを使用していない時間に対して支払う必要がない点が非常に魅力的かもしれません。この点は、Web アプリケーションのトラフィックを増やそうとしているものの、いつ頃どの程度まで増やすことができるかわからない場合に特に便利です。
- ストレージ・レイヤー
- ストレージ・レイヤーには、データベースまたはデータベースと同様のものがあり、毎月ギガバイト単位で料金を支払います。ストレージ・レイヤーには何か新しいものや特別なものがあるわけではありませんが、サービスはひととおり完全なものが用意されています。
ストレージを実現する方法はいくつかあります。一部は従来のリレーショナル・データベースであり、また一部は Google の Bigtable や Amazon の SimpleDB などの独自ソリューションです。
- プラットフォーム・レイヤー
- プラットフォーム・レイヤーには、Ruby on Rails、LAMP、Python Django などのソリューション・スタックがあります。ここから話が面白くなります。先ほど例に挙げた架空の新興企業は、サーバー・ソフトウェアをインストールする作業やバージョンを最新に保つ作業をする必要がありません。そうした作業はサービスに付随して提供されるからです。そのため彼らはアプリケーションの開発とマーケティングに集中することができます。
- アプリケーション・レイヤー
- アプリケーション・レイヤーには、サービスとして提供されるアプリケーションが含まれます。最も有名な例はおそらく Salesforce.com と Google Docs ですが、サービスとして購入できる (本物の) アプリケーションは、何千とは言わないまでも何百もあります。
Facebook や Flickr、LinkedIn といった人気の Web アプリケーションはクラウド・サービスです。こうしたケースの場合、顧客はおそらく、アプリケーションがスケーラブルなデータ・センターで実行されているのか、通常のホスティング・サービスで実行されているのか、それともサービス・プロバイダーの地下室で実行されているのかを知りません。しかしそれは、アプリケーションを使用する顧客にとっては関心があることでもなければ問題でもありません。このレイヤーはクラウド・コンピューティングでおそらく最も目に見えやすい部分です。このレイヤーでは、顧客にもわかるクラウド・コンピューティングのメリットが強調されます。
- サービス・レイヤー
- サービス・レイヤーには、ネットワークを介してマシン間でやり取りされる動作が含まれます。このレイヤーの例として最も一般的なものは、さまざまな Web サービスです。他にも、Paypal などの支払いシステム、Google マップや Yahoo!地図などの地図サービスがあります。
- クライアント・レイヤー
- スタックの最上部にはクライアント・レイヤーがあり、この中にはクラウド・システムのユーザーが含まれます。クライアントの例としては、デスクトップ・ユーザー (シン・クライアントまたはシック・クライアント) やモバイル・ユーザー (Symbian、Android、iPhone) などがあります。
これを見るとわかるように、ベンダーが既存のサービスや新たなサービスを提供する可能性、そして顧客が自分達の問題を解決するサービスやアプリケーションを見つけられる可能性は膨大です。しかし、顧客はいくつかのリスクを理解する必要があります。
リスク
クラウド・ベースのサービスにサインアップする前に、いくつかの点を考慮する必要があります。以下に挙げるリスクを致命的な問題、あるいはきわめて重要な問題とみなす必要はありませんが、判断を下す際に認識しておかなければならない問題として捉える必要があります。ニーズに照らしてクラウド・ベースのサービスが適切なのかどうか、また利用可能なサービスのうち適切なものはどれかを十分に分析する必要があります。
- ベンダー・ロックイン
- サービスからデータを容易に取り出せることを確認する必要があります。インフラ・サービスを使用している場合には、ファイルやデータのバックアップは比較的容易なはずです。Web アプリケーションを使用している場合には、別のベンダーへの切り換えが必要になった場合に備えて、すべてのデータを取得するための計画を立てておく必要があります。
何らかの方法でデータを見ることができるのであれば、必ずしもすべてのデータを新しいアプリケーションに移行する必要はありません。例えば、時間追跡アプリケーションの場合、これまで使用していたアプリケーションのデータを表示する手段があるなら、そのデータのすべてを新しいアプリケーションに移行する必要はありません。
- 信頼性
- サービス・プロバイダーで何らかの問題 (例えばサーバーのダウンなど) が起きると、顧客はどうすることもできません。そうした状況に備えるためには、ミラー・サイトを提供するプロバイダーを選択するのが賢明です。ただし場合によると、それでも不十分な場合があります。たとえ大きなベンダーでも問題が起きる可能性はあります。
- データのセキュリティー
- これは必ずしもリスクではありません。セキュリティーに関する対応や専門知識は、小さな新興企業よりもベンダーの方がはるかに優れたものを持っているかもしれません。
考慮すべき問題点は、誰がデータを見ることができるのか、それに対するベンダーのポリシーは何か、という点です。例えば、競合企業に見せてはならない機密データの場合には、それに対するベンダーのポリシーをチェックする必要があります。
- 事業からの撤退
- ベンダーがサービスの提供を停止する状況に追い込まれた場合にデータやアプリケーションがどうなるのかを調べる必要があります。こうした負の側面は販促資料にもほとんど書かれていないかもしれません。データのエクスポートが容易であれば、ベンダーがサービスを停止する可能性があっても、それほどの危険はありません。ただしビジネスの要求に合った適切な新しいアプリケーション (またはベンダー) を見つける必要があるという問題に直面することは同じです。
まとめ
今回の記事では、クラウド・コンピューティングに固有の特質や、重要な特徴、さまざまなレイヤー、そして評価しておくとよいリスクのいくつかを学びました。平均的な顧客にとってクラウド・コンピューティングとは、必要なサービスを得ることができ、使用量に応じて料金を支払えばよいということを意味します。クラウド・コンピューティングには、スケーラビリティー、必要に応じたリソース割り当て、スケールメリットなど、さまざまな特徴があります。クラウド・コンピューティングのスタックにはインフラ・レイヤーからクライアント・レイヤーまで 6 つのレイヤーがあります。ベンダーは、こうした 1 つまたは複数のレイヤーで、さまざまなサービスを運営、提供します。この記事ではまた、顧客や将来のベンダーが考慮する必要のあるリスクについても学びました。
クラウド・コンピューティングは、いつか始まるかもしれない単なるトレンドではありません。クラウド・コンピューティングは現実のものであり、通常の Web ユーザーは、気づいていようが気づいていまいが、日常的にクラウド・サービスを利用しています。近い将来、企業のサービスやアプリケーションがクラウドへと移行する傾向がおそらく一層顕著になるでしょう。当然ながら、一部のアプリケーションは企業が自ら所有するサーバーで実行する必要がありますが、企業アプリケーションの大部分はクラウド・コンピューティングに適しているはずです。
参考文献 学ぶために
製品や技術を入手するために
議論するために
著者について  | |  | Mikko Kontio はソフトウェア開発とコンサルティングを経験してきています。彼は現在、ビジネス・ポータルと通信用課金ソリューションを中心にソフトウェア開発を行う企業である Softera の Director です。 |
記事の評価
|