IaaS・PaaS・SaaSの違い:提供される範囲・利用者が管理するもの・自由度・運用の手間を比較

IaaS・PaaS・SaaSは、クラウドサービスを、事業者がどこまでを提供するかで分けた呼び方です。IaaS(Infrastructure as a Service)は、仮想マシン・ストレージ・ネットワークなどの基盤を提供し、その上のOSから上は利用者が管理します。PaaS(Platform as a Service)は、OSやミドルウェア、言語の実行環境までを事業者が提供し、利用者は自分のアプリケーションとデータを用意します。SaaS(Software as a Service)は、アプリケーションそのものを提供し、利用者はWebブラウザなどから使うだけです。IaaSからSaaSへ進むほど運用の手間は減りますが、利用者が自由に選べる範囲も狭くなります。

項目IaaSPaaSSaaS
事業者が提供するもの仮想マシン、ストレージ、ネットワークなどの基盤(その下の建物、物理的な機器、仮想化の基盤を含む)IaaSの範囲に加えて、OS、ミドルウェア、言語の実行環境などアプリケーションまで、すべて
利用者が管理するものOS、ミドルウェア、アプリケーション、データ。OSの更新やセキュリティの修正も利用者が行う自分で作ったアプリケーションとデータ、その設定データ、利用者のアカウントと権限、アプリケーションの設定
利用者の自由度高い。OSやソフトウェアを自由に選んで入れられる中くらい。事業者が対応する言語や実行環境の範囲で作る低い。提供される機能と設定の範囲で使う
運用の手間大きい。OSの更新、監視、バックアップ、台数の調整などを利用者が設計して行う小さい。実行環境の保守や台数の増減は、事業者が受け持つことが多い最も小さい。ソフトウェアの更新や障害の対応は事業者が行う
主な利用者インフラの担当者、自社のサーバをクラウドに移す組織アプリケーションの開発者アプリケーションを使う業務の担当者や一般の利用者
料金の考え方の例仮想マシンの台数と動かした時間、ストレージの容量、データの転送量などに応じた従量課金が多い実行の回数や時間、使った資源の量に応じた課金が多い利用者の数に応じた月額や年額の契約が多い
責任共有モデルでの分担物理的な設備と仮想化の基盤までが事業者、ゲストOSから上が利用者OSと実行環境までが事業者、アプリケーションとデータが利用者アプリケーションまでが事業者。データ、アカウント、アクセス権の設定は利用者に残る
代表的な例仮想マシン(仮想サーバ)を貸し出すサービス、ブロックストレージ、仮想ネットワークアプリケーションの実行環境を提供するサービス、マネージドなデータベースのサービスWebメール、オンラインの文書作成や表計算、グループウェア、顧客管理(CRM)

数値は代表的な目安で、世代や製品によって異なります。

どんなときに使うか

IaaS
OSやミドルウェアを自分で選びたいとき、社内のサーバで動いていたシステムをほぼそのままクラウドへ移したいとき、特殊な構成のソフトウェアを動かしたいときに向きます。その分、OSの更新やセキュリティの設定も自分で行います。
PaaS
インフラの管理を事業者に任せて、アプリケーションの開発に集中したいときに向きます。事業者が対応する言語や実行環境の範囲で作る必要があります。
SaaS
メール、文書作成、顧客管理などの一般的な業務を、ソフトウェアを作らずにすぐ使いたいときに向きます。使える機能は、提供される範囲に限られます。

よくある質問

サーバーレス(FaaS)は、IaaS・PaaS・SaaSのどれに当たりますか?

関数のコードだけを用意し、実行環境の用意や台数の増減を事業者に任せるので、一般にPaaSに近い形態として扱われます。コンテナの実行基盤を提供するサービスをCaaS(Container as a Service)と呼んで、IaaSとPaaSの間に置くこともあります。こうした細かい分類は、事業者や文献によって違います。

