クラウドサービスモデル(IaaS / PaaS / SaaS)
クラウドサービスは、どこまでを事業者が用意するかによって IaaS・PaaS・SaaS の 3 つのモデルに分けられます。このレッスンでは、それぞれの違いと、ユーザーが管理する範囲がどう変わるかを学びます。
クラウドサービスモデルとは
前のレッスンでは、クラウドが「IT リソースをインターネット経由で必要なだけ借りる仕組み」であることを学びました。ひとくちに「借りる」といっても、どこまでを事業者が用意してくれるかには段階があります。
例えば、サーバーという「箱」だけを借りて中身は自分で組み立てる借り方もあれば、完成したソフトウェアをそのまま使う借り方もあります。この「どこまで事業者が面倒を見てくれるか」という観点でクラウドサービスを分類したものをクラウドサービスモデルと呼びます。
代表的なモデルは次の 3 つです。
- IaaS(Infrastructure as a Service)— インフラ(基盤)だけを借りる
- PaaS(Platform as a Service)— アプリを動かす土台まで用意してもらう
- SaaS(Software as a Service)— 完成したソフトウェアをそのまま使う
この順に、事業者が用意してくれる範囲が広がっていきます。範囲が広がるほど自分で管理する手間は減りますが、その分、自由にカスタマイズできる範囲は狭くなります。それぞれを順番に見ていきましょう。
IaaS(Infrastructure as a Service)
IaaS は、サーバー・ストレージ・ネットワークといったインフラ(基盤)の構成要素を借りるモデルです。
事業者が用意するのは「箱」にあたる部分までで、その上で動かす OS やソフトウェアは利用者が自分で選んで構築します。3 つのモデルの中で最も自由度が高く、オンプレミスに最も近い感覚で使えるのが特徴です。
AWS では、仮想サーバーを提供する Amazon EC2(Elastic Compute Cloud)が代表例です。EC2 では、借りたサーバーにどの OS を入れ、どんなソフトウェアを動かすかを自分で決められます。その代わり、OS のアップデートやセキュリティパッチの適用は利用者の責任になります。
EC2 のような「仮想サーバー」のサービスは、後のコンピューティングのセクションで詳しく学びます。ここでは「OS から上を自分で管理できる、自由度の高いサービス」というイメージを持っておけば十分です。
PaaS(Platform as a Service)
PaaS は、アプリケーションを動かすための土台(プラットフォーム)まで事業者が用意してくれるモデルです。
利用者はサーバーの調達や OS のパッチ適用、ミドルウェアの管理といった作業から解放され、自分のアプリケーションの開発とデプロイに集中できます。AWS はこうした「本質的でない作業の重荷」を undifferentiated heavy lifting(差別化につながらない重労働)と呼び、それを肩代わりするのが PaaS の役割だと説明しています。
AWS では、AWS Elastic Beanstalk が代表例です。アプリケーションのコードをアップロードするだけで、サーバーの用意・負荷分散・スケーリング・監視といった裏側の作業を AWS が自動で行ってくれます。
SaaS(Software as a Service)
SaaS は、完成したソフトウェアを、インターネット経由でそのまま利用するモデルです。
利用者はインストールや運用を一切気にする必要がなく、そのソフトウェアをどう使うかだけを考えれば済みます。サーバーやインフラの管理はすべて事業者側で行われます。
身近な例としては、ブラウザだけで使える Gmail などの Web メールが挙げられます。メールを送受信するためにサーバーを用意したり OS を管理したりする必要はなく、ログインすればすぐに使えます。このように、私たちが普段当たり前に使っている多くの Web サービスが SaaS にあたります。
管理する範囲の違い
3 つのモデルの違いは、システムを構成する各層を、利用者と事業者のどちらが管理するかで整理すると分かりやすくなります。次の図は、自社ですべてを管理するオンプレミスを出発点に、IaaS → PaaS → SaaS と進むにつれて利用者の管理範囲がどう縮んでいくかを表したものです。
ポイントは、IaaS と PaaS を分ける境界線が「OS を誰が管理するか」にあることです。
| モデル | 利用者が管理する範囲 | 代表的なサービス例 |
|---|---|---|
| IaaS | OS・ミドルウェア・アプリケーション(OS から上すべて) | Amazon EC2 |
| PaaS | アプリケーションのみ(OS やミドルウェアは事業者が管理) | AWS Elastic Beanstalk |
| SaaS | 管理は不要(ソフトウェアを使うだけ) | Gmail などの Web メール |
このように、IaaS から SaaS へ進むほど利用者の手間は減っていきます。一方で、IaaS なら自由に選べた OS やミドルウェアを、PaaS や SaaS では事業者の用意したものに従うことになります。手間と自由度はトレードオフの関係にあり、「どこまで自分で管理したいか」に応じて適切なモデルを選ぶことが大切です。
まとめ
- クラウドサービスモデルは、事業者が用意してくれる範囲によって IaaS・PaaS・SaaS の 3 つに分けられる
- IaaS は基盤(サーバー・ストレージ・ネットワーク)を借りるモデルで、OS から上は利用者が管理する(例: Amazon EC2)
- PaaS はアプリの土台まで用意されるモデルで、利用者はアプリの開発に集中できる(例: AWS Elastic Beanstalk)
- SaaS は完成したソフトウェアをそのまま使うモデルで、管理はほぼ不要(例: Gmail などの Web メール)
- IaaS → PaaS → SaaS と進むほど管理の手間は減るが、自由度は下がる(トレードオフ)
問題に挑戦