特集
次世代コンピューティング概説

マイクロソフトが本気モードで進めるクラウド戦略

デジタルアドバンテージ 一色 政彦
2008/10/22
2008/11/08 更新
Page1 Page2 Page3

クラウド・サービスについて理解する

クラウド・サービスの粒度

 ひとえに「クラウド・サービス」といっても、実はそこにはさまざまな粒度(サービスのレベル)があり得るのに気付く。粒度の分類の仕方はやりようによって変わってくるが、本稿では「API」「部品」「ソフトウェア」「プラットフォーム」という4つの粒度カテゴリに分類することにした(粒度については、IT業界で共通する統一的な分類法が現時点で存在するわけではなく、筆者なりの考えに基づいている)。

 以下ではこの4つの分類の意味定義と具体例を示していく(具体例のクラウド・サービスによっては複数の粒度カテゴリに分類できそうなものもあるが、最も典型的な使われ方を想定して分類している)。

APIレベルのクラウド・サービス

 最も粒度が小さいものとして、「API」として提供されるサービス・レベルがある(以降、APIサービス)。これは一般的には「Web API」と呼ばれている。APIサービスは(主に)SOAP/REST形式のXML Webサービスで提供され、何らかの別のシステム(=任意のオンプレミス・ソフトウェア)内で使用されることを前提としている。

 つまりAPIサービスは、開発者がシステム構築のためにシステムの一部として使用するもので、エンド・ユーザーやシステム管理者が直接利用することはない。

 APIサービスの代表例は、書籍検索APIの、

(以前は「Amazon Webサービス」や「Amazon E-Commerce Service」と呼ばれていた)である。そのほかには、以下のようなAPIサービスがある。

 上記の例は、比較的、高レベルなAPI(=すでに何らかの意味を持っているデータを取り扱うAPI)を提供するデータ・サービスだが、もっと低レベルなAPI(例えばデータベース/ストレージ機能を提供するAPIなど)を提供する基盤サービスもある。例えば以下のものがこれに該当する。

部品レベルのクラウド・サービス

 次に小さい粒度は、「部品」として提供されるサービス・レベルだ(以降、部品サービス)。部品サービスはエンド・ユーザーやシステム管理者が、既存のソフトウェアに「機能を追加する」ためのもので、アドインやプラグインとして使えるクラウド・サービスを想像してもらうと分かりやすいだろう。

 APIサービスと部品サービスの決定的な違いは、「APIサービスは、開発者がシステム構築時に用いるためのもので、エンド・ユーザーやシステム管理者は利用しない」のに対し、「部品サービスは逆に、エンド・ユーザーやシステム管理者が利用するためのもので、開発者がシステム構築時に使うものではない」という点である。

 部品サービスの代表例は、アップルの音楽プレイヤー「iTunes」(=オンプレミス・ソフトウェア)に組み込まれて動作する、

だ。そのほかには、以下のような部品サービスがある。

ソフトウェア・レベルのクラウド・サービス

 クラウド・サービスで最も特徴的な粒度は、「アプリケーション・ソフトウェア」全体をサービスとして提供するレベルで、いわゆる「SaaS」(Software as a Services)と呼ばれるサービスである。

 SaaSを利用するのは、一般顧客であるエンド・ユーザーだ。

 SaaSの代表例は、

で、具体的にはCRM(顧客関係管理)システム全体をクラウド・サービスとして提供している。そのほかのSaaSの例は以下のとおり。

プラットフォーム・レベルのクラウド・サービス

 さらに、SaaSよりも大きな粒度として「PaaS」(Platform as a Service)というサービス・レベルも存在する。これは、アプリケーションを開発/運用するためのプラットフォームまでをも、サービスとして提供するレベルのことだ。

 PaaSを利用するのは、アプリケーションの開発を行う開発者や、それを運用するシステム管理者である。

 PaaSの代表例は、

で、任意のWebアプリケーションを自由に開発でき、それを運用するためのプラットフォーム(データベース機能も含む)をクラウド・サービスとして提供している。そのほかのPaaSは以下のとおりだ。

 以上の4つの粒度の分類を、比較しやすいように表にまとめた。

粒度
API
部品
ソフトウェア
プラットフォーム
分類
APIサービス
部品サービス
SaaS
PaaS
利用者 開発者 エンド・ユーザー
システム管理者
エンド・ユーザー
システム管理者
開発者
システム管理者
代表例 ・Amazon Associates Web Service
・Windows Live APIs
・Amazon S3
・SQL Data Services
・.NET Services
・iTunes Music Store
・Office Live Workspace
・Exchange Hosted Services
・Salesforce.com
・Microsoft Dynamics CRM Online
・Windows Live
・Google Apps
・Zoho
・Google App Engine
・Windows Azure
・Amazon EC2
・Force.com
・Aptana Cloud
粒度により分類したクラウド・サービス

