クラウドコンピューティングへの期待が高まっている。その言葉の定義や解説は色々な場面で語られているものの、クラウド上でのビジネスアプリケーション開発が実際にはどのように変わっていくのか、実感が沸かないではないだろうか。本連載では、クラウドサービスの一形態「PaaS(プラットフォーム・アズ・ア・サービス)」として、米セールスフォース・ドットコムが提供する「Force.com」の無料の開発環境「Developer Edition」を使い、これからのアプリケーション開発を実際に体験してみる。

 現在クラウドコンビューティングの基盤としては、さまざまなベンダーからいくつかのサービスが提供されている。クラウドの活用といっても、その利用範囲によってメリットが大きく異なってくる。例えば、ハードウエアレイヤーサービス、いわゆるHaaS(ハードウエア・アズ・ア・サービス)は、確かに既存アプリケーションの移行や既存アプリケーションの構築技術をそのまま流用できるが、メリットとしては運用コストの一部を削減できるに過ぎない。

仮想化より重要なアプリケーションアーキテクチャ

 いくらクラウドコンピューティングを実践しても、その上のアプリケーションが従来と同じであれば、各アプリケーションの開発コストや、メンテナンスコスト、バージョンアップコスト、データのバックアップ、アプリケーションレベルの稼働監視などは、従来となんら変わらない。

 クラウドコンピューティングの基盤が注目された背景には、米グーグルや米アマゾン・ドットコム、あるいはセールスフォース・ドットコムが提供するサービスの成功がある。しかし、これらのSaaS(ソフトウエア・アズ・ア・サービス)ビジネスの成功は、単にハードウエアレベルの仮想化に成功したからだけでは決してない。

 1990年の終わりにはASP(アプリケーション・サービス・プロバイダ)が大きな話題になった。もし当時、現在と同じようなプラットフォームの仮想化技術やブロードバンド環境があったとしても、ASPは同じ運命をたどったに違いない。なぜなら、失敗の根本的な要因は、従来のシングルテナント型アプリケーションを流用したことにあるからだ。柔軟性に欠け、管理・開発コストが従来のアプリケーションと変わらない。重要なのは、アプリケーションアーキテクチャなのである。

 その意味で、本連載が対象にするForce.comは、他社にはないいくつかの特徴を持っている。目指すのは、「エンタープライズリアルタイムクラウド」の実現だ。Force.comを使ったアプリケーション開発体験を始める前に、まずはその特徴を紹介しよう。これらの点はいずれも、エンタープライズアプリケーションをクラウド上で開発する上では重要なポイントになる。

【特徴1】エンタープライズ向けプラットフォームである

 Force.comは、SNS(ソーシャル・ネットワーキング・サービス)や写真/動画の共有、ショッピングサイトといった一般消費者向けのWebサイトよりも、企業向けのビジネスアプリケーションのプラットフォームに適するように設計されている。アーキテクチャー上の違いの一例が、Force.comが採用するデータベースシステムである。

 クラウドプラットフォームのデータベースとしては、キー・バリュー型データストアの採用例が多い。これは、データベースを分散しやすく、大量データに対する不特定多数の大量ユーザーからのアクセスに対して、高いスケーラビリティを実現できる仕組みだ。しかし、トランザクション処理やデータの一貫性の確保が苦手だ。データ消失のリスクもある。これらは、企業向けビジネスアプリケーションには致命的である。

 Force.comは、トランザクション処理やデータの一貫性を維持できるリレーショナル型データベース(RDBMS)を採用している。このRDBMSをマルチテナントシステムのデータベースとして使用するために、独自の技術を加え、高速レスポンスとカラムの自由な追加などの柔軟性を提供する。