【SaaS, PaaS, IaaS】◯aaSとは?【◯◯ as a Service】

最近では、SaaSとかPaaS、IaaSといった◯aaSという単語を目にすることが多くなってきました。

これらはクラウドサービスを表しているもので、そのまま訳すと「〜としてのサービス」ということになります。

クラウドサービスとは、インターネットを通して何らかのシステムを提供してくれるサービスです。

どうしてクラウドサービスが登場したのかということから、いくつかの◯aaSについて見ていきます。

 

クラウドサービスの登場

少し昔の話からになりますが、1990年代から2000年代にかけては、インターネット上でサービスを行うには物理サーバーが必須でした。

ユーザーに快適なサービスを提供するには、十分なスペックを持ったセキュリティ面も心配ないようなデータセンターで多くのサーバーを運用することが必要となります。

しかし、サーバーというのはハードウェアの故障が発生する可能性もありますし、そもそもサーバーを導入して問題なく運用していくには資金も時間も十分に用意する必要がありとてもコストが高いものでした。

ここで注目されるのがハードウェア仮想化の技術です。ハイパーバイザ(仮想機械を実現するための制御プログラム)などを利用して1つの物理サーバーでいくつもの仮想サーバーを並列実行できるようにすることで、計算資源や導入コストを大幅に削減することができました。

ハードウェア仮想化はこのように多くの利点があり問題は解決されたように思えましたが、今度は別の不満が発生しました。

それは仮想化のメリットを享受するためには自身で少なくとも1つのハードウェア資産を持っている必要があるということです。

このため物理サーバーと同様に初期投資やハードウェアについての深い知識が必要となってしまうため、依然としてリスクはつきまとっています。

ここでいよいよ登場するのがクラウドコンピューティングの技術です。

クラウドコンピューティングではプロバイダ側が十分なインフラを整えて潤沢なリソースを持ちます。

ユーザーはこのリソースを利用することで、自前でインフラを整えなくとも好みのスペックで仮想サーバーやネットワークストレージを利用することができるようになりました。

これらの利便性や柔軟性によってクラウドコンピューティングは普及していきます。

ここで登場してきたのがSaaSやIaaS、PaaSといったクラウドサービスです。

 

SaaS (Software as a Service)

SaaSはソフトウェアとしてのサービスです。「サース」と読みます。

ユーザーはクラウドのインフラ上で実行されるソフトウェアを利用することができ、PC、スマートフォン、タブレットなど様々なインターフェースを通して使うことができます

ここでユーザーはこのソフトウェアがどのようなシステムやネットワークで運用されているんだろうといったことは何も意識する必要がありません。

代表例としてGoogle AppsやDropboxがSaaSとなります。

 

PaaS (Platform as a Service)

PaaSはサービスとしてのプラットフォームです。「パース」と読みます。

プラットフォームというのはアプリケーションを実行するOSやハードウェアなどですが、これをインターネットを通して利用することができます。

PaaSは主に開発者が利用することになると思いますが、環境が既に整えられているので開発者はプログラミングなどの開発に専念することができます。

システム管理は必要ないものの、デプロイや実行環境の設定変更は行えることが多いです。

代表例としてはGoogle Apps EngineやMicrosoft Azure、HerokuなどがPaaSとなります。

 

IaaS (Infrastructure as a Service)

IaaSはサービスとしてのインフラストラクチャです。「アイアース」や「イアース」と読みます。

計算機やストレージ、ネットワークなどコンピュータの基本的なリソースが利用可能です。

システム環境は自分で整えたいが、自前でハードウェアは用意したくないという時に便利なサービスです。

プロダクトの規模感がわからない時などは、IaaSを利用することで自由にリソースを増減できるため大幅にリスクが減らせます。

代表例としてはGoogle Compute EngineやAmazon Elastic Compute Cloud (EC2)などがIaaSとなります。

 

 

他にも多くの◯aaSが存在しており、「AからZまですべて存在する説」なんてのもありました笑

とても便利なクラウドサービス、利用されてみてはいかがでしょうか。

 

仮想化についてはコンテナ仮想化技術を用いたDockerが人気なので、以下の記事もぜひ合わせてお読みください。

初心者こそDockerを使ってみよう【入門】