クラウド・コンピューティングの基礎

従来とは異なる方法でコンピューター・リソースを提供する

革命を定義するなら、人々の考え方と行動を劇的かつ大幅に変えるものが革命です。その定義によれば、クラウド・コンピューティングはまさに革命です。クラウド・コンピューティングによって、コンピューター・アーキテクチャーのみならず、ソフトウェアやツールの開発に、そしてもちろん、私たちが情報を保存、配布、利用する方法に、根本的な変化が起こりつつあります。この記事の目的は、この革命の現実に読者が適応し、この革命を読者自身の利益と便宜のために利用できるようにすることです。

Grace Walker, IT Consultant, Walker Automated Services

イリノイ州シカゴにある Walker Automated Services の共同経営者である Grace Walker は、さまざまな経歴と幅広い経験を持つ IT コンサルタントです。IT 業界では、マネージャー、アドミニストレーター、プログラマー、インストラクター、ビジネス・アナリスト、テクニカル・アナリスト、システム・アナリスト、Web 開発者としての経歴を持ち、その分野は通信、教育、金融サービス、ソフトウェアなど多岐に渡ります。



2010年 12月 17日

ここ数年、IT (情報技術) にクラウド・コンピューティングという新たなパラダイムが登場しています。クラウド・コンピューティングは新しい技術ではなく、コンピューティング・リソースを提供するための従来とは異なる方法にすぎませんが、さまざまな組織による情報やサービスの提供方法に革命を引き起こしています。

IT という言葉が使われるようになった当初、IT を席巻していたのはメインフレームによるコンピューティングでした。この頑健な構成はやがて、クライアント・サーバー・モデルに取って代わられました。現在の IT は、次第にモバイル技術やパーベイシブ/ユビキタス・コンピューティングの、そしてもちろんクラウド・コンピューティングの、1 つの機能となりつつあります。しかしこの革命には (すべての革命がそうであるように) この革命が生じる元となった過去の要素が含まれています。

従ってクラウド・コンピューティングを適切にとらえるためには、本質的にクラウド・コンピューティングの DNA にはクラウド・コンピューティング以前のシステムの創造が刻まれていることを忘れてはなりません。多くの点で、この重大な変遷は、過去の完全なる終焉を示しているのではなく、過去が含まれる未来へと進むことを示していると言えます。クラウド・コンピューティングという新たな輝かしい世界では、従来システム (強力なメインフレームなど) の実証された実用性とクラウド技術との革新的なコラボレーションを実現できる可能性があります。このコンピューティングの方法に関する真の変化は、IT にかかわる人間にとって、その変化を統制して個人や組織に有利な形で活用することができる、非常に大きな機会です。

クラウド・コンピューティングとは何か

クラウド・コンピューティングは IT をサービスとして提供する包括的なソリューションです。クラウド・コンピューティングはインターネット・ベースのコンピューティング・ソリューションであり、電気が電力網によって供給されるように、共有リソースが提供されます。クラウドの中のコンピューターは協調動作するように構成されており、さまざまなアプリケーションが、あたかもそれらのアプリケーションが 1 つのシステム上で実行されているかのように、全体としてのコンピューティング能力を使用します。

クラウド・コンピューティングの柔軟性は、要求に応じてリソースが割り当てられることでもたらされます。要求に応じてリソースが割り当てられるということは、システムに蓄積されているリソースを使用することができ、特定のハードウェアを 1 つのタスクに割り当てる必要がないということです。クラウド・コンピューティングが登場する以前には、Web サイトやサーバー・ベースのアプリケーションは特定の 1 つのシステム上で実行されていました。クラウド・コンピューティングの登場により、集約された仮想コンピューターとしてリソースを使用することができます。この融合された構成により、具体的な構成を意識することなく、複数のアプリケーションが独立して実行される環境を実現することができます。

なぜクラウドへの移行を急ぐ必要があるのか

クラウド・コンピューティングというパラダイム・シフトには、ビジネス上および IT 上の重大かつもっともな理由があります。その理由としては、ソリューションとしてアウトソーシングする場合の基本的な理由が当てはまります。

  • コストの削減: クラウド・コンピューティングにより、必要な場合にのみリソースを取得し、使用した場合にのみ費用を支払えばよいため、設備投資費 (CapEx) と運用費 (OpEx) の両方を節約することができます。
  • 人員の有効活用: クラウド・コンピューティングを利用することによって、貴重な人員をハードウェアやソフトウェアの保守から解放し、価値の実現に集中させることができます。
  • 確実なスケーラビリティー: クラウド・コンピューティングにより、スケールアップであれ、スケールダウンであれ、即座にスケーリングを行うことができるため、スケーリングの作業に長時間拘束されることがありません。

