クラウド・コンピューティングのサービス・モデル: 第 1 回、Infrastructure as a Service

IaaS (Infrastructure as a Service) の主要な概念について学んでください。IaaS は仮想サーバー、データ・ストレージ、そしてデータベースなどの基本的なサービスを 1 つにまとめ、アプリケーションをデプロイして実行するためのプラットフォームを提供します。

この全 3 回の連載では、クラウド・コンピューティングの概念にまつわる混乱がなくなるように、クラウド・コンピューティングを実際に使用する際に関係してくるさまざまな事項をわかりやすい例として取り上げます。そして、連載の記事ごとにクラウド・コンピューティングの 3 つのサービス・モデルである、IaaS、PaaS (Platform as a Service)、SaaS (Software as a Service) のそれぞれに話題を絞って説明します。連載を読み終える頃には、クラウド・コンピューティングは単なる流行語ではなくなっているはずです。

Dan Orlando, CEO, Creative RIA

Photo of Dan OrlandoDan Orlando は、エンタープライズ開発コミュニティーでリーダーとして広く認められています。経験豊かなコンサルタントとして、彼の Adobe 技術プラットフォームに関する専門知識は、業界のリーダーだけでなく、IBM developerWorks や Adobe Developer Connection などの出版物、そして Amazon Web Services からも度々必要とされています。DanOrlando.com でも、定期的にブログを投稿しています。



2011年 12月 02日

今回の記事では、クラウドの 3 種類のタイプのうち、IaaS (Infrastructure as a Service) を取り上げます。IaaS には、以下の主要な概念があります。

  • クラウド・バースティング
  • マルチテナント・コンピューティング
  • リソース・プーリング
  • ハイパーバイザー

よく使われる頭文字語

  • API: Application Programming Interface
  • IT: Information Technology
  • ROI: Return On Investment
  • SLA: Service Level Agreement
  • UI: User Interface

最も重要なこととして、IaaS を特別なものにしている 2 つの主要なファセット、弾力性および仮想化について学んでください。

IaaS の価値

企業にとって IaaS の最大の価値は、クラウド・バースティングとして知られる概念からもたらされます。クラウド・バースティングとは、コンピューティング・リソースの需要が最も高くなっている間、クラウドにタスクを割り振って処理させるプロセスのことです。クラウド・バースティングによって実現される投下資本の節減効果には、非常に大きな可能性があります。例えば、普段は 7% から 10% の負荷で稼働していて 1 年に 2 度か 3 度だけ 70 % の負荷で稼働するようなサーバーが必要になる場合でも、クラウド・バースティングのおかげでこのようなサーバーを増設するための投資が必要なくなるからです

ただし、企業が IaaS を利用してこのような負荷に対処するには、プロセスを IaaS クラウドへ割り振り直すためのソフトウェアを IT 部門が作成して、実装する必要があります。このようなプロセスの再割り振りを管理するためのソフトウェアを作成および実装するには、4 つの重要な考慮事項があります。

  • 特定のベンダーの専有 IaaS クラウドを対象に開発すると、そのベンダーが廃業に追い込まれた場合、そのベンダー向けに行った開発は大きな代償を伴う過ちであったことがわかります。
  • 十分な考慮がなされたリソース割り振り用ソフトウェアは非常に複雑で、通常は人件費のかかる一流の開発者を手配しなければなりません。見つけられる限り最高のリソースを確保するために前もって予算を組んでおくことで、自分にとっても組織にとっても時間の節約、想定外の費用の節約、そしてフラストレーションを減らすことにつながります。
  • クラウドに何を送って処理するのかを考えてください。個人の身元情報や、企業の財務情報、あるいは医療記録などのデータを送信すると、米国 SOX 法 (U.S. Sarbanes-Oxley Act: 米国サーベンス・オクスリー法)、PCI DSS (Payment Card Industry Data Security Standard: クレジット・カード業界データ・セキュリティー基準)、HIPAA (Health Insurance Portability and Accountability Act: 医療保険の相互運用性と説明責任に関する法律) に関する組織のコンプライアンスが危険にさらされます。
  • 日常の業務にとって重要なプロセスをクラウドに引き渡す場合の危険性を理解してください。クラウドに割り振るプロセスを決める上で有効な方法としては、まず表を作成し、コンプライアンスに関係する重要なデータを扱うプロセスを 1 列目にまとめ、ビジネスに関係する重要なタスクを行うプロセスを 2 列目にまとめ、それほど重要ではないタスクを行うプロセスを 3 列目にまとめます。そして、3 列目に記載された項目をソフトウェアによって最初から IaaS クラウドへ割り振るように計画します。

