オンラインサービスが増えいますが、よく耳にするこの「SaaS、PaaS、IaaS」について、なんとなく分かっているつもりで実はあまり理解していないって事はないでしょうか?
筆者がまさにそうなんですが、こういったものって実際に作業に関わってないとなかなか頭に入らないものですよね。。SaaSは皆さん利用しているでしょうけど。
そこで今回は「SaaS、PaaS、IaaS」の意味と違いについて、色々と調べてみたのでまとめてみたいと思います。
はじめに
「SaaS、PaaS、IaaS」はすべてクラウドサービス(WEBが提供するサービス)であり、それぞれに特徴があるので、用途によって使い分けられます。
分かりやすく、「お店のサービス」でよく例えられています。店がラーメン屋だとして、サービス利用者側からの目線でいえば、
SaaSは「食べたいラーメンを注文すれば出てくる。」
PaaSは「決められた設備の揃ったキッチンを借りて、自分で好きなラーメンを作る。」
IaaSは「からっぽの家だけ借りて、設備はすべて自分で用意して好きなラーメンを作る。」
大きく違うのは、「食べる側」か「作る側」に分かれるところと、設備の有り無しです。
まだ意味不明だと思いますので、詳細を下記にまとめていきたいと思います。
SaaS(サース)
Software as a Serviceの略で、WEB上に利用したい完成されたサービスが存在するため、利用者は特別な作業をせずにサービスを利用する事ができます。
Gmailや音楽配信などのサブスクリプションが該当します。
メリット・デメリット
メリットは前途したように、利用者は特別な技術がなくともサービスを利用することができます。
デメリットとしては、完成されたサービスであるため、自分好みにカスタマイズすることができません、つまり開発には使えないって事ですね。
冒頭のラーメンでいえば、客として行ってるので、注文したものは簡単に出てくるけど、もちろん作ることはできないですよね。
PaaS(パース)
Platform as a Serviceの略で、主にサービスの開発に利用されます。
開発に必要なインフラ(OSやデータベース、ネットワーク環境など)がWEB上に整っているので、個人の環境を気にする必要がなく、WEB上でサービスを作る事に専念できます。
Google App Engine等が該当します。
メリット・デメリット
メリットは前途した通り、個人の環境を気にする必要がなく、WEB上でサービスを作る事に専念できます。
デメリットとしては、WEB上の環境(インフラ)をカスタマイズ出来ない事になります。
冒頭のラーメンでいえば、作る側で好きなラーメンは作れるけど、設備があらかじめ決められているのでその点で自由が効かないってことですね。
IaaS(イアース)
Infrastructure as a Serviceの略で、これもサービスの開発に利用されますが、開発に必要なインフラが最低限のもの(HDDとかサーバー)しか揃っていません。
ただし、そのインフラ部分を好みにカスタマイズできるので、より自由なサービスが開発できるわけです。
レンタルサーバーなどが該当します。
メリット・デメリット
メリットは前途した通り、インフラ部分を好みにカスタマイズできるので、より自由なサービスが開発できる事です。
デメリットはその分専門的な知識が必要になってくる事です。
冒頭のラーメンでいえば、一から設備を選べるので、より理想のラーメンを作れるってことですね。ただし、設備選びにはそれなりの知識が必要になると。
補足
それぞれのサービスを図解で表すと、上図のようになります。
※ミドルウェアとは、OSとアプリの架け橋的なツールで、データベース(MySQLとか)、WEBサーバー(アパッチ)等が該当します。WordPressとかでは必須ですよね。
SaaSは全て対応しているため、利用者はサービスを受けとるだけでいい事が分かります。
PaaSはミドルウェアまで対応しているため、サービス開発の環境が整っていることが分かります。
IaaSはOSまでの対応なので、ミドルウェアの追加など、自由が効く分、知識が必要になる事が分かります。
まとめ
ざっくりとまとめ
・SaaS:サービスの提供。
・PaaS:サービスの開発。(環境が整っているが開発に自由が効かない)
・IaaS:サービスの開発。(環境を構築する手間があるが開発に自由が効く)
以上です。
ほんとざっくりいうと、上記まとめみたいな感じですが、細かい内容は本文にかいてますので、それを参考にしていただければと思います。