クラウド時代のデータベースを考える
2009年10月27日(火)8時0分配信 ITmediaエンタープライズ
クラウドコンピューティングがバズワードの域を超え、IT業界の新しい潮流として認知されはじめている,写真:ITmedia [ 拡大 ]
-PR-
クラウドコンピューティングは、XaaSつまり、SaaS、PaaS(Platform as a Service)、HaaS(Hardware as a Service)といった最新のITサービスを包括的に表現した言葉であるが、バズワードであるという意見もあれば、「ユーティリティコンピューティング」の焼き直しにすぎないとの意見もある。しかし、関連企業であるSalesforce.comの2009年度の売上高(2009年1月31日締め)が10億ドルに達したというビジネス状況を見ると、もはや単なるバズワードとはいえないだろう。
さらに小売業であるAmazon.comではAmazon Webサービスを立ち上げてHaaSビジネスに参入し、GoogleやSalesforce.comもPaaSビジネスを開始するといった動きにより、新たな収益源にしようとしている。国内でも大手ベンダーが相次ぎPaaSに乗り出した。4月にNECが「クラウド指向サービスプラットフォームソリューション」を発表し、富士通も「Trusted-Service Platform」を発表した。6月には、日立製作所が「Harmonious Cloud」を発表した。IT業界の主要なソフトウェアベンダーであるMicrosoftやOracleも急速にクラウドコンピューティングに対する準備を開始したことにある。
これまでITソフトウェア・ベンダーはクラウドコンピューティングへの対応にどちらかといえば消極的であった。現在のITベンダーは、企業や個人に対してハードウェアやソフトウェアを個別に販売することで売り上げを得ており、顧客がクラウドコンピューティングによって必要なときに必要な量だけのITリソースを調達することが可能になると、これまでに比べて販売量が低下し、売り上げの減少を招く可能性があるからである。しかし、GoogleやSalesforce.comのビジネスの拡大によって、クラウドコンピューティングは無視できないものとなり、売上減少のリスクを冒しても、クラウドコンピューティングに対応したビジネスを始めるという企業は多い。このような市況から、クラウドは単なるバズワードでなくIT業界の新たな潮流といえる。
では、クラウドコンピューティングは全く新しい試みなのであろうか。クラウドコンピューティングと既存の技術との関係を見てみると、クラウドコンピューティングはこれまでのユーティリティコンピューティングやグリッドコンピューティングまたはWebサービスの延長線上にあるものであることが分かる。Webアプリケーション開発で注目されているRIA(Rich Internet Application)やマッシュアップといったWeb 2.0技術が、WebベースサービスやApp-Components as a Serviceに貢献している。AjaxなどのRIA技術は、ユーザーに操作性や対話性に優れた「リッチな」ユーザー・インタフェースを提供するものである。
マッシュアップ用のAPIを利用すれば、Webアプリケーション同士を連携させ、新しいサービスを作ることができる。一方、SOAはクラウドとは別の技術であるが、堅牢で柔軟性の高いアプリケーション基盤を構築するという点で、関連する技術といえるだろう。また、下位レイヤに位置するHaaSやPhysical Infrastructure as a Serviceを支えているのは、ユーティリティコンピューティングの中核技術であるグリッドや仮想化である。つまりクラウドコンピューティングは現在の企業システムで利用されている技術の上に成り立っているのである。
●クラウドが求められる背景と課題
現在のIT市場はいずれの領域を見ても、2008年9月以降に顕在化した世界経済危機の影響を受け、成長が停滞している。ユーザー企業では、業務効率化に貢献する分野へのIT適用は一巡しており、コスト削減とビジネス状況への迅速な変化への対応による経営への貢献がこれまで以上に求められている。クラウドコンピューティングは、コスト削減と迅速なITシステムの構築といった現在のニーズを実現するための方法として、注目されているのだと考えられる。
しかし、クラウドコンピューティングにも課題は存在している。クラウドコンピューティングは形を変えたアウトソーシングであるため、本質的な問題点はアウトソーシングと共通する。ユーザー企業が最も懸念するのは、運用管理を外部に任せられる反面、ユーザー企業側がサービスの品質をコントロールすることが困難になる点である。サービスの品質向上はベンダー側に委ねられるため、利用開始後に費用対効果やサービス品質が当初の期待を下回らないよう、ユーザー企業側が適切なガバナンスを働かせることが求められる。
また、必要とするサービス内容が完全にコモディティ化していれば必要ではないが、多くの場合、企業では自社のコア・コンピタンスを維持するためにアプリケーションに独自の機能やロジックを必要とする。従って、企業ではクラウドの向こうに移行するシステムと自社内にとどめるるシステムの選択をしなければならない。この選択に関してはERPやCRMなどのパッケージ・ソフトウェアを導入した経験が利用できそうである。しかしデータはどうであろうか。企業には、社外に持ち出すことを嫌う機密データや戦略的に重要なデータが存在している。特に国内では、これまでも大手企業を中心に、データを社外に保持・保管することに対する抵抗感が強いが、クラウドコンピューティングを利用すると社外のデータセンターの利用が避けられない。
さらにハウジングやコロケーションといった社外データセンター利用と異なり、クラウドコンピューティングでは、どこのデータセンターに自社のデータが保存されているが分からなくなることすらある。そこで登場してきたのがプライベート・クラウドという考え方である。クラウドコンピューティングのコスト効率の良さと柔軟性を生かしたコンピューティング環境を社内に構築し、企業ユーザーまたはグループ企業ユーザーだけがサービスを利用する形態である。
●クラウド時代に求められるDBとは
クラウドコンピューティングでは、どのようなDBMSが必要とされるのであろうか。基本的にはパブリックでもプライベートでもクラウドコンピューティングに場合は、1つのDBを複数のアプリケーションまたは複数の企業で利用することが重要なポイントとなる。従ってこれまでの単一のシステムや単一の企業が利用するよりもより高度な可用性、スケーラビリティー、セキュリティ、管理性、開発生産性が要求される。昨今クラウドコンピューティングではRDBMSよりもキー・バリュー型データストアが適しているという意見もあるが、これは必ずしも正しいとは思わない。確かにGoogleのような巨大なWebデータを格納し、分散処理によって検索キーワードにマッチするWebページのURLを高速かつ大量に返すといった操作は有効な方式である。
しかしこの方式ではパフォーマンスを得るために分散を増やすとデータの更新がすべてのデータベースすべてに反映されるまでに多くの時間を要するため、アクセスのタイミングによっては、更新前のデータを返してしまうというリスクが伴う。企業システムで必要となるデータ整合性と高速なOLTP処理には現時点では利用できない可能性がある。
認識しなければならないのは、クラウドコンピューティングとGoogleは同一ではないということである。現時点で多くのSaaSベンダーがOracleなどのRDBMSを利用していることからも、RDBMSの有効性は実証されており、クラウドコンピューティングのDBMSがキー・バリュー型とRDBMSのどちらが良いという二者択一ではなく、利用用途によって適しているものを正しく選択することが重要なのである。いずれにしても、クラウド時代におけるDBでは、分散処理技術と仮想化技術によるスケーラビリティーと柔軟性、そしてコストパフォーマンスが重要となると思うが、さまざまなベンダーがさまざま方式のDBMSで開発競争を行うことは、ユーザーにとっては選択の幅とより安価なDBMSの利用につながるというメリットにつながる。【生熊清司(ITR)】