上記の考慮事項に加え、組織はベンダー・ロックインという観点でクラウド・コンピューティング市場の現状に注意を払う必要があります。仮想マシン (VM) をデータ・センターからクラウドに移したり、ベンダーのクラウド間で移したりできると、その VM は企業にとって資産となりますが、VM を移せるようにするには、標準化されたファイル・フォーマットをベンダーが決めなければなりません。けれども、これまでベンダーは標準ファイル・フォーマットを決めることに対して消極的でした。

現在のところ、公開された仕様もなければ、標準化団体の権限の下で規定された仕様もないのが実情です。つまり、現状では真に標準化されたフォーマットはなく、VM を作成する際に使用したフォーマットがその後、他でもサポートされる保証はないため、事態は複雑になっています。ただし注目すべき点として、新しいフォーマットの仕様が公開されている場合、あるいはフォーマットの仕様にアクセスできる場合には、仮想アプライアンスを別のフォーマットに移植できる可能性は大いにあります。さらに期待の持てる話として、最近では、標準フォーマットの有力候補である OVF (Open Virtualization Format) のサポートで大きな進展が見られています。また、VMDK (Virtual Machine DisK) フォーマットも標準の有力候補です。VMDK は当初、VMware 独自のフォーマットでしたが、現在その仕様は公開されており、多くのサード・パーティーによってサポートされています。


資産としてのインフラストラクチャー

クラウド・コンピューティングの進化を説明する例として、自動車産業における過去 50 年間の進化の過程を考えてください。1960年代から 1970年代にかけて、自動車メーカーの競争上の優位はほとんどの場合、そのメーカーの自動車が実現可能な純然たる馬力とトルクだけを基準に勝ち取られてきました。しかし 1980年代になると、このパラダイムは市場および環境には好ましくことがわかり、「資産としてのインフラストラクチャー (Infrastructure as an Asset)」から「サービスとしてのインフラストラクチャー (Infrastructure as a Service)」へとパラダイムがシフトする結果となりました。

同じように、過去 50 年間に成功を収めた大多数の企業では、競合他社よりも大規模で高速かつ強力なネットワークを作成して優位に立とうと、大量の貴重な時間とリソースをインフラストラクチャーの構築に費やしてきました。IT における「資産としてのインフラストラクチャー」のパラダイムには、60年代と 70年代のマッスルカーに見られたのとまったく同じ、あるいは似通った非効率性と好ましくない特性があります。エンタープライズ・コンピューティングに関して言えば、そうした非効率性には以下に挙げるものが含まれます。

  • 大規模で費用のかかるデータ・センター内でハードウェアが占有する大きな空間にはそれなりのコストが伴うにも関わらず、その処理能力および容量の大半は使用されません。
  • 多大な人件費が必要です。例えば、インフラストラクチャーの資産 (サーバー、ルーター、スイッチなど) が収容されたデータ・センターにネットワーク管理者を配備して、24 時間体制で監視を行わなければなりません。
  • エネルギーの浪費レベルが高いことから、グリーン・コンピューティング・イニシアチブに対する大きな障壁が生まれます。