クラウド・コンピューティングの構成要素

クラウド・コンピューティング・モデルはフロントエンドバックエンドで構成されています。この 2 つの要素はネットワークで接続されており、そのネットワークはほとんどの場合、インターネットです。フロントエンドはユーザーがシステムとやり取りするための媒体であり、バックエンドはクラウドそのものです。フロントエンドを構成するものは、クライアント・コンピューター、または企業のコンピューター・ネットワーク、そしてクラウドへのアクセスに使用されるアプリケーションです。バックエンドによって提供されるものには、クラウド・サービスを作り出すためのアプリケーション、コンピューター、サーバー、データ・ストレージがあります。

レイヤー: コモディティーとしてのコンピューティング

クラウドの概念はレイヤーの上に成り立っており、各レイヤーは異なるレベルの機能を提供します。このようにクラウドのコンポーネントを階層化することにより、クラウド・コンピューティングのレイヤーは、電気、電話、ガスのようなコモディティーとなります。クラウド・コンピューティングによって販売されるコモディティーは、ユーザーにとって低価格のコンピューティング能力です。クラウド・コンピューティングは、大規模な次期公共サービスになろうとしています。

仮想マシン・モニター (VMM) により、複数のクラウド機能を同時に使用できるようになります (図 1 を参照)。VMM はホスト上のプログラムであり、1 台のコンピューターによって同一の実行環境を複数サポートすることができます。ユーザーの観点から見ると、このシステムは他のユーザーから切り離されていて自己完結しているコンピューターです。実際には、すべてのユーザーが同じマシンによってサービスを提供されています。仮想マシンは 1 つのオペレーティング・システム (OS) であり、仮想マシンの内部にある制御プログラムによって複数のオペレーティング・システムとして見えるように管理されます。クラウド・コンピューティングの場合、ユーザーは VMM によってプロセスの多様な側面 (データ・アクセス、データ・ストレージ、暗号化、アドレス指定、トポロジー、ワークロードの動きなど) を監視することができ、従ってそれらの側面を管理することができます。

図 1. 仮想マシン・モニターの仕組み
仮想マシン・モニターの仕組み

以下はクラウドによって提供されるレイヤーの説明です。

  • インフラストラクチャー・レイヤーはクラウドの基礎をなすレイヤーです。インフラストラクチャー・レイヤーは、サーバー、ネットワーク機器、ストレージ・ディスクなどの物理資産によって構成されています。IaaS (Infrastructure as a Service) のプロバイダーには IBM® Cloud などがあります。IaaS を使用したからと言って実際にインフラストラクチャーを制御するわけではなく、制御の対象となるのはオペレーティング・システムやストレージ、デプロイメント・アプリケーションであり、また一部のネットワーク・コンポーネントについては限られた範囲の制御をすることができます。

    POD (Print On Demand) サービスは IaaS のメリットを活用することができる機構の一例です。POD モデルでは、カスタマイズ可能な製品を販売することが基本になります。POD を利用することで、個人が店を開いてさまざまな製品の多様なデザインを販売することができます。店舗運営者は、彼らが作成できる数に合わせ、いくらでも多くのデザインをアップロードすることも、ごく少数のデザインのみをアップロードすることもできます。多くの店では、何千ものデザインをアップロードしています。クラウドのストレージ機能を活用することで、POD では無限のストレージ・スペースを提供することができます。

  • ミドル・レイヤーはプラットフォームです。プラットフォームはアプリケーションの基盤を提供します。PaaS (Platform as a Service) により、オペレーティング・システムや関連するサービスにアクセスすることができます。PaaS により、その PaaS プロバイダーがサポートするプログラミング言語やツールを使ってクラウドにアプリケーションをデプロイすることができます。PaaS ではインフラストラクチャーを管理したり制御したりする必要はありませんが、デプロイされたアプリケーションを制御することはでき、またアプリケーションのホスト環境の構成も、ある程度制御することができます。

    PaaS のプロバイダーには、Amazon の EC2 (Elastic Compute Cloud) などがあります。小規模なベンチャー・ソフトウェア・ハウスは PaaS 企業としては理想的です。綿密に構築されたプラットフォームを利用することで、内製のオーバーヘッドなしに世界レベルの製品を作り出すことができます。

  • 最上位レイヤーは、クラウドとして最も認識しやすい、アプリケーション・レイヤーです。アプリケーションは、このレイヤーで実行され、要求に応じてユーザーに提供されます。SaaS (Software as a Service) のプロバイダーには、Google パックなどがあります。Google パックには、インターネットからアクセス可能なアプリケーションやツール (カレンダー、Gmail、Google トーク、Google ドキュメント、等々) が含まれています。

