クラウドコンピューティング
クラウドコンピューティングとは、コンピューティングサービスを利用する場所以外の企業や場所で提供することです。ユーザーは、送られてきた電気を使うだけで、電気がどこから送られてきたのか、どのように作られ、どのように運ばれてきたのかを気にする必要はありません。毎月の支払いは使用した分だけで、それ以上の支払いはありません。クラウドコンピューティングの考え方も似ていて、ユーザーは裏でどのように動いているのかを気にすることなく、ストレージや計算能力、開発環境を利用するだけでいいのです。
クラウドは、コンピュータ・ネットワーク図でどのように記述されているかに基づいて、インターネットのメタファーとなっています。現実世界では雲が空の一部を隠すように、コンピューティングにおけるクラウドは、インターネットを機能させる複雑なインフラストラクチャを隠しています。これは、IT関連のアクションが「サービスとして」提供され、ユーザーがインターネットを通じて(「クラウド上で」)これらのサービスにアクセスできるようにするコンピューティングの一種です。ユーザーは、その背後にある技術を知っていたり、コントロールしたりする必要がないため、倫理的、法的問題に直面することを防ぐことができます。
IEEEによると、クラウドコンピューティングとは、情報をサーバー上に置き、インターネットを介してコンピュータ、ラップトップ、ハンドヘルド、センサーなどの他のデバイスに送信する概念である。これには、Web 2.0のように、インターネットに依存してユーザーのニーズを満たすソフトウェアをサービス(SaaS)として提供するという考え方も含まれている。例えば、Googleは、Webブラウザからアクセスするオフィススイートアプリをいくつか作っています。Microsoft Officeなど、同じ作業を行う他のソフトウェアとは異なり、ソフトウェアやデータは使用するマシンではなく、Googleのサーバーに保存される。
簡潔に
比較
クラウドコンピューティングは、他の考え方と混同されがちです。
- グリッドコンピューティング: 分散コンピューティングの一形態で、「スーパーコンピュータ」と「バーチャルコンピュータ」がネットワークで疎結合されたコンピュータのクラスタで構成され、非常に大きなタスクを実行するために連携しています。
- ユーティリティコンピューティング:計算やストレージなどのコンピューティングリソースのパッケージは、電気などの伝統的な公益事業と同様に支払わなければならない測定サービスとして提供されています。
- 自律神経コンピューティング:自己管理が可能なコンピュータシステム。
クラウド・コンピューティングはしばしばグリッド・コンピューティングを使用し、自律的な特性を持ち、ユーティリティーのように課金されますが、クラウド・コンピューティングはグリッド・ユーティリティー・モデルからの自然な次のステップと見ることができます。成功しているクラウド・アーキテクチャの中には、BitTorrentやSkypeなどのピアツーピア・ネットワークを含む中央集権型インフラストラクチャや課金システムをほとんど、あるいは全く持たないものもあります。
建築
現在、クラウドコンピューティングのインフラの大部分は、コンピュータとストレージの仮想化技術をベースに構築されたデータセンターを通じて提供される信頼性の高いサービスで構成されています。サービスは世界中どこからでもアクセス可能で、クラウドは消費者のあらゆるコンピューティングニーズに対応する単一のアクセスポイントとして登場しています。商用サービスは、顧客のサービス品質の要件を満たす必要があり、一般的にはサービスレベル契約を提供しています。また、オープンスタンダードとオープンソースのソフトウェアも、クラウドコンピューティングの成長には欠かせません。
特徴
一般的に顧客はインフラを所有しておらず、インフラの詳細をすべて把握しているわけではないため、主にアクセスやレンタルをしていることになります。多くのクラウド・コンピューティング・プロバイダーは、電気などの伝統的な公共事業の消費方法に似たユーティリティ・コンピューティング・モデルを採用していますが、他のプロバイダーはサブスクリプション・ベースで課金されます。複数の「テナント」間で消耗品や「無形」のコンピューティングパワーを共有することで、(サーバーをアイドル状態にしないため)利用率を向上させることができ、コストを大幅に削減しながらアプリケーション開発のスピードを上げることができます。
このアプローチの副次的な効果としては、お客様がピーク時の負荷に対応した設計をする必要がないため、「コンピュータの容量が飛躍的に増加する」ということが挙げられます。また、「高速帯域幅の拡大」により、他拠点に集中したインフラからも同じ応答時間が得られるようになったことで、導入が可能になりました。
プロバイダー
クラウドコンピューティングは、Google、Amazon.com、Yahoo!などのプロバイダーや、IBM、Intel、Microsoft、SAPなどの伝統的なベンダーによって推進されています。個人でも大企業でも、あらゆる種類のユーザーが採用することができます。現在、ほとんどのインターネットユーザーは、意識していなくてもクラウドサービスを利用しています。例えば、Webメール、FacebookやWikipedia、連絡先リストの同期やオンラインデータのバックアップなどもクラウドサービスです。
歴史
クラウドはインターネット、より一般的には他人が管理するコンポーネントやサービスのメタファーです。
その根底にある概念は、1960年にジョン・マッカーシーが「計算はいつか公共事業として組織化されるかもしれない」という意見を表明したことにさかのぼり、クラウドという言葉は1990年代初頭にはすでに大規模なATMネットワークを指す言葉として商業的に使用されていました。21世紀に入る頃には、クラウドコンピューティングのソリューションが市場に登場し始めていましたが、この頃の焦点はサービスとしてのソフトウェアにありました。
Amazon.com は、ドットコムバブル後にデータセンターをアップグレードし、2002 年に Amazon Web Services を通じてユーティ リティコンピューティングベースでシステムへのアクセスを提供した際に、クラウドコンピューティングの発展に重要な役割を果たしました。彼らは、新しいクラウド・アーキテクチャが社内の効率性を大幅に向上させることを発見しました。
2007年には、GoogleやIBM、多くの大学が大規模なクラウドコンピューティングの研究プロジェクトを開始するなど、活発な動きが見られた。2008年半ばには話題となり、多数のクラウドコンピューティングのイベントが予定されていました。
2008年8月、ガートナーは、「組織は、会社が所有するハードウェアとソフトウェアの資産を、使用量に応じたサービスベースのモデルに切り替えつつある」とし、「クラウドコンピューティングへの移行が予測され、IT製品は、一部の分野では劇的に成長し、他の分野では大幅に削減されるだろう」と指摘しています。
政治問題
クラウドは多くの国の国境を越えており、「グローバル化の究極の形かもしれません」。そのため、プロバイダはグローバル市場にサービスを提供するために多くの法的制限を満たさなければならず、複雑な地政学的問題の対象となっています。これはインターネットの初期の頃にさかのぼりますが、リバタリアンの思想家たちは「サイバースペースは独自の法律と法制度を必要とする明確な場所である」と感じていました。作家のニール・ステファンソンは、SFの古典的な小説「クリプトノミコン」の中で、これを小さな島のデータ天国として想定していました。
法環境に合わせた取り組み(US-EUセーフハーバーなど)はあるものの、Amazon Web Servicesのようなプロバイダーは、通常、ローカルインフラを展開し、顧客が国を選択できるようにすることで、国際市場(典型的には米国や欧州連合)に対応しています。しかし、様々な政府レベル(例えば、米国特許法や国家安全保障書簡の使用、電子通信プライバシー法(Electronic Communications Privacy Act)のタイトルII、ストアド・コミュニケーション法など)を通じて、個人のセキュリティやプライバシーに関する懸念が残っています。
法律上の問題
2007 年 3 月、Dell は米国で「クラウドコンピューティング」という用語の商標登録を申請しました。2008年7月に「Notice of Allowance」を受領しましたが、その後8月6日に取り消され、1週間も経たないうちに正式に拒絶されました。
2007年11月、フリーソフトウェアファウンデーションはAffero一般公衆ライセンス(Affero GPLとAGPLと略されます)をリリースしました。これはGPLv3のバージョンで、ネットワーク上で実行されるように設計された自由ソフトウェア、特にサービスとしてのソフトウェアに関連する認識されていた法的な抜け穴を閉じるように設計されています。AGPLライセンスによれば、アプリケーションサービスプロバイダは、AGPLオープンソースコードに加えた変更をリリースすることが要求されます。
建築
クラウドアーキテクチャとは、クラウドコンピューティングの提供に関わるソフトウェアシステム(ハードウェア、ソフトウェアなど)のシステムアーキテクチャのことで、一般的にクラウドインテグレータに勤務するクラウドアーキテクトが設計したものです。一般的には、複数のクラウドコンポーネントが、アプリケーション・プログラミング・インターフェース(通常はウェブサービス)を介して相互に通信します。
これは、複数のプログラムが一つのことをうまくこなし、普遍的なインタフェースを介して一緒に作業するというUnixの哲学に非常によく似ています。複雑さは制御され、結果として得られるシステムはモノリシックなものよりも管理しやすいものになります。
クラウド・アーキテクチャは、Webブラウザやソフトウェア・アプリケーションがクラウド・アプリケーションにアクセスするために使用されるクライアントにまで及んでいます。
クラウド・ストレージ・アーキテクチャは、メタデータ操作が集中管理されているため、データ・ノードが数百にまでスケールアップし、それぞれが独立してアプリケーションやユーザーにデータを配信することができます。
主な特徴
- 資本支出は最小限に抑えられているため、インフラはプロバイダーが所有しており、1回限りの集中的なコンピューティング作業や頻度の低い作業のために購入する必要がないため、参入障壁が低くなっています。サービスは一般的に、小売消費者や中小企業をターゲットにしています。
- デバイスと場所に依存しないため、ユーザーは場所や使用しているデバイスに関係なくシステムにアクセスすることができます(PC、モバイル、...など)。
- マルチテナンシーは、大規模なユーザープールの間でリソース(およびコスト)を共有することを可能にし、それを可能にします。
- コストの低い地域へのインフラの集中化(不動産、電気代など
- ピーク負荷容量の増加(ユーザーは可能な限り最高負荷レベルのエンジニアは必要ありません
- 10~20%しか利用されていないことが多いシステムの利用と効率化。
- パフォーマンスは監視され、一貫性がありますが、帯域幅が不足していたり、ネットワークの負荷が高かったりすると影響を受けることがあります。
- 複数のサイトを冗長化することで信頼性を高め、事業継続やディザスタリカバリに適していますが、障害が発生した場合、IT担当者や経営者はほとんど何もできません。クラウドの障害に関する過去のデータは、クラウド・コンピューティング・インシデント・データベースに記録されています。
- ピーク時の負荷に対応するためにエンジニアを必要とせず、変化するユーザーの需要に迅速に対応するスケーラビリティ。大規模なスケーラビリティと大規模なユーザーベースは一般的ですが、絶対的な要件ではありません。
- データの集中化、セキュリティに特化したリソースの増加などにより、一般的にはセキュリティが向上するが、特定の機密データに対する制御の喪失が懸念される。アクセスは通常ログに記録されますが、監査ログにアクセスすること自体が困難であったり、不可能であったりします。
- 資源利用の改善、より効率的なシステム、カーボンニュートラルを通じた持続可能性。
構成要素
アプリケーション
クラウドアプリケーションは、ソフトウェアアーキテクチャのクラウドモデルに影響を与え、多くの場合、顧客自身のコンピュータにアプリケーションをインストールして実行する必要性を排除し、ソフトウェアのメンテナンス、継続的な運用、およびサポートを削減します。例えば
- ピアツーピア/ボランティア コンピューティング(Bittorrent、SETI@home、Skype
- ウェブアプリケーション(Facebook
- サービスとしてのソフトウェア(Google Apps、Salesforce
- ソフトウェアプラスサービス(マイクロソフトオンラインサービス
クライアント
クラウドクライアントとは、アプリケーションの配信をクラウドに依存しているコンピュータハードウェアおよび/またはコンピュータソフトウェアのことで、クラウドサービスの配信のために特別に設計されたもので、いずれの場合もクラウドがなければ本質的には意味がありません。例えば、以下のようなものです。
- モバイル(Android、iPhone、Windows Mobile
- シンクライアント(CherryPal、Zonbu gOSベースのシステム
- 厚いクライアント/Webブラウザ(Google Chrome,Mozilla Firefox)
インフラストラクチャー
クラウドインフラ(Infrastructure as a serviceなど)とは、コンピュータのインフラ(典型的にはプラットフォームの仮想化環境)をサービスとして提供することです。例えば
- 完全仮想化(GoGrid、Skytap
- グリッドコンピューティング(Sun Grid
- マネジメント(RightScale
- 準仮想化(Amazon Elastic Compute Cloud
プラットフォーム
クラウドプラットフォーム(例:Platform as a service)(コンピューティングプラットフォームおよび/またはソリューションスタックをサービスとして提供すること)は、基盤となるハードウェアおよびソフトウェア層を購入して管理するコストや複雑さを伴わずに、アプリケーションの展開を容易にします。例えば、以下のようなものです。
- ウェブアプリケーションフレームワーク
- Python Django (Google App Engine)
- Ruby on Rails (Heroku)
- ウェブホスティング(モッソ
- プロプライエタリ(Azure、Force.com
サービス
クラウドサービス(例:ウェブサービス)とは、「ネットワークを介した相互運用可能なマシン間の相互作用をサポートするために設計されたソフトウェアシステム」であり、他のクラウドコンピューティングコンポーネント、ソフトウェア(例:ソフトウェアプラスサービス)、またはエンドユーザーが直接アクセスすることができます。例えば、以下のようなものがあります。
- アイデンティティ (OAuth, OpenID)
- 統合(Amazonシンプルキューサービス
- マッピング(Googleマップ、Yahoo!
- ペイメント(Amazonフレキシブルペイメントサービス、Google Checkout、PayPal
- 検索(Alexa、Googleカスタム検索、Yahoo!BOSS
- その他(Amazon Mechanical Turk
ストレージ
クラウドストレージは、サービス(データベースのようなサービスを含む)としてのデータストレージの提供であり、多くの場合、ユーティリティコンピューティングに基づいて課金されます(例:1ヶ月あたりのギガバイトあたり)。例えば、以下のようなものです。
- データベース(Amazon SimpleDB、Google App EngineのBigTableデータストア
- ネットワーク接続ストレージ(MobileMe iDiskコンポーネント、Nirvanix CloudNAS
- 同期化(Live Mesh Live Desktopコンポーネント、MobileMeプッシュ機能
- ウェブサービス(Amazon Simple Storage Service、Nirvanix SDN
従来のストレージ・ベンダーは最近、独自のクラウド・ストレージを提供し始めており、時には既存のソフトウェア製品(例:SymantecのOnline Storage for Backup Exec)と組み合わせて提供することもある。また、クラウドストレージを提供するために最適に設計された新種のバックエンドストレージ(EMCのAtmos)を提供することに力を入れているベンダーもあります。
役割
プロバイダ
クラウドコンピューティングプロバイダまたはクラウドコンピューティングサービスプロバイダは、クラウドコンピューティングシステムを所有し、他の誰かにサービスを提供して運営しています。通常、これには新しいデータセンターの建設と管理が必要となる。一部の組織では、「社内の」クラウド・プロバイダーになって自らサービスを提供することでクラウド・コンピューティングのメリットを享受していますが、同じような規模の経済性の恩恵を受けられず、ピーク時の負荷に対応したエンジニアリングを行う必要があることに変わりはありません。また、資本支出が必要となり、請求書の発行や管理などのオーバーヘッドが発生するため、参入障壁も大幅に高くなります。しかし、小規模な組織でも大幅な業務効率化と迅速化のメリットを得ることができ、サーバーの統合や仮想化のロールアウトはすでに進んでいます。Amazon.com は、そのようなプロバイダーの最初の例であり、データセンターの近代化を行いました。これにより、小規模で動きの速いグループがより速く簡単に新機能を追加できるようになり、2002年にはAmazon Web Servicesとしてユーティリティ・コンピューティングをベースに外部の人にも開放しました。
コンポーネントに掲載されている企業は、プロバイダーです。
ユーザー
ユーザーはクラウドコンピューティングの消費者である。クラウドコンピューティングにおける利用者のプライバシーは、ますます懸念されるようになってきています。利用者の権利も問題となっており、コミュニティの努力で権利法案を作成することで対応しています(現在は草案中)。
ベンダー
ベンダーは、クラウドコンピューティングの提供、採用、利用を容易にする製品やサービスを販売しています。例えば、以下のようなものです。
- コンピュータのハードウェア(Dell、HP、IBM、Sun Microsystems
- ストレージ(3PAR、EMC、MogileFS
- インフラ(ソレスシステム、レイヤ7テクノロジー、F5ネットワーク
- コンピュータソフトウェア(3tera、GigaSpaces、Hadoop
- オペレーティングシステム(Windows Azure、Linux、Solaris
- プラットフォーム仮想化(Citrix、Microsoft、VMware、Sun xVM
基準
クラウド標準とは、クラウドコンピューティングの成長を促進してきた既存の(一般的には軽量な)オープン標準の1つで、以下のようなものがあります。
- アプリケーション
- クライアント
- ブラウザ (AJAX)
- オフライン(HTML 5
- インフラストラクチャー
- 仮想化(OVF
- プラットフォーム
- ソリューションスタック(LAMP、スペースベースアーキテクチャ
- サービス
- データ(XML、JSON
- ウェブサービス(REST)
- ストレージ
質問と回答
Q:クラウドコンピューティングとは何ですか?
A:クラウドコンピューティングとは、コンピューティングサービスを使用する場所以外の会社や場所から提供されることです。電気を送るように、ユーザーはインターネットを通じてそのサービスにアクセスすることができます(「クラウドの中」)。
Q:クラウドコンピューティングはどのように機能するのですか?
A:ユーザーは、ストレージやコンピューティングパワー、開発環境などを、裏でどのように動いているかを気にすることなく、シンプルに利用することができます。クラウドは、インターネットを機能させる複雑なインフラを隠し、IT関連の行為を「サービスとして」提供することを可能にします。
Q:クラウドコンピューティングの例として、どのようなものがありますか?
A:クラウドコンピューティングの例としては、ウェブブラウザからアクセスするGoogleのオフィススイートアプリが挙げられます。Microsoft Officeなど、同じ作業を行う他のソフトウェアとは異なり、ソフトウェアとデータは、それらが使用されるマシン上ではなく、Googleのサーバーに保存されています。
Q:IEEEはクラウドコンピューティングについてどう言っているのか?
A:IEEEによれば、クラウドコンピューティングとは、情報をサーバーに置き、インターネットを通じて、コンピューター、ノートパソコン、ハンドヘルド、センサーなどの他のデバイスに送るという概念です。ユーザーのニーズを満たすためにインターネットに依存するWeb 2.0などのSaaS(Software as a Service)を持つことも含まれます。
Q:クラウドサービスの利用に関して、ユーザーが知る必要のないこと、コントロールする必要のないことは何ですか?
A:倫理的・法的な問題を回避するために、クラウドサービスを利用するための技術をユーザーが知る必要はありませんし、コントロールする必要もありません。
Q:電気代とクラウドサービスを比較するとどうなるのでしょうか?
A:毎月の電気代が、使った分だけしかかからないのと同じように、クラウドサービスも、使った分だけしかかかりません。