クラウド・コンピューティングの 3 つのタイプを理解するのに役立つように、参考として概念比較表を作成しました (表 1 を参照)。パラダイムとは、大多数のユーザーが従うモデルのことです。前述のとおり、IaaS は資産としてのインフラストラクチャーから、サービスとして提供されるインフラストラクチャーへのパラダイム・シフトを遂げています。表 1 に記載されている他の 2 つタイプのクラウド・コンピューティングでも、パラダイム・シフトが示されています。Platform as a Service (PaaS) の場合、それは、ライセンスを大量に購入するという、資産としてのプラットフォームからのパラダイム・シフトです。同じことは、Software as a Service (SaaS) についても言えます。ソフトウェアはライセンスという形態で組織の資産となっていましたが、サービスとして提供されるソフトウェアというパラダイムに切り替わっています。PaaS と SaaS についての詳細は、連載の第 2 回、第 3 回で説明します。

表 1. クラウド・コンピューティングの 3 つのタイプの概念比較表
パラダイム・シフト特徴鍵となる用語利点欠点およびリスク使用すべきでない場合
IaaS資産としてのインフラストラクチャー通常はプラットフォームに依存しません。インフラストラクチャーにかかるコストは共同で負担されることから、コストが削減される結果となります。その他、SLA、従量課金制、自動スケーリングという特徴があります。グリッド・コンピューティング、ユーティリティー・コンピューティング、コンピューティング・インスタンス、ハイパーバイザー、クラウド・バースティング、マルチテナント・コンピューティング、リソース・プーリングハードウェアおよび人的リソースへの資本支出が不要になります。ROI リスクの軽減、参入障壁の低さ、効率化された自動スケーリングという利点もあります。ビジネスの効率性と生産性は、ベンダーの能力に大きく依存します。長期的な支出が大きくなる可能性があります。一元化には新しい、あるいは異なるセキュリティー対策が必要です。資本予算が運用資産を上回る場合
PaaSライセンス購入クラウド・インフラストラクチャーを使用します。アジャイルなプロジェクト管理手法の必要に応えます。ソリューション・スタックバージョン・デプロイメントの効率化一元化には新しい、あるいは異なるセキュリティー対策が必要です。該当なし
SaaS資産としてのソフトウェア (企業およびコンシューマー)SLA。シン・クライアント・アプリケーションで駆動する UI。クラウドのコンポーネント。API を介した通信。ステートレス。疎結合。モジュール式。セマンティック相互運用性。シン・クライアント。クライアント・サーバー型アプリケーション。ソフトウェアおよび開発リソースへの資本支出が不要になります。RIO リスクが軽減されます。更新は効率的に繰り返し行われます。データの一元化には新しい、あるいは今までとは異なるセキュリティー対策が必要です。該当なし

IaaS の主要なファセット

インターネットについては、世界にまたがる 1 つの大きな雲のようなもの (クラウド) と考えるよりも、いわば雷雲のような雲 (クラウド) がいくつも集まって構成されたシステムであると考えたほうが的確でしょう。この例えで言うと、気象系のなかでクラウド間の通信に相当するのは当然、稲妻であると言えます。この例えは、複数のクラウド同士が体系的に相互作用して 1 つの結果 (インターネット) を作り出すという意味で、より的確だと思います。

インターネットが 1 つのクラウドだけで構成されることは (少なくとも近い将来は) まずあり得ません。その理由は、クラウド・コンピューティングには標準がなく、企業はベンダー・ロックインという形で明らかに長期にわたる投資をしようとしているからです。そうは言っても、資本主義の精神における意識革新がなかったとしたら、クラウド・コンピューティングは現在のレベルにまで進歩していなかったはずです。いつの日か、本当にインターネットが 1 つの相互接続されたクラウドとなるかもしれません。そうなれば、ファイル・フォーマットを気にせず容易に VM をクラウドに移し、あらゆるサービス・プロバイダーが 1 つの共通のインターフェースを使用して、相互接続された VM のクラスターを管理できるようになりますが、その日を迎えるまでにはまだ遠い道のりがあります。それまでは、私たちはインターネットが数多くのクラウドで構成されているものとして話すことになります (あいにく私は、さまざまな機器を利用してこの記事に関する作業をできるようにするために、この記事を保管する場所として Apple MobileMe クラウドを利用しています)。