これらのレイヤーを示したものが図 2 です。

図 2. 「サービスとしての (as a Service)」コンポーネントに埋め込まれた、クラウド・コンピューティングのレイヤー
クラウド・コンピューティングのレイヤー

クラウドの構成方式

クラウドの構成方式には、プライベート (企業内) 型、パブリック型、ハイブリッド型の 3 つのタイプがあります。

  • パブリック・クラウドは、一般の誰もが利用することができ、また大規模な業界グループが利用することもできます。パブリック・クラウドは、クラウド・サービスを販売する組織によって所有され、プロビジョニングされます。通常の意味でクラウドとして考えられるものはパブリック・クラウドです。つまりリソースは別の場所にあるサードパーティーのプロバイダーからインターネットで Web アプリケーションを使って動的にプロビジョニングされ、プロバイダーは共有のリソースを提供し、ユーティリティー・コンピューティングの方式で課金します。
  • プライベート・クラウドは、企業のファイアーウォール内に存在し、その企業の組織によって管理されます。プライベート・クラウドは、皆さんが皆さんの企業内で作成して管理するクラウド・サービスです。プライベート・クラウドには多くの利点があり、それらの利点はパブリック・クラウドの場合と共通しています。パブリック・クラウドとの主な違いは、クラウドのセットアップと保守を企業内の組織が行う点です。
  • ハイブリッド・クラウドはパブリック・クラウドとプライベート・クラウドとを組み合わせ、誰もが利用できる公開されたサービスと、プライベートに提供されるサービスの両方を使用します。管理責任はパブリック・クラウドのプロバイダーと企業との間で分割されます。組織はハイブリッド・クラウドを使用することで、どのような目的のサービスを作成するのか、サービスの要件は何かを決定し、最適な選択肢を利用してそれらのサービスを実現することができます。

クラウドでの IT の役割

ここで例えば、管理を大幅に自動化する必要が出てきたことで、自動化のためのコードの作成量が増大し、それに伴いスクリプトを作成する人の作業に変更が必要になる、という場合を考えてみましょう。この場合、ハードウェアとソフトウェアの実装を少なくするという要求によって、IT は統合整備されていくかもしれませんが、新しい構成も生まれていきます。つまり、IT は知識労働者が扱うものへとシフトしているのです。この新しいパラダイムでは、一般的なビジネス・プロセスの機能を強化し、拡充する上で、技術を有する人が担う責任は従来以上に大きなものになることでしょう。

開発者

モバイル機器の利用者の増加、ソーシャル・ネットワーキングの広まり、また商用 IT プロセスやシステムの進化における他の側面から、開発者コミュニティーの作業は確実に増えるはずです。しかし、クラウドの構成モデルのプロセスは体系的かつ全体的であるため、企業の開発者が従来持っていた開発要員としての役割の一部はなくなることでしょう。

IBM が最近行った調査、「New developerWorks survey shows dominance of cloud computing and mobile application development」(「参考文献」を参照) によれば、モバイル技術に対する需要が指数関数的に増大すると予測されています。このようにモバイルが発展し、またクラウド・コンピューティングが世界で急速に受け入れられつつあることから、この領域の知識を持った開発者を急速に増やす必要があります。モバイル接続のニーズの増大に対応するためには、クラウド・コンピューティングの仕組みを理解した、より多くの開発者が必要になることでしょう。

クラウド・コンピューティングは、提供する容量にほとんど制限がないため、スケーラビリティーに関する懸念は解消されます。クラウド・コンピューティングにより、ほとんどの中小企業では持つことのできないソフトウェア資産やハードウェア資産を開発者が利用できるようになります。インターネット主体のクラウド・コンピューティング、そしてクラウド・コンピューティングという構成の結果として得られる資産を利用することで、開発者はごく最近まで夢でしかなかったリソースを利用できるようになります。

管理者

