Cloud-computing-platform-as-a-service
サービスとしてのクラウドコンピューティングプラットフォーム(PaaS)
*Platform-as-a-Service* は、アプリケーションのランタイム環境を提供します。 また、アプリケーションの開発に必要な開発および展開ツールも提供します。 PaaSには、開発者以外がWebアプリケーションを作成できるようにする「ポイントアンドクリック」ツールの機能があります。
*GoogleのApp Engine* および *Force.com* は、PaaS提供ベンダーの例です。 開発者はこれらのWebサイトにログオンし、「*組み込みAPI *」を使用してWebベースのアプリケーションを作成できます。
しかし、PaaSを使用することの欠点は、開発者が特定のベンダーにロックインすることです。 たとえば、GoogleのAPIに対してPythonで記述され、GoogleのApp Engineを使用するアプリケーションは、その環境でのみ動作する可能性があります。
次の図は、PaaSがAPIと開発ツールを開発者に提供し、エンドユーザーがビジネスアプリケーションにアクセスするのにどのように役立つかを示しています。
利点
PaaSモデルの利点は次のとおりです。
管理オーバーヘッドの削減
クラウドプロバイダーの責任であるため、お客様は管理について気にする必要はありません。
総所有コストの削減
高価なハードウェア、サーバー、電源、データストレージを購入する必要はありません。
スケーラブルなソリューション
リソースを需要に基づいて自動的に拡大または縮小するのは非常に簡単です。
最新のシステムソフトウェア
ソフトウェアのバージョンとパッチのインストールを維持するのは、クラウドプロバイダーの責任です。
問題点
*SaaSと同様に、PaaS* も、プロバイダーのシステムへの信頼できる安全な接続を維持するために、お客様のブラウザーに大きな負担をかけます。 したがって、PaaSはSaaSの多くの問題を共有しています。 ただし、次の図に示すように、PaaSに関連する特定の問題がいくつかあります。
PaaSクラウド間の移植性の欠如
標準言語が使用されますが、プラットフォームサービスの実装は異なる場合があります。 たとえば、あるプラットフォームのファイル、キュー、またはハッシュテーブルインターフェイスは別のプラットフォームと異なる場合があり、あるプラットフォームから別のプラットフォームにワークロードを転送することが困難になります。
イベントベースのプロセッサスケジューリング
PaaSアプリケーションはイベント指向であり、アプリケーションにリソースの制約を課します。つまり、一定の時間内にリクエストに応答する必要があります。
PaaSアプリケーションのセキュリティエンジニアリング
PaaSアプリケーションはネットワークに依存しているため、暗号化を明示的に使用し、セキュリティ上の危険を管理する必要があります。
特徴
PaaSサービスモデルの特徴は次のとおりです。
- PaaSは、ブラウザーベースの開発環境を提供します。*開発者は、データベースを作成し、アプリケーションプログラミングインターフェイスまたはポイントアンドクリックツールを使用してアプリケーションコードを編集できます。
- PaaSは、「組み込みのセキュリティ、スケーラビリティ、およびWebサービスインターフェイス」を提供します。
- PaaSは、ワークフロー、承認プロセス、およびビジネスルールを定義するための組み込みツールを提供します。
- PaaSを同じプラットフォーム上の他のアプリケーションと簡単に統合できます。 *PaaSは、プラットフォーム外のアプリケーションを接続できるWebサービスインターフェイスも提供します。
PaaSタイプ
機能に基づいて、PaaSは次の図に示すように4つのタイプに分類できます。
スタンドアロン開発環境
スタンドアロンのPaaS* は、特定の機能の独立したエンティティとして機能します。 特定のSaaSアプリケーションに対するライセンスまたは技術的な依存関係は含まれません。
アプリケーション配信専用環境
「*アプリケーション配信PaaS *」には、「オンデマンドスケーリング」および「アプリケーションセキュリティ」が含まれます。
サービスとしてのオープンプラットフォーム
- オープンPaaS *は、PaaSプロバイダーがアプリケーションを実行するのに役立つオープンソースソフトウェア*を提供します。
アドオン開発施設
「*アドオンPaaS *」では、既存のSaaSプラットフォームをカスタマイズできます。