アーキテクチャ・ジャーナル

クラウドへのアプリケーションのマッピング

Darryl Chantry
2009/12/07

本コーナーは、マイクロソフトが季刊で発行する無料の技術論文誌『アーキテクチャジャーナル』の中から主要な記事をInsider.NET編集部が選び、マイクロソフトの許可を得て転載したものです。基本的に元の文章をそのまま転載していますが、レイアウト上の理由などで文章の記述を変更している部分(例:「上の図」など)や、図の位置などを本サイトのデザインに合わせている部分が若干ありますので、ご了承ください。『アーキテクチャ ジャーナル』の詳細は「目次情報ページ」もしくはマイクロソフトのサイトをご覧ください。

記事の著作権はマイクロソフトに帰属する。
©2008-2009 Microsoft Corporation. All rights reserved.

ご注意:本記事は、雑誌の内容を改変することなく、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。

概要

 経済的圧力が世界規模で高まる中、多くの企業は IT の総所有コストを削減する手段として、クラウド コンピューティングの可能性に注目しています。しかし、クラウド コンピューティング テクノロジの使用を検討する企業は、どのようなアプリケーションをクラウドに移行すればよいのか、あるいは逆に移行しない方がよいのかに頭を悩ませ、「ビジネスの性質上、そもそもクラウド コンピューティングに向いているのだろうか」といった、さまざまな疑問に直面しています。

 この記事では、企業のアプリケーションやビジネス モデルがクラウドに適合しているかどうかを判断するための手掛かりとして、クラウド コンピューティングとは何かを概観し、エンタープライズ アプリケーションをクラウド コンピューティング プラットフォームにマッピングするためのアプローチについて考察します。

クラウドとクラウド コンピューティング : どちらが先か ?

 クラウド コンピューティングは、小さな独立系ソフトウェア ベンダー(ISV)から、シリコンバレーの新興企業、コスト削減を目指す大企業に至るまで、世界中の数多くの情報技術(IT)プロフェッショナルのイマジネーションに火をつけました。そこでは、どのような IT の問題も解決できる特効薬として、クラウドに寄せられる期待はますます大きくなっているようです。

 クラウド コンピューティングを取り巻く状況が過熱する一方で、1 つ興味深いのは、クラウド コンピューティングとは何か、また何ではないかについて明確な定義がなされていないという点です。試しにクラウドの定義を 100 人に尋ねて、クラウド コンピューティングとはどのようなものか説明してもらった場合、矛盾する 2 つの答えを述べる人もいるでしょう。その結果、150 とおりの違う答えを得られることになるはずです。このような現状を考えると、まず記事の冒頭で、クラウド コンピューティングの一般的な定義について考察するのは、適切だと言えます。

 クラウド(あるいはインターネット)が登場したのは、今から 25 年ほど前のことです。この点からすると、クラウドが先と断言してもかまわないように思えますが、実際はそうとも言い切れません。たとえば、インターネット上に置かれた最初のサーバーは、事実、データやアプリケーションをグローバルに共有し実行するためのストレージ デバイスだったという意見があります。言い換えれば、それらのサーバーは、ほとんど無限のスケーラビリティにより、クラウド コンピューティングのリソースを複数の場所でグローバルに提供していたという見方もできます。一方、今日のクラウド コンピューティング イニシアチブが目指すところの「ほぼ無限のスケーラビリティにより、データ、アプリケーション、計算能力をグローバルに提供する」という目標は、おおよそ実現化されています。両者の違いは一見して明らかと言いたいところですが、本当に両者の間には違いがあるのでしょうか。

 本当の違いは、新しいテクノロジの活用によって古いアイデアに新たな展開が加えられている点にあります。クラウド コンピューティングは革命というより進化であり、テクノロジによってアイデアを実現し、予算の規模にかかわりなくすべての人が利用できるような価格で提供します。そのために採用されているのが、使用した量に応じて支払を行うユーティリティ ベースのモデルです。

ユーティリティ コンピューティング

 ユーティリティ コンピューティングとは、コンピューティング リソース(インフラストラクチャ、ストレージ、コア サービス)を電気や水道のように利用できるサービス、つまり使用した分だけ料金が課されるサービスを指します。ユーティリティ コンピューティングにより、ハードウェア、サーバー、およびアプリケーションのプラットフォームを購入、実行、メンテナンスしたり、コア サービス(課金サービスやセキュリティ サービスなど)を開発したりする必要はなくなります。次のようなシナリオを考えてみましょう。

 Web ベースの ISV が Facebook や MySpace で利用可能なコンポーネントの作成を検討しているとします。このとき、ISV は 1 つのジレンマに直面します。それは、作成したコンポーネントが何千人ものユーザーに支持される可能性がある一方、なかなか受け入れてもらえない可能性もあるということです。通常、調達できる資金は限られているため、ISV はアプリケーションの開発費用と、ソフトウェアをサポートするインフラストラクチャの提供に費やす費用とをバランスよく配分する必要があります。

 バランス配分を間違えると、プラットフォームのサポートは万全であるのにアプリケーションが貧弱という結果や、優れたアプリケーションであるのにプラットフォーム サポートがお粗末なためほとんどアプリケーションにアクセスできないという状況に陥るおそれがあります。どちらのシナリオも、成功とは程遠い状況です。このようなときに役立つのが、ユーティリティ ベースのクラウド プラットフォームです。ユーティリティ ベースのクラウド プラットフォームは、低コストで利用でき、アプリケーション側の要求に応じて簡単に拡張することができるもう 1 つの選択肢です。これにより ISV は、ほとんどすべてのリソースを高品質なアプリケーションの開発に投入できます。

 クラウド サービスでは基本的に必要なときに必要な量だけサービスを利用できるので、製品が失敗に終わった場合は、サービスを停止すればソフトウェアに関連するコストをすべてカットできます。

 さらに、ユーティリティ モデルでは、ピーク時の負荷を管理するための追加のインフラストラクチャ リソースが提供されるので、企業は自社のデータ センターの運用にかかるコストのいくつかを埋め合わせることができます。これは、“クラウド拡張(cloud bursting)”とも呼ばれます。

 従来は、ピーク時の負荷に対応するためには、たいていの場合、データ センターの仕様をピーク時の負荷に合わせる必要がありました。この場合、データ センターは大半の時間、低い使用率で稼動することになります。しかし、クラウド拡張を活用すれば、クラウド プロバイダーから提供される追加のリソースを利用してピーク時の負荷に対処できるので、データ センターは企業の環境内で発生する通常のワークロードだけを実行できればよいことになります。

 ユーティリティ コンピューティングは、しばしば、ある種の仮想化プラットフォームと関連付けられます。この仮想化プラットフォームでは、大規模なデータ センターを介して、ほぼ無限のストレージや計算能力がプラットフォーム ユーザーに提供されます。クラウド コンピューティングの進化に伴ってユーティリティ コンピューティングの定義は拡大されつつあり、純粋なインフラストラクチャ サービスの範囲を超えるサービスも含まれるようになっています。


 INDEX
  [アーキテクチャ・ジャーナル]
  クラウドへのアプリケーションのマッピング
  1.クラウドとクラウド コンピューティング : どちらが先か ?
    2.アプリケーションはすべてクラウドに移行されるか ?
    3.クラウドは 1 つか ?
      付録 A : アプリケーション マッピング属性/クラウド マッピング属性のサンプル
      付録 B : クラウド インフラストラクチャのプラットフォームと仮想化のタイプ

インデックス・ページヘ  「アーキテクチャ・ジャーナル」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間