SaaSなら、セキュリティはすべて事業者の責任ですか?

いいえ。責任共有モデルでは、SaaSでもアプリケーションまでを事業者が受け持つ一方で、保存するデータ、利用者のアカウントとパスワード、多要素認証の設定、ファイルを共有する範囲などは、利用者の責任として残ります。設定を誤ってファイルをだれでも見られる状態にしてしまう事故は、利用者の側の問題です。

IaaS・PaaS・SaaSの定義は、どこで決められていますか?

よく引用されるのは、米国のNIST(国立標準技術研究所)が2011年に公開した、クラウドコンピューティングの定義(SP 800-145)です。そこでは、クラウドのサービスモデルとしてSaaS・PaaS・IaaSの3つが定められています。

オンプレミスとIaaSは、どう違いますか?

オンプレミスは、自社で機器を購入して自社の設備に置き、建物や電源から上をすべて自分で管理する形です。IaaSでは、建物、物理的な機器、仮想化の基盤の管理を事業者に任せ、必要なときに必要な分だけ借りられます。その代わり、使った分の料金が続けてかかり、事業者の障害の影響を受けます。

理解度チェック

クラウドサービスのうち、事業者が仮想マシン・ストレージ・ネットワークなどの基盤を提供し、OSやミドルウェア、アプリケーションは利用者が導入して管理するものはどれか。

  1. ASaaS
  2. BIaaS
  3. CPaaS
答えと解説を見る

正解:B. IaaS

クラウドサービスは、事業者が提供する範囲によって分類されます。IaaS(Infrastructure as a Service)は、仮想マシン・ストレージ・ネットワークなどの基盤を提供し、その上のOSやアプリケーションは利用者が管理します。PaaS(Platform as a Service)はOSやミドルウェアなどの実行環境までを、SaaS(Software as a Service)はアプリケーションまでを事業者が提供し、利用者はその分だけ管理の手間が少なくなります。

クラウドサービスのIaaSで、一般に利用者が自分で管理するものはどれか。

  1. Aデータセンターの建物や、電源・空調の設備
  2. Bサーバやストレージなどの物理的な機器と、仮想化の基盤
  3. C仮想マシンの上で動くOS、ミドルウェア、アプリケーション
答えと解説を見る

正解:C. 仮想マシンの上で動くOS、ミドルウェア、アプリケーション

IaaS(Infrastructure as a Service)では、事業者が建物や設備、物理的な機器、仮想化の基盤を管理し、利用者は仮想マシンの上のOSから上を自分で管理します。PaaSではOSやミドルウェアまでを事業者が管理して利用者はアプリケーションとデータを、SaaSではアプリケーションまでを事業者が管理して利用者はデータや利用の設定を管理します。このように、サービスの形態によって、事業者と利用者が責任を分け合う範囲が変わります。

クラウドのマネージドなデータベースサービス(事業者がデータベースのソフトウェアを運用するサービス)を使う。責任共有モデルの考え方で、一般に利用者の責任として残るものはどれか。

  1. Aデータベースを動かすサーバのOSと、データベースのソフトウェアに、セキュリティの修正を適用すること
  2. Bデータセンターの建物や、サーバなどの物理的な機器を、故障や侵入から守ること
  3. Cデータベースの利用者のアカウントと権限、接続を許可するネットワークの範囲、保存するデータを管理すること
答えと解説を見る

正解:C. データベースの利用者のアカウントと権限、接続を許可するネットワークの範囲、保存するデータを管理すること

