パブリッククラウドとは、インターネットで不特定多数の利用者に対して提供されるサービスです。必要なときに必要なだけのリソースを使用できる点がパブリッククラウドの特徴です。

 IaaS/PaaS/SaaSの違いは提供されるサービスの違いです(図1)。IaaSで提供しているのはインフラストラクチャー(OS、仮想サーバー、ネットワーク環境など)です。PaaSは、アプリケーションを開発・実行する環境、つまり「アプリケーションプラットフォーム」を提供しています。そこには、データストアも含まれます。SaaSは、利用者が直接使うソフトウエアをサービス提供しています。

図1●パブリッククラウドの分類
図1●パブリッククラウドの分類
[画像のクリックで拡大表示]

 IaaSとして提供されるのはOS以下の環境で、ユーザーはこの環境をカスタマイズして使うのが普通です。システムの本番運用に利用するなら可用性なども考慮してミドルウエアをインストールし、適切に設定します。IaaS上に自由にソフトウエアをインストールしてさまざまな用途の環境を構築できる半面、環境構築に必要な知識と工数が必要になります。

 それに対してPaaSは、アプリケーションの開発や実行に必要なソフトウエアが最初からそろっており、ミドルウエアのインストールや各種設定などは基本的に必要ありません。あらかじめ用意されている環境にログインして使うような感覚です。ユーザーからすると、設定などをすることもなく、すぐに使うことができるというメリットがあります。利用量に応じた課金ですので、例えばベンチャー企業が大きな投資を行わず、素早く何らかのサービスを立ち上げたいとき、PaaSは最適のサービスであるといえます。

 注意すべきは、提供される環境にはさまざまな「制約」があることです。環境を変更する自由度は基本的になく、制約の中でアプリケーションを開発しなければなりません。その結果、構築できるシステムに限界が生じてきます。制約の代表的なものはデータストアです。企業システムに携わってきたエンジニアならRDB(リレーショナルデータベース)に慣れていると思いますが、PaaSではRDBが利用できるとは限りません。これまではRDBを使うことが当たり前だったため、利用できないとなると、要求を満たすシステムを構築できない場合が考えられます。

 次にSaaSは、利用者が直接使うことを想定したソフトウエアのサービス提供で、利用契約を結ぶと、インターネットを介してすぐに利用者が使うことができます。世の中でSaaSとして提供されているサービスは多種多様です。個人向けのサービスとしてはメールのサービスやオフィスドキュメント作成のサービス、またクラウド上にファイルを保存できるストレージサービスなどがあります。ビジネス向けのサービスとしては、CRMサービスやスケジュール共有サービスなどがあります。


長谷川 裕一(はせがわ ゆういち)
合同会社Starlight&Storm代表。プログラマ、PL、PMと経験し、コンサルタントへ。現在はユーザー企業のIT戦略アドバイザー、技術コンサルティングやエンジニア教育を中心に活動。日本Springユーザ会会長
大野 渉(おおの わたる)
オブジェクト指向設計/実装を中心にコンサルタント/講師として活動中。特に、Spring FrameworkをはじめとするJavaオープンソースフレームワークをベースとしたアーキテクチャー構築に強みを持つ
土岐 孝平(とき こうへい)
Java EEを使用したエンタープライズシステムの設計を得意とし、技術コンサルティングや教育講師に従事する。最近では、さまざまなコミュニティーの勉強会の講師として活躍する傍ら、雑誌記事も多数執筆する