PaaSはアプリケーションの開発・実行環境で、「開発」と「実行」は一体化しています。PaaSの開発環境で作ったアプリケーションを、PaaSの実行環境で動作させるのが基本的な使い方になります。別のPaaSで作ったアプリケーションを移植するのは基本的に想定されていません。また、先述したようにPaaSの開発環境にはさまざまな制約がありますので、選定したPaaSによってシステムの骨格が大きく左右されます。つまり、どのPaaSを使うかがシステム構築においてとても重要だということです。そこでPaaS選択のポイントを解説した上で、PaaSの利用例を紹介します。

アーキテクチャーが根本から変わる

 PaaSを選択する際のポイントとなるのは、利用可能なプログラミング言語と、データストアです。

選択のポイント1●プログラミング言語

 利用できるプログラミング言語はPaaSごとに異なり、汎用言語が利用可能なPaaSがあるほか、独自の言語を提供するPaaSも多いです。どの言語が最適であるかは、システムの特性だけでなく、システム開発に携わる開発者によっても変わってきます。もし開発者が対応できる言語に制限があるのであれば、それがPaaSを選択する際の制約となります。

 米GoogleのPaaS「Google App Engine」であればJava言語またはPython言語のどちらかになります。米Salesforce.comの「Force.com」はApexという独自言語ですが、「VMForce」というサービスもあり、これはJava言語が利用可能です。米Microsoftの「Windows Azure」では.NET系言語(Visual Basic.NET、C#など)に加え、PHPやJavaなどで開発することも可能です。

 忘れてはいけないのは、プログラミング言語ごとの特徴です。例えばJavaであれば、オープンソースのさまざまなライブラリを利用することができます。.NET系言語であれば、オープンソースのライブラリは少ないものの、Microsoftによってライブラリが用意されています。また、クラウドではない環境で使用できるライブラリや機能が、PaaS上では使用できない場合もあります。その点は事前に検証が必要です。

 プログラミング言語と密接な関係にあるのが「開発ツール」です。Java言語を使う場合、代表的な開発ツールはオープンソースの「Eclipse」です。PaaSで使うときはEclipseにプラグインをインストールして使うケースが多いです。.NET系言語ならVisual Studioで開発することになります。システム開発に携わる開発者の経験によって、どのツールが最適であるかは決まってきます。Eclipseがオープンソースであるのに対し、Visual Studioを使用するにはライセンスを購入する必要があります。その点もPaaS選択の重要な要素になる場合があります。