責任共有モデルでは、クラウドの事業者と利用者がセキュリティと運用の責任を分け合い、その境目はサービスの形態によって変わります。マネージドなデータベースサービスでは、物理的な設備に加えて、OSやデータベースのソフトウェアの更新も事業者が受け持ちます。一方、だれにどのデータへのアクセスを許すか、どのネットワークからの接続を許すか、どんなデータを保存するかは、どの形態でも利用者の責任として残ります。設定を誤ってデータベースをインターネットに公開してしまう事故は、利用者の側の問題です。

  1. サーバーレスの関数(FaaS)で、しばらく呼び出されていなかった関数の最初の呼び出しだけ、応答が数百ミリ秒から数秒遅くなることがある。この現象の説明として、正しいものはどれか。
  2. クラウドのストレージを、①仮想マシンにディスクとして接続してファイルシステムを作り、データベースのデータファイルを置く、②複数のサーバから同時にマウントして共有のディレクトリとして使う、③HTTPのAPIでキー(名前)を指定して大量の画像を読み書きし、容量を前もって決めずに増やす、という3つの用途で使う。①〜③に適したストレージの種類の組み合わせとして、適切なものはどれか。
  3. 1時間あたり40円(架空の単価)で、使った時間だけ料金がかかる仮想マシンを使う。平常時は2台を1か月(30日)の間ずっと動かし、平日の20日は、毎日6時間だけ負荷に合わせて4台を追加する。1か月の料金として、正しいものはどれか。

クラウドとコンテナの基礎の練習問題へ

関連する用語の解説

責任共有モデル
クラウドを使うときの、セキュリティと運用の責任を、クラウドの事業者と利用者で分け合う考え方。データセンターの建物や物理的な機器は事業者が、保存するデータ、アカウントとアクセス権の設定、ネットワークからの接続の許可などは利用者が責任をもつ。その間の範囲は、IaaS、PaaS、SaaS、マネージドなサービスなど、サービスの形態によって変わる。設定の誤りによる情報の漏えいの多くは、利用者の側の責任の範囲で起きている。
サーバーレス
サーバの用意や台数の管理、OSの更新などを利用者が意識せず、クラウドの事業者に任せてアプリケーションを動かす形態。代表はFaaS(Function as a Service)で、要求やイベントが来たときだけ関数が実行され、実行の回数や時間とメモリの量に応じて料金がかかる。負荷に応じた増減は自動で行われ、使わないときは費用がほとんどかからない。一方、しばらく使われなかった後の最初の呼び出しが遅くなるコールドスタートや、実行時間の上限などの制約がある。
ハイパーバイザ
1台のコンピュータの上で複数の仮想マシンを動かすためのソフトウェア。各仮想マシンのOSにCPU・メモリ・装置を分け与え、互いに隔離する。仮想マシンモニタともいう。
オートスケーリング
負荷の指標(CPU使用率、要求の数、待ち行列の長さなど)に応じて、サーバやコンテナの台数を自動で増減する仕組み。台数を増やすことをスケールアウト、減らすことをスケールインと呼ぶ。KubernetesのHorizontalPodAutoscalerは、必要な数を ⌈現在の数 × 現在の値 ÷ 目標の値⌉ で求める。新しい台数が動き出すまでには時間がかかるので、急な負荷の増加には余裕をもった目標値で備え、台数が頻繁に変わりすぎないよう、減らす前に様子を見る時間を設けることが多い。
オブジェクトストレージ
データを、キー(名前)とメタデータの付いたオブジェクトとして保存し、HTTPのAPIで丸ごと読み書きするストレージ。容量を前もって決めずにほぼ際限なく増やせ、データは一般に複数の装置や場所に複製されて高い耐久性をもつ。画像や動画、バックアップ、ログ、静的なWebサイトのファイルの保存に向く。ファイルシステムのように一部だけを書き換える使い方や、データベースのデータファイルを置く用途には向かず、それらには仮想的なディスクを提供するブロックストレージや、共有のファイルシステムを提供するファイルストレージを使う。
SLA(サービスレベル合意)
ITサービスの提供者と利用者の間で、稼働率、応答時間、障害から回復するまでの時間、問い合わせの受付時間などの品質の水準と、その測り方、守れなかった場合の扱いを取り決めた合意(Service Level Agreement)。

関連する比較