近年、PaaS(Platform as a Service)に注目が集まっている。アプリケーション構築および実行のためのプラットフォームをサービス提供するという、このクラウドモデルは、プログラムを書いて動けばよいという単純な判断は好ましくない。企業システムに適用可能なほど成熟度が向上してきたPaaSが提供する種々の機能をよく理解し、自社にとって必要なものを見極めたうえでPaaS採用の可否決定する必要がある。
PaaSは、2007年にCRMのSaaS(Software as a Service)提供で著名なSalesforce.com社が提唱した概念である。同社は、従来はカスタマイズ範囲の狭かったSaaS/ASPに対し、機能拡張および周辺機能構築に活用できるツールを独自開発し、それをサービスとして提供することとした。Force.comを代表とするPaaSの存在は、同社が企業における採用実績を大量に獲得する大きな武器になったといわれている。
しかし、その後、大手ITベンダーのPaaS事業参入は続かず、Salesforce.com社の他には2010年にサービス開始したMicrosoft社のWindows Azure(現在はMicrosoft Azureに改称)ぐらいのものであった。そのため、多くのユーザー企業はPaaSの成熟度はまだ低く、デファクトもまだ決まっていないと判断し、採用を見送ってきた。企業の注目はSaaSおよびIaaS(Infrastructure as a Service)に集まり、PaaSはSaaSまたはIaaSの補足的機能という位置に甘んじていたといえよう。しかし、近年、PaaS事業者の増加およびその成熟度のさらなる向上により、状況が変化してきている。
PaaSの概要を図1に示す。縦軸の高さは、種々の作業に占める時間をイメージで表している(絶対日数ではない)。自社構築の場合は、ハードウェア調達およびネットワーク環境構築にかなりの日数(1ヵ月以上)がかかる。それらの環境が整った後に、サーバOS、開発実行環境、各種ミドルウェア(データベースを含む)、システム連携環境を準備し、セキュリティ対策を講じる。IaaSは、ハードウェアおよびネットワーク環境をオンデマンドでサービス提供されるため、これらにかかる時間はほとんど無視でき、迅速なシステムインフラの準備が可能となる。IaaSのサーバOS準備からセキュリティ対策までの作業も撤廃したのが、PaaSである。実際には、セキュリティ対策など一部設定が必要なものもあるが、設定にかかる時間はほとんど無視できる程度である。つまり、PaaSはプログラムコードを書けばすぐシステム稼働が可能な、極めて迅速性の高い環境といえる。
ITRでは、PaaSの定義を以下のように定めている。
「アプリケーションの構築および運用のためのプラットフォームをサービスとして提供する形態のこと」
プラットフォームとは、サーバOS、開発実行環境、テスト環境、各種ミドルウェア(データベース、アプリケーション・サーバ、Webサーバ、システム連携ツールなど)、セキュリティ機能などを指す。理論上、プライベートクラウドや個別サーバなどオンプレミス環境上でPaaSを実装することも可能であるが、一般的にはパブリッククラウド上で展開されるサービスとして捉えられている。
Database as a Service( データベースのサービス提供) やIntegration as a Service(連携ツールのサービス提供)のようなミドルウェア単独機能のサービス提供もPaaSといえるが、本稿では前述の定義のようにアプリケーション構築/運用の統合環境のサービス提供に焦点を絞って述べる。