IaaSは、従来手法(オンプレミスサーバ上のシステム開発)とは異なり、ネットワーク、ストレージ、サーバ環境(ハードウェアまたは仮想マシン)をユーザー企業が自ら準備/運用/保守を行う必要がなくサービスとして利用すればよいが、サーバOS、ミドルウェア、アプリケーション稼働用ランタイム、データ、アプリケーションについては自社で準備/運用/保守を行う必要がある。DockerやKubernetesといったコンテナをサービスとして提供するCaaS(Container as a Service)も多くのクラウド事業者が提供しているが、CaaSはIaaS上でユーザー企業が準備/運用/保守を行うレイヤーをコンテナ化し自動的にデプロイする手法であり、IaaSにおいてユーザー企業が責任をもって管理すべきレイヤーと同一である。
PaaSの定義はさまざまであり、DaaS(Database as a Service)やシステム連携ツール・サービスなど、さまざまなサービスをPaaSと分類することも多い。本稿では「アプリケーション開発/保守/運用環境のサービス提供」としてのPaaSに限定して議論を進める。PaaSではアプリケーションとデータをユーザー企業が管理し、それより下のレイヤーに関してはサービスを利用するだけでよい。PaaSは従来のアプリケーション構造(Webアプリケーションなど)のままで、従来のプログラミング手法で開発することが可能である。従来手法では、ユーザー企業が管理しなければならなかったサーバハードウェア/仮想サーバ、ミドルウェア、ランタイムをサービスとして利用することができる。