管理者は IT システムのルールを制定して監視を行い、ユーザーによるネットワークへのアクセスを制御します。これはつまり、一般的な方法でシステム資産へアクセスするといった、基本機能に対するルールや手順の制定、そしてユーザー・パスワードの作成は管理者が行うということです。クラウド・コンピューティングの登場により、このプロセスに調整が必要となります。なぜなら、そうした環境での管理者は単に社内の事項に注意を払うだけではすまなくなり、その管理者の企業の対外関係やクラウド・コンピューティングでの懸念事項、さらにはパブリック・クラウド内の他のテナントによるアクションにも注意を払わなければならなくなるからです。

その結果、管理者によって配備されるファイアーウォールを使ったセキュリティー構成の役割が変わり、さらには企業の一般的なセキュリティー手続きの性格も変わります。これはシステムを監視する人が必要なくなるという意味ではありません。クラウド・コンピューティングによって、従来以上に責任が重くなることはあっても、軽くなることはありません。クラウド・コンピューティングの下では、管理者は組織内のデータとシステムのみを確実に維持するだけでは十分ではなく、クラウドの監視と管理も行い、あらゆる場所にある彼らのシステムとデータとを確実に維持する必要があります。

アーキテクト

アーキテクチャーの役割は、ある指定されたシステムの機能を実際の IT の世界で効果的にモデル化することです。従って、アーキテクトの基本的な役割は、ある機関のクラウド・コンピューティング・モデルのアーキテクチャー・フレームワークを開発することです。クラウド・コンピューティングのアーキテクチャーは、本質的に、クラウド・コンピューティングの手法を採用する個々の企業が自ら規定した目標と目的に適うような方法で、IaaS、PaaS、SaaS という 3 つのレイヤーを抽象化した構成になります。各レイヤーの機能は抽象化されていますが、この抽象化は、意志決定者と実際の作業者がその抽象化を利用することで IT システムの各プロセスを計画、実行し、その有効性を評価することができるように行われています。

クラウド・コンピューティングの時代におけるアーキテクトの役割は、クラウドの各レイヤー同士の機能のやり取りを頭に描き、モデル化することです。アーキテクトは抽象化を手段として使用することで、組織としての目的実現に向けて IT が適切な役割を確実に果たせるようにする必要があります。

クラウドに移行すべきか、すべきでないかのリスク・アセスメント

クラウドに移行しようとする企業や組織にとって主要な懸念事項はセキュリティーとプライバシーです。クラウド・コンピューティング・サービスを提供する企業はそれを認識しており、セキュリティーの信頼性を高めない限り彼らのビジネスが破綻することを理解しています。つまりクラウド・コンピューティングに関係するすべての企業や組織にとって、セキュリティーとプライバシーは高い優先順位を持っています。

ガバナンス: どのように業界標準の遵守を監視するのか

ガバナンスはプライベート・クラウドの場合は、その所有者が主に行うものであり、パブリック・クラウドの場合はサービス・プロバイダーとサービス・コンシューマーが共同で行うものです。しかし、国際テロ、DoS (サービス不能) 攻撃、ウィルス、ワームなど、プライベート・クラウドの所有者、あるいはパブリック・クラウドのサービス・プロバイダーやサービス・コンシューマーの制御範囲を超える側面を実行する要素、あるいは持ちうる要素を考えると、何らかの広範な連携、特に世界、地域、あるいは国レベルでの広範な連携が必要です。もちろん、パブリック・クラウドの場合には、こうした連携によってプロセスの所有者やサービス・コンシューマーがクラウドを制御しにくくなったり、制御できなくなったりすることがないように注意する必要があります。

帯域幅の要件

クラウド・フレームワークを採用しようとする場合、帯域幅と、帯域幅に関する潜在的なボトルネックを戦略の中で評価しておく必要があります。CIO.com の記事、「The Skinny Straw: Cloud Computing's Bottleneck and How to Address It」の中に、以下の記述があります。

仮想化を実装した人達は、仮想マシンの集約密度を高める上でメモリー容量が重要なボトルネックであることに気付きました。しかし今や、従来よりもはるかに大容量のメモリーを備えたまったく新しいサーバーが多数出現しており、もはやメモリーはシステムのボトルネックではなくなっています。クラウド・コンピューティングによって仮想マシンの集約密度の問題は解消されるため、メモリー容量のボトルネックはなくなります。つまり、ボトルネックの解消はクラウド・プロバイダーが行う作業となるため、クラウド・ユーザーはメモリー容量のことを気にする必要がなくなります。