弾力性を備えたインフラストラクチャーの紹介

弾力性 (Elasticity) は、IaaS にとって最も重要なファセットです。弾力性の概念を説明するために、皆さんにはこれから少しの間、想像力を働かせてもらうようお願いします。例えば、雲 (クラウド) が実際には複数のマシュマロが塊 (クラスター) となって構成されているとし、このマシュマロの塊 (クラスター) には、人々が座ったり、乗ったりすることができるとします。それぞれのマシュマロの雲 (クラウド) が持ちこたえられる人数は、その雲 (クラウド) を構成するマシュマロの塊 (クラスター) の数と、マシュマロの塊 (クラスター) がどれだけの数のマシュマロで構成されているかによって決まります。マシュマロの雲 (クラウド) に乗る人数が多くなった場合は、マシュマロの塊 (クラスター) にもっとマシュマロをくっつけて表面積を拡大し、マシュマロの塊 (クラスター) を大きく (拡張) することができます。もうお気付きかもしれませんが、マシュマロの雲 (クラウド) に乗る人々が表すのは、コンピューティング・リソースを必要とするアプリケーション (例えば、Web サイトをホストしてソフトウェア・サービスを実行するアプリケーションなど) です。マシュマロの雲 (クラウド) は VM からなるクラスターを表し、個々のマシュマロが VM を表します。

スース博士 (訳注: 世界の子供たちに人気の作品を生み出してきた、アメリカ人の絵本作家) の絵本に書かれているような話に思えたかもしれませんが、上記の例は、多くの人々が「闇の魔術」と見なしている「エラスティック・クラスタリング (Elastic Clustering)」という概念を理解する手立てとなります。物理サーバーをクラスタリングして仮想クラウドを形成するという概念は、「クラウド・クラスタリング (Cloud Clustering)」として知られています。これが本当に闇の魔術だとしたら、それを使いこなす腕は、設計されたシステムのスケーラビリティーで測られます。

では 1 つの例を見てみましょう。あなたは米国政府で働く統計調査員だとします。たった今、人手不足の政府から、最新の米国国勢調査で収集されたデータをまとめて編集するよう任されました。その任務として、議会が経済復興基金と税金の割り当てに関する重要な決定を下せるように、今から 3 日以内に必要な統計データをまとめあげなければなりません。言うまでもなく、これはかなり重要な仕事であり、しかも時間は差し迫っています。その上、処理しなければならないデータは天文学的な量で、これだけのデータをまとめて編集するために必要なコンピューティング・リソースは、IT 部門が準備すると 3 週間を要すると知らされたところです。

IaaS を使用すると、まさにこのような問題の状況を簡単に改善することができます。実際のところ、IaaS を使用すれば、米国国勢調査の全データの分析を 1 時間以内で完了することも不可能ではありません。それにはまず、データに対してクエリーを実行するデータベース・ソフトウェアが含まれるサーバーのインスタンスを 1 つ作成します。このインスタンスは、イメージと呼ばれます。

イメージをデプロイして、データベースにデータをインポートした後は、そのイメージを必要に応じて何度でも複製し、データ処理タスクの実行を始めることができます。タスクの実行中は、リソースの追加や削除を手動でも自動でも行うことができます。例えば、コンピューティング・タスクの実行速度が遅いとしたら、マシン・インスタンスをさらに複製してクラスターに追加するだけで速度を短縮することができます。

弾力性の概念を理解できたところで、今度は 2 番目に重要な IaaS のファセットである仮想化に目を向けます。

マシン仮想化

Google の共同設立者である Sergey Brin 氏と Larry Page氏は、1995年の当時、優れた発想を持っていました。その頃、二人は夜になるとスタンフォード大学のコンピューター・サイエンス校舎の裏で大型のごみ箱をあさり、見向きもされない x86 ベースのコンピューター部品を抜き出しては、これらの雑多なコンピューター部品を学生寮の部屋に持ち帰ってフランケンシュタインのようなコンピューターに継ぎ足していきました。そのコンピューターでホストしていたのが、スタンフォードのネットワーク全体を 1 度ならず、2 度も機能停止させるという面倒を引き起こした伝説の Web クローラーです。

