今更聞けない、「SaaS」「PaaS」「IaaS」3つの違いとは?
SaaSがバズワード化して久しいですが、クラウド用語には「PaaS」「IaaS」というものもあります。
しかもそれぞれが「サービスとしての提供」をしているので余計に混乱してしまいそうですよね。
今回の記事では、今更聞けない「SaaS」「PaaS」「IaaS」の違いについて解説していこうと思います。
SaaS(Software as a Service) とは?
語義通りに解釈するならば、「ソフトウェアをサービスとして提供している」という意味になります。
従来のソフトウェアはPC端末へのインストールが必要であり、作る側からしてもインストール用のCD・DVDを作成してそれを市場で販売するコストがかかりますし、端末の環境次第では動かないケースがよく見られました。
業務用ソフトウェアは前述したtoCソフトウェアよりもかなり複雑で、高額なサーバーの購入・構築、ミドルウェアの選定、実際に機材をサーバールームに持ち込んで、運用中はその監視、と手間もコストもかかります。
対してSaaSはサービスとして提供しているのだから、SaaSには面倒なクライアントへのインストールなどを要求することはありません。
基本的に環境はWebで完結していて、例えばサーバーの監視やソフトウェアを動かすためのミドルウェアをどう管理するべきか、というのはSaaS提供会社が面倒を見てくれます。
Web上で動くシステムをぽちぽちしていくだけで、想定された業務が完了してしまう、ということを目指したのがSaaSと言えるでしょう。
従来のオンプレのソフトウェアがパッケージとして販売されていたことと対比的です。
SaaSは主に、事業に従事する業務担当者をターゲットにしています。
たとえば、会計ソフトfreeeはSaaSです。私も使っています。
自分のMacにソフトをインストールするわけでもなく、Webでログインすればすぐダッシュボードが立ち上げ、利用できます。
日々の領収書を入力し、試算表から資金繰りの様子が見れます。もし私にプログラミングの素養が無くてもこのプロダクトを動かすだけならできます。
ちなみにこのnoteもSaaSですね。
WordPressの知識が無くてもブログを立ち上げることができ、利用者は「良い文章を書く」ことに集中できます。
また決済の知識が無くても有料記事を設定することができ、自分の書いた記事を収益化することができます。
うまく活用すれば中小・零細企業のシステムはNoCodeで構築することができます。
PaaS(Platform as a Service) とは?
PaaSはアプリケーションが稼働するためのハードウェアやOSなどのプラットフォーム一式をインターネット上のサービスとして利用できる形態です。
PaaSは主に、アプリケーションエンジニアをターゲットにしています。
例えば、HerokuはPaaSです。
Herokuは今こそたくさんの環境を動かせますが、昔はRailsアプリケーションが稼働するためのプラットフォームでした。
Herokuの仕組みに則ってアプリケーションコードを書くだけで、Webアプリケーションを公開、CI・CDの自動化、masterにpushするだけでデプロイが行えるようになります。
ゼロからサーバー構成を作っていくとこのあたりの構築はそこそこ面倒ですが、PaaSに乗っけることで安全かつ高速にWebアプリケーションを世に出せるようになります。
特に少人数のエンジニアでWebサービスを立ち上げる必要がある(=アプリケーションエンジニアとインフラエンジニアを分けて採用する余裕がない)場合によく利用されます。
IaaS(Infrastructure as a Service)とは?
アプリケーションを利用する環境も含めて一括で提供するPaaSとは異なり、IaaSはサーバーやストレージに加えてネットワークなどのハードウェアやインフラまでを提供するサービスです。
IaaSは主に、インフラエンジニアをターゲットにしています。
さくらVPSはIaaSです。有名なところでもう一つ例を挙げるとAmazon EC2もIaaSです。
「linuxの箱ポンって出てくる」というイメージですね。それにアプリケーションやミドルウェアを入れたり、ネットワーク・ファイアウォールの設定をするのは開発者自身です。
サーバー機材を購入してそれを冷えたサーバールームに配置して温度を管理する、劣化した機材は取り替える...といった、オンプレで頭を悩ませるハードウェア機材そのものの物理的な管理からは解放されます。
一般的に、SaasやPaaSより使用料金が低く、構築の自由度は高いのは確かですが、優れた構築技術が必要となります。自由とは責任。
まとめ
・SaaSは業務担当者向け
・PaaSはWebアプリケーションエンジニア向け
・IaaSはインフラエンジニア向け
本記事では、SaaS,PaaS,IaaSについて簡単ではありますが解説を行いました。
SaaSばかりバズワード化して久しいですが、本来SaaS、PaaS、IaaSはそれぞれの役割に応じて分けて使うものです。
事業フェーズや自社のエンジニアの比率などを考えながら、適切な技術選定を行っていきたいですね。
他にも記事を書いているので良ければ見ていってください。
ここまで読んでいただいて、ありがとうございます。サポートいただけると記事を書くモチベーションになりますので、よろしくおねがいします。