【コラム】IaaSとは

 PaaSよりもさらに大きな粒度として、IaaS(Infrastructure as a Service)が加えられることもある。IaaSとはコンピューティング基盤(一般的には、仮想化されたOS環境=仮想マシンに、ストレージとインターネット接続の帯域幅を加えたもの)全体をサービスとして提供するサービス・レベルで、柔軟なシステム設計と自由な開発が行えるという特長がある。例えば「Amazon EC2」は(先ほどPaaSとして分類したが)厳密にはIaaSに該当する(典型的なPaaSのGoogle App Engineにはそのような自由度はない)。ただし、IaaSと識別されるクラウド・サービスは、アプリケーションを開発/運用するためのプラットフォームとしてとらえることも可能なので、本稿ではIaaSはPaaSの中に含めた。

 以上、クラウド・サービスの種別が分かったところで、クラウド・サービスの特徴について考察しよう。

クラウド・サービスの特徴

 クラウド・サービスの利点と欠点を、個条書きで筆者が思いつくままに挙げてみた。

クラウド・サービスの利点

  • すぐに利用開始できる手軽さ
      → 特にSaaSでは、既製サービスを活用するので、短期間に高機能なシステムを構築可能で、大幅なコスト低減が期待できる。

  • 無償、もしくはユーティリティ・コンピューティング(=使用容量やトラフィックに応じてその分の対価を支払う課金制度)
      → 低リスクで開発を開始でき、利用に見合った分だけの運用コストで済むので、高いROI(投資対効果)を期待できる。

  • サーバ・コンピュータやデータ・センターの運用作業から解放される(バージョンアップ更新やセキュリティ・パッチの適用も含めて)
      → 運用コストの低減が期待できる。

  • 巨大なデータ・センターやインフラを所有する企業のクラウド・サービスを利用する場合、そのスケーラビリティやパフォーマンスを自社のアプリケーションにも適用できる
      → 自社で運用するよりも、高いスケーラビリティと高いパフォーマンスが期待できる。

  • プログラムもデータもインターネット上に格納されているので、世界中のどこからでも、どんなデバイス(PC、携帯電話、iPodなど)からでも(ただしデバイスが対応してなければならない)、同じサービス、同じデータにアクセスできる
      → 高い利便性を期待できる。

クラウド・サービスの欠点

  • インターネットに接続しなければ利用できない
      → 出先(インターネット接続がない環境)でノート・パソコンなどで利用できずに不便(詳しくは後述するが、Googleが提供する「Gears」を使うことで解決できる部分もある)。

  • クラウド・サービスにバグがあっても自分では修正できない
      → PaaS以外の、APIサービス、部品サービス、SaaSを利用している場合、そのクラウド・サービスの開発主体は社外にあるので、当然ながらソース・コードを修正したりすることはできず、サービスに問題があっても自分で解決するすべがない。

  • クラウド・サービスの自由な機能拡張や修正が行えない/行いにくい
      → これもPaaS以外の話。SaaSに関しては、カスタマイズ機能やシステム間連携の機能が用意されているものもある。

  • オンプレミス・ソフトウェアに比べて、多くの場合、パフォーマンスや、ユーザー・インターフェイスの表現力、操作性が劣る
      → 特にSaaSやPaaSにおいてだが、(基本的に)ブラウザで閲覧可能なWebアプリケーションとして作成されている(作成する)ので、デスクトップ・アプリケーションに比べればユーザビリティなどが劣る可能性はある。しかし、プレゼンテーション技術のSilverlight 2を使うなどして、問題を改善することは可能である。

 以上ここまでで、クラウド・コンピューティングやクラウド・サービスの定義について一通り説明した。ここからの後半では、本稿の主題である「マイクロソフトのクラウド戦略」について紹介していく。


 INDEX
  [特集] 次世代コンピューティング概説
  マイクロソフトが本気モードで進めるクラウド戦略
    1.クラウド・コンピューティングを理解する
  2.クラウド・サービスについて理解する
    3.マイクロソフトが進めるクラウド戦略とは?

更新履歴
【2008/11/08】PDC 2008で発表されたマイクロソフトのクラウド・サービス群“Azure Services Platform”に合わせて、内容の追記、アップデートを行いました。
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メールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

.NET未来展望台

未来展望台コーナースポンサーからのお知らせ


- PR -
- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

スマホ時間の奪い合い「利用者増えても、利用時間は減少」 唯一の勝者は?
データマーケティング支援のGlossomは、「スマートフォンでのメディアとコマースの利用に...

生成AI時代のコンテンツ制作の課題 アドビが考える解決法は?
求められる顧客体験はますます高度になる一方で、マーケターのリソースは逼迫している。...

「イカゲーム」とコラボ ジョニーウォーカーが黒ラベルを“緑”に もしかして、これって……?
世界的な大ヒットとなったNetflixオリジナルドラマ「イカゲーム」のシーズン2公開が近づ...