SaaSとは
SaaSとPaaS、IaaSの違いは、ユーザーに提供されるシステムのレイヤーにあります。
- ★データ
- ☆ソフトウェア
- ☆ランタイム
- ☆ミドルウェア
- ☆コンテナ
- ☆OS
- ☆ハイパーバイザー
- ☆サーバ
- ☆ストレージ
- ☆ネットワーク
(★:ユーザーが管理、☆:ベンダーが提供・管理)
SaaSの場合は、上記のようにソフトウェア以下のレイヤーをすべてベンダーが管理し、ユーザーが管理できるのはデータのみです。
それでは、その特徴を詳しく見ていきましょう。
ソフトウェアをサービスとして利用できる形態のこと
SaaSは「Software as a Service」の略で、ソフトウェアをサービスとして利用する形態です。ソフトウェアを自社のサーバで運用するのではなく、インターネットを通じてアクセスして利用します。
SaaSの例としてもっともイメージしやすいのは、ブラウザを通じて使うソフトウェアでしょう。メールやWebミーティング、スケジュール管理、オンラインストレージなど今や多くのSaaSがビジネスシーンで利用されています。
簡単に、負担なく導入できる
SaaSの最大のメリットは導入負担が小さいことです。まず、自前でサーバなどの設備を用意したり、それを運用したりする負担がありません。インターネット上で利用の申し込みをすれば、無料あるいは少額の初期費用だけですぐに使い始められます。
オンプレミス型しかなかった時代にはシステムの導入に膨大なコストがかかっていましたが、SaaSならはるかに簡単に実現するのです。
また、運用が簡単なのもメリットです。たとえば、オンラインストレージではブラウザ上でリアルタイムにデータを編集・保存できます。スムーズなデータ共有が可能になるうえ、紛失の心配もありません。
また、ソフトウェアをベンダーが管理しているため、セキュリティ対策もベンダーが常に最新状態に整えてくれます。アップデートは自動で行われるので、自社で対応しなければならないことはありません。
PaaSとは
PaaSはランタイム以下のレイヤーをベンダーが管理します。したがって、ソフトウェアはユーザーが独自に開発することになります。
- ★データ
- ★ソフトウェア
- ☆ランタイム
- ☆ミドルウェア
- ☆コンテナ
- ☆OS
- ☆ハイパーバイザー
- ☆サーバ
- ☆ストレージ
- ☆ネットワーク
(★:ユーザーが管理、☆:ベンダーが提供・管理)
では、詳しく見ていきましょう。
開発アプリケーションをサービスとして利用できる形態のこと
PaaSは「Platform as a Service」の略で、開発アプリケーションを提供するサービスです。
先述したSaaSは、すでにベンダーが作り上げたソフトウェアを利用する形態でした。手軽に使えるのはメリットですが、自社で自由にカスタマイズできないのが難点です。
それに対して、PaaSでは完成したソフトウェアではなく、ソフトウェアの開発環境が提供されます。自社で開発できる分、業務に最適化したソフトウェアを利用できるのが特徴です。
アプリケーション開発を低コストで行える
アプリケーション開発をゼロから行おうとすれば膨大なコストがかかります。しかし、PaaSでは開発環境がベンダーから提供されるため、ユーザーは自前でそれらを用意する必要がありません。環境の整備に手間をとられることなく、コーディングなどの開発作業そのものに専念できます。
また、人工知能やIoTなど、クラウドサービスだからこその機能をアプリケーションに利用できるのもPaaSのメリットです。
ただし、開発環境が用意されている分、開発の自由度は制限されます。たとえば、各種リソースやプログラミング言語はベンダーから提供されるものしか利用できません。
IaaSとは
IaaSで提供されるのはOS以下のレイヤーのみで、それより上のレイヤーはユーザーが用意することになります。
- ★データ
- ★ソフトウェア
- ★ランタイム
- ★ミドルウェア
- ★コンテナ
- ☆OS
- ☆ハイパーバイザー
- ☆サーバ
- ☆ストレージ
- ☆ネットワーク
(★:ユーザーが管理、☆:ベンダーが提供・管理)
では、詳しく見ていきましょう。
ネットワークリソースをサービスとして利用できる形態のこと
IaaSは「Infrastructure as a Service」の略で、ネットワークリソースが提供される形態です。
先述したSaaSには、ベンダーが用意した開発環境しか使えず自由度が低いデメリットがありました。一方、IaaSならばCPUやメモリといったリソースの構成をユーザーが決められ、その分開発の自由度も高くなります。
ただし、IaaSでは各種リソースの管理や、開発のための高度なスキルを要求されます。SaaSやPaaSでも同じことを実現できるなら、それらを利用した方が負担は少なく済むでしょう。
開発の自由度が高い
IaaSは以下のようなメリットがあるため、ソフトウェアを思い通りに開発できます。
IaaSの利用料金はサーバの利用時間やトラフィック量などに基づいて決まります。使った分だけ支払えば良いので、気軽に導入しやすいでしょう。
また、リソースを柔軟に変更できるのも特長です。CPUやメモリのスペックを自由に選択できるため、開発規模を変更する際にも柔軟に対応できるでしょう。
ちなみに、IaaSと似たものにVPSがあります。これは、仮想のサーバを借りられるサービスで、その点ではIaaSと同じです。
しかし、IaaSが柔軟にリソースを変更できるのに対し、VPSはリソース変更のたびに契約内容の変更が必要です。そのため、自由度の面でIaaSにやや劣ります。
近年注目されている「DaaS」や「FaaS」とは
近年、SaaS・PaaS・IaaSのほかにDaaSやFaaSが注目されています。これらはどのようなものなのでしょうか。
DaaS:デスクトップをサービスとして利用できる形態のこと
DaaSは「Desktop as a Service」の略で、その名のとおりデスクトップ機能が提供されるサービス形態です。仮想デスクトップの一種で、デバイスからクラウド環境のデスクトップ機能にアクセスする形で利用します。
DaaSはデスクトップ機能を用意する場所により以下の3種類に分類されます。
- プライベートクラウドDaaS
- 自社のサーバにクラウド環境を構築し、ユーザーがそこにアクセスしてデスクトップ機能を使う形態です。自前の設備を使うためオンプレミスに近く、高い自由度や安定性が特徴です。
- バーチャルプライベートクラウドDaaS
- IaaSやPaaS上に仮想デスクトップ環境を作り、利用する形態です。完全に自社で管理しているわけではありませんが、ある程度の自由度を確保できます。
- パブリッククラウドDaaS
- 他社と共有の環境を使う形態です。自由度が低い分ローコストで使えます。
FaaS:サーバを気にせずに開発できるサービス形態のこと
FaaSは「Function as a Service」の略で、サーバを気にせずソフトウェアを開発できる環境が提供されるサービスです。
自社でサーバを用意することなくソフトウェアを開発できる点ではPaaSと同じです。しかし、FaaSでは単にサーバを所有しなくて良いだけでなく、サーバの存在を気にせずに済むのが特徴です。
たとえば、FaaSにはオートスケーリングという機能があります。これはサーバにかけられた負荷に応じて自動でリソースの拡張・縮小を行う機能です。本来ならばユーザーが手動で設定しなければならないところを、FaaSならベンダーが対応してくれます。
また、FaaSはイベントドリブン方式に対応しています。これは、ユーザーやプログラムが起こしたアクションに反応してプログラムが実行される形式です。プログラム同士の連携が簡単になり、プログラミングの手間が軽減します。
SaaS、PaaS、IaaSの違いを理解し、ビジネスに生かそう
SaaS、PaaS、IaaSの意味はそれぞれ以下のとおりです。
- SaaS
- ソフトウェアが提供される
- PaaS
- ソフトウェア開発環境が提供される
- IaaS
- ソフトウェア開発環境の一部が提供される
また、DaaSとFaaSの意味は以下のとおりです。
- DaaS
- 仮想デスクトップ機能が提供される
- FaaS
- サーバレスな開発環境が提供される
以上を踏まえ、クラウドサービスへの理解を深めましょう。