「クラウド」としてひとまとめにされがちな「SaaS」「PaaS」「IaaS」
これら3つのクラウドサービスは、業務システムを構築する中で必ずと言っていいほど目にする言葉です。しかし「SaaS」「PaaS」「IaaS」の違いを正しく理解できていない人も多いのではないでしょうか。
「SaaS」「PaaS」「IaaS」の明確な違いと、メリットデメリットについて把握しておくことは、システム開発担当者にとって必須です。
当記事では「SaaS」「PaaS」「IaaS」3つのクラウドサービスの違い、それぞれのメリットデメリットについて解説します。
クラウドサービスとは?
そもそもSaaS、PaaS、IaaSの3つのモデルのサービスの基となるクラウドサービスとは何を指すのでしょうか。
クラウドサービスは、簡潔に言うと”ネットワーク経由で提供されるサービス”のことです。
ネットワークにつながる端末(パソコン、スマホ、タブレット等)さえあれば、ネットワークを介して様々なサービスを利用することができます。
従来は手元にあるソフトウェアやデータを利用していましたが、クラウドができたことによりネットワーク環境とデバイスさえあれば、どこからでもサービスにアクセスすることが可能になりました。
レンタルサーバーとの違いは?
クラウドサービスと同じようなサービス形態で、レンタルサーバーがあります。レンタルサーバーは共有のサーバーをネットワーク経由で利用するサービスです。
レンタルサーバーもクラウドも、外部にあるサーバーを利用することに変わりはないですが、レンタルサーバーは、サーバーに特化したクラウドサービスとして認識されています。このことからも「クラウド」という語句が表す意味は、範囲が大きく様々な意味で解釈されるということが分かるでしょう。
そのためクラウドは、提供範囲に応じてSaaS、PaaS、IaaSという3つの用語に分類されています。
それではこの3つの用語はどのような違いがあるのか、順に見ていきましょう。
SaaS、PaaS、IaaSの違い
SaaS、PaaS、IaaSは、利用形態によって分類された用語です。それぞれ、クラウド事業者がどの階層まで提供するかによって名称が違います。
上図のように、IaaSはサーバーやネットワークの管理を事業者がおこない、PaaSはOSやミドルウェアまで、SaaSは事業者がデータ部分以外のすべてを管理します。
IaaSのように、開発者が管理できる範囲が広いと構築の自由度は上がりますが、インフラ関連の専門知識が必要、管理の手間がかかるなどのデメリットも。
一方でSaaSのように利用者の管理範囲が狭いサービスは、カスタマイズ性が低い分、管理は楽になるのです。
それでは具体的にSaaS、PaaS、IaaSの特徴や実際のサービスにどのようなものがあるのかを次項で解説します。
SaaSとは
SaaSは「Software as a Service」の略で、ソフトウェアをサービスとして提供し、従来はパッケージ製品として売られていたサービスをネットワーク経由で使えるようにしたサービスのことを指しています。
その為インターネットに接続できる環境さえあれば、サービスを利用する端末を選ばずマルチデバイスでの利用が可能です。
事業者の管理範囲が広いSaaSの情報セキュリティは、ほぼすべてのセキュリティを事業者側で管理し、利用者はソフトウェア上のデータのみ管理する形態です。
SaaSのサービス例
SaaSの具体的なサービスは、Yahoo!メールやGmailなどのフリーメール、TwitterなどのSNSやアメブロなどのブログサービスなども挙げられます。
Googleが提供している、Googleドキュメント、Googleカレンダー、GoogleマップなどもSaaSのサービスとして有名です。
SaaSのメリットとデメリット
SaaSは、管理のしやすさと使いやすさが大きなメリットです。
通常ソフトウェアサービスを利用する際は、デバイスにソフトウェアをインストールする必要がありますが、SaaSのサービスは、オンライン上で契約を含めたサービスが完結します。その為デバイスが変わってもインターネット環境さえあればログインして使用できます。
またSaaSの場合、事業者がほとんどの管理をしてくれるので、逐一更新する手間もありません。
加えてSaaSサービスの多くはサブスクリプション型のサービスのため、毎月の支出を把握しやすく計画が立てやすいところも魅力の一つです。
ですが一方で、SaaSは利用者側でカスタマイズがしにくい、というデメリットも。
SaaSは様々な業種や職種、または個人でも使えるように簡素化されていることがほとんどです。その為自社業務に合ったサービスを導入することが必須になるでしょう。
また、基本的にはネットワーク環境とログイン情報さえあれば誰でもログインしてサービスを利用することができるため、ログイン情報の管理は徹底しておこなう必要があります。
加えて、ほとんどすべての管理を事業者側でおこなうため、サービスに障害が起きた場合なども自社での対応ができません。トラブルが起きた時には復旧を待つことしかできない、というのもデメリットの一つと言えるでしょう。
PaaSとは
PaaSは「Platform as a Service」の略で、プラットフォームをインターネット上のサービスとして提供します。
サーバー、ネットワーク、OSなど、アプリケーションを実行するために必要な動作環境を外部に開放します。
開発者はその環境下で開発をおこなえるため、機能開発に工数を割くことができ、開発工数を削減できることが特徴です。
PaaSのサービス例
Googleの提供するPaaSサービスとしては、サーバーレスのアプリケーション実行環境である「Google App Engine(GAE)」があります。インフラ部分はGoogleが管理するため、運用管理の負荷は軽減されるでしょう。
Webアプリケーションの開発から実行、運用までをクラウド上で完結できるHerokuもPaaSサービスとして有用です。拡張機能が豊富で運用サポートも充実しているため、運用にかかる手間やコストを削減できます。
PaaSのメリットとデメリット
PaaSは開発に必要なプログラミング言語やデータベース管理システム、OSなど開発に必要な基盤や開発ツールが合わせて提供されるため、複雑な開発環境を整える必要がありません。その為すぐにシステム開発に取り掛かることができ、開発業務に集中できることが大きなメリットです。
また、サーバやOS、バックアップを構築するためのハードウェアの費用など、開発に関わる初期投資を抑えることもできます。
加えて、プラットフォームにエラーが生じた場合でも、PaaSサービスであればプラットフォームの管理は事業者がおこなうため、エラー処理などにかかる時間や手間も削減できるでしょう。
一方で、開発環境は開発者には選べないため、使い慣れたプログラミング言語やミドルウェアが非対応だった場合、開発の手間がかかってしまう懸念があります。
開発環境に関わる自由度が低いのはPaaSのデメリットと言えるでしょう。
更に、セキュリティ面に関しても事業者がすべての権限を持っているため、万一の情報漏洩などの可能性は否めません。通信の暗号化対策など、情報の取り扱いについてきちんと明示されている事業者を選ぶ必要があります。
IaaSとは
IaaSは「Infrastructure as a Service」の略で、情報システムの稼動に必要なサーバーやストレージ、ネットワークなどのハードウェアからインフラまでを提供するサービスです。
IaaSは、自社でサーバーなどのハードウェアをもたずに、インターネット経由でサーバーやストレージ、ネットワークリソースを利用することができます。
IaaSのサービス例
IaaSのサービスは大手が多く提供しており、代表的なサービスとして
・Amazonが提供する「Amazon Elastic Compute Cloud (Amazon EC2)」
・マイクロソフトが提供する「Microsoft Azure」
・Googleが提供する「Google Compute Engine(GCP)」
これら3つのサービスが挙げられます。
それぞれの料金体系やサポート面、セキュリティの観点から比較してサービスを選ぶと良いでしょう。
IaaSのメリットとデメリット
IaaSは、開発環境も開発者に合ったものが選択できるため、開発の自由度が高く自社のニーズに合わせた開発が可能です。
また、サーバーのCPUやハードディスクなどは必要な時に必要な分だけ借りることができ、ストレージのスペックも自由に選択できます。これによりスケールの調整もしやすくなるでしょう。
更にIaaSではサーバーは事業者が提供するため、サーバー管理にかかるコストを削減できることも魅力の一つです。
ただし、IaaSのサービスは従量課金制なので、本当に開発に必要なだけの料金で利用できますが、利用範囲によってはSaaSやPaaSに比べるとコスト面では劣るかもしれません。反対に利用範囲が少なければコストは削減できます。
IaaSは提供されるサービスが最低限のため、サーバー管理やインフラ設計の専門知識や高いスキルを持った人材が必要な点はデメリットと言えるでしょう。
また、IaaSはSaaSやPaaSと違い、導入後の運用、管理、保守も自社でおこなう必要があり、他と比べて運用の労力がかかるため、導入前に社内の運用体制を整えておくことが大切です。
SaaS、PaaS、IaaSは目的ごとに使い分ける
これまで解説してきた通り、SaaS、PaaS、IaaSはそれぞれ提供範囲の他に、スキル面、コスト面、セキュリティ面での違いがあります。
特別なスキルが必要なく、手軽に便利なアプリケーションを使用したいのであればSaaS。
手間や労力をかけず、短期間で開発するのであればPaaS。
サーバーなどのコストやセキュリティを見直し、一から自社で開発するのであればIaaS。
など、それぞれ目的や開発の自由度、コスト面で選ぶサービスが変わってくる為、自社がサービスを導入する目的や従業員のスキル、予算を今一度見直し、最適なサービスを導入しましょう。
当社の導入事例
当社ではSaaSの導入事例が多くあり、主に「kintone」というクラウドサービスを使っています。
kintoneはあらゆる業種、あらゆる仕事の業務課題を解決することができるクラウドサービスです。
特別なスキルや専門知識は必要なく、使いたい用途に合わせて100種類以上のアプリケーションの中から課題に合ったものを導入し、業務効率化を図ります。
それでは実際にkintoneを導入したお客様の事例をご紹介します。
■kintone導入事例
導入前:顧客管理や問い合わせ対応に使用する社内ツールがバラバラでまとまっておらず、Excelなどで管理していた。
導入後:顧客管理や問い合わせ対応に関する情報をすべてkintoneに集約し、kintone内で業務を完結できるため、生産性が向上した。
kintoneの強みとなる以下3つの機能を使用し、業務の効率化を図りました。
・0ベースで入力フォーマットを作成可能。企業ごとにオリジナルで構築ができる
・Kintone内で複数のアプリ運用が可能+連携が容易(顧客管理、問い合わせ管理、経費精算ツールなど)
・入力した情報は自動でグラフ化→社内データの可視化が容易
まとめ
SaaS、PaaS、IaaSの違いやメリットデメリットについて知ることができたでしょうか?
それぞれの開発環境の違い、メリットとデメリットを比較して、自社で開発する目的や開発者のスキル、予算によってどのサービスを選ぶのかを決定していきましょう。