クラウド・コンピューティングの場合には、クラウド・プロバイダーとの間の帯域幅がボトルネックになります。

では、帯域幅の問題に対する最善かつ最新のソリューションは何でしょう。今日の市場での最善の答えはブレード・サーバーを使用することです。ブレード・サーバーは物理スペースとエネルギーの使用が最小となるように最適化されています。クラウド・コンピューティングにブレード・サーバーを使用することによる非常に大きなメリットの 1 つは、帯域幅つまり速度が改善されることです。例えば IBM BladeCenter は、ハイパフォーマンスのコンピューティング・ワークロードを短時間かつ効率的に高速化できるように設計されています。仮想マシンの高い集約密度を実現する上でのボトルネックを実質的に軽減するために、メモリー問題を克服する必要があったのと同じように、クラウド・コンピューティングの帯域幅というボトルネックも克服する必要があります。そのため、プロバイダーの能力を調査し、帯域幅のボトルネックが主要なパフォーマンス上の問題になる可能性があるかどうかを判断する必要があります。

金銭的な影響

IT オペレーションのコストは、その相当な部分を管理機能のコストが占めているため、クラウド・コンピューティング環境を利用することで暗黙的にこれらの機能の一部が自動化されれば、コストの削減につながります。自動化により、エラー要因と、手動で作業を反復することによる無駄なコストを大幅に削減することができます。

金銭的な問題に影響する他の要素として、物理的な設備の保守や、電力使用、そして冷却システムなどにかかるコストがあり、また管理に要するコストも当然あります。おわかりのように、決して帯域幅だけが問題なのではありません。

リスクを軽減する

以下のようなリスクの可能性を考慮する必要があります。

  • 誤ったデータ処理の影響
  • 保証されていないサービスに対する課金
  • ベンダーの財政的な問題や法的な問題
  • ベンダーの経営上の問題やベンダーの倒産
  • データの回復と機密性の問題
  • セキュリティーに関する一般的な懸念事項
  • 外部からのシステム攻撃

クラウド内のシステムを使用する場合、データ・セキュリティーや、接続性、コンピューティング・プロセスを妨害する悪意あるアクションなどのリスクが常に存在します。しかし、注意深く検討された計画と手段によってサービス・プロバイダーを選択し、また一般的なリスク管理に十分注意することで、ほとんどの企業はこの技術を安全に活用することができます。

まとめ

この革命的な新しい時代において、組織はクラウド・コンピューティングを利用することで、財政面での安定と高品質のサービスを確実にもたらす上で必要な手段を得ることができます。もちろん、クラウド・コンピューティング・プロセスによって最善のセキュリティーと一般的な運営標準を実現するためには、世界的な協力が必要です。クラウド・コンピューティングの登場により、私たちは誰しもが、この革命に対する準備をしなければなりません。

参考文献

学ぶために

  • IBM Smart Business Cloud Computing のサイトでは、クラウドによってパフォーマンスと効率を高めるための貴重なビジネス上の助言を得ることができます。
  • クラウド・コンピューティングの将来の方向性についての概要をまとめた一連のレポート、「The Future of Cloud Computing」を読んでください。このレポートは 2010年1月23日にブリュッセルで開催されたシンポジウムを元に書かれたものです。
  • Cloud4SOA イニシアチブについて学んでください。Cloud4SOA では、クラウド・コンピューティング、SOA (Service Oriented Architectures)、軽量なセマンティクスという、基本的で補完し合う 3 つのコンピューティング・パラダイムを組み合わせることを目標としています。
  • European Network and Information Security Agency によってまとめられた、リスク管理に関する貴重なレポート、「Risk Management」を読んでください。
  • Cloud Computing - A Primer を読み、クラウド・コンピューティングの基礎を理解してください。
  • developerWorks でクラウド開発者のためのリソースを調べてください。クラウドにデプロイするためにプロジェクトを構築しているアプリケーション開発者やサービス開発者の知識や経験を発見し、共有することができます。
  • developerWorks を Twitter でフォローしてください。
  • developerWorks On demand demos をご覧ください。初心者のための製品インストール方法やセットアップのデモから、上級開発者のための高度な機能に至るまで、多様な話題が解説されています。

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

議論するために

コメント

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=619303
ArticleTitle=クラウド・コンピューティングの基礎
publish-date=12172010