現在、Google は異なる大陸にある 12 の主要なデータ・センターとそれよりも規模の小さい約 20 のデータ・センターに、合わせて 100 万台を超える x86 サーバーを設置している、と推定されています。このクラウドは、かなりの大きさです。1995年に学生寮の部屋の怪物をスケーラブルにしたのは、システム設計における 2 つの重要な要素ですが、それは現在の Google ネットワークを構成する 100 万台を超えるサーバーにも引き継がれています。その 1 つは、安価な x86 部品にあります。Google では、企業のデータ・センターの多くで使われているような高価なエンタープライズ・サーバー・コンポーネントではなく、今でも x86 部品を使用しています。もう 1 つは、仮想化システムです。フェイルオーバー、冗長性、監視、クラスタリングなどのインフラストラクチャーの管理タスクは、オペレーティング・システム・レベルの下で実行される仮想化システムで処理されます。これらのタスクを処理するための別個のハードウェア (ロード・バランサーなど) は使用されていません。

IaaS は、通常はプラットフォームに依存しないことから、簡単に配置することができます。IaaS を構成するのはハードウェア・リソースとソフトウェア・リソースの組み合わせです。IaaS ソフトウェアは、オペレーティング・システムとは独立して実行される下位レベルのコード (ハイパーバイザーと呼ばれます) であり、その役割は、ハードウェア・リソースのインベントリーを調べ、需要に応じて指定のリソースを割り振ることです (図 1 を参照)。このプロセスは、「リソース・プーリング」と呼ばれます。ハイパーバイザーによるリソース・プーリングが仮想化を可能にし、仮想化がマルチテナント・コンピューティングを可能にします。マルチテナント・コンピューティングという概念は、セキュリティー要件やコンプライアンスの考慮事項に関して同じような関心を持つ複数の組織によって共有されるインフラストラクチャーを指します。

図 1. VM、ハイパーバイザー、コンピューターの相互関係
VM、ハイパーバイザー、コンピューターの相互関係を示す図

IaaS では、CPU、ストレージ、ネットワーク、そしてその他のコンピューティング・リソースを自分でプロビジョニングし、そのインフラストラクチャーでオペレーティング・システムやアプリケーションなど、任意のソフトウェアをデプロイして実行することができます。皆さんがクラウド・コンピューティングを使用するほとんどの場合、その構造は皆さんがすでに使い慣れている基本的な階層構造に従っています。つまり、ソフトウェア・ソリューション・スタック (プラットフォーム) がネットワーク・インフラストラクチャーにデプロイされ、そのプラットフォームをベースにアプリケーションが実行されるという構造です。ただし、仮想化がそのクラウド・パラダイムを独特なものにしています。


まとめ

この記事では、クラウド・コンピューティングのさまざまな基本的性質、IaaS の構造、そして実際の状況で IaaS をどのように利用できるかを説明しました。この連載の第 2 回では、クラウド・コンピューティングの 2 つ目のタイプ、PaaS について詳しく探ります。次回の記事までは、「参考文献」セクションに記載されているリンクで IaaS についてさらに詳細を調べてください。

参考文献

学ぶために

製品や技術を入手するために

  • ElasticFox は、Amazon EC2 リソースを管理できるようにする Firefox の拡張機能です。
  • IBM Smart Business Development and Test on the IBM Cloud で使用できる製品イメージを調べてください。
  • Amazon Elastic Compute Cloud で使用できる製品イメージを調べてください。

議論するために

  • developerWorks コミュニティーに参加してください。ここでは他の developerWorks ユーザーとのつながりを持てる他、開発者が主導するブログ、フォーラム、グループ、ウィキを調べることができます。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Cloud computing
ArticleID=776854
ArticleTitle=クラウド・コンピューティングのサービス・モデル: 第 1 回、Infrastructure as a Service
publish-date=12022011