近年、インターネットを通じ、さまざまなサービスを利用できるクラウドコンピューティングに注目が集まっています。この記事では、PaaS・IaaS・SaaSの3つのクラウドの特徴をわかりやすく解説します。PaaS・IaaS・SaaSの違いは「目的達成のためにどこまで用意されるか」クラウドコンピューティングは、ユーザー目線でPaaS・IaaS・SaaSの3種類にわかれています。Service」が正式名称であり、インターネットを通じ、ユーザーにサービスを提供する点では同じです。PaaS・IaaS・SaaSの違いは、ユーザーに提供するものが、プラットフォームか、インフラか、ソフトウェアかという点です。下記の表にPaaS・IaaS・SaaSの違いをまとめました。情報システムやWebアプリケーションをゼロから作る際は、まずサーバーを用意し、サーバーに開発環境を載せ、ソフトウェアを開発します。この一連の流れで、サーバーやハードウェアを提供するのがIaaS、データベースやプログラムの実行環境を提供するのがPaaS、完成したソフトウェアを提供するのがSaaSです。そのままでもサービスを利用できるSaaSと異なり、PaaSを利用する場合はソフトウェアの開発が必要です。IaaSの場合は、ライブラリやデータベースを用意したうえで、さらに自分でソフトウェアを開発する必要があります。システム開発を「家屋」に例えるなら、なにもない土地を借りるところからスタートするのがIaaSです。PaaSの場合は土地だけでなく、すでに建築された建物をレンタルします。そのままでは使えないため、建物を自分でカスタマイズする必要があります。SaaSはもっともユーザー側の手間がかからない方法で、すでに完成された家屋の部屋を借りるイメージです。部屋の用途はクラウド事業者に決められているため、自分で自由にカスタマイズできません。Service」の略称であり、ユーザーに開発環境・プラットフォームを提供するクラウドサービスです。PaaSの対象となるユーザーは、システムの開発や保守・運用を行う人です。ユーザーに提供されるのは開発に必要なツール一式であり、下記のようなものがあります。Webサーバー用のOS開発に必要なものがすべて用意されているため、インターネットに接続していれば、クラウド上で開発から保守運用までをトータルでこなせます。PaaS事業者の指定する開発環境にアジャストした体制であれば、導入後すぐにアプリケーション開発をスタートできます。開発環境をゼロから構築しなくてもよいため、サーバーやネットワークといったハードウェア面で頭を悩ませる必要がありません。開発環境の更新やセキュリティ対策は、PaaS事業者が行います。■複数のプログラミング言語に対応PaaS事業者にもよりますが、Java、Python、Ruby、PHP、Node.JS、Goなど、複数のプログラミング言語に対応したサービスが大半です。GUIを用いたものが多く、ソースコードの作成からビルド、デプロイ、アプリケーションの管理まで、視覚的にわかりやすく開発できます。Webアプリケーションの開発だけでなく、システムの保守・運用までもクラウド上で行えるサービスも存在します。Service」の略称であり、インフラ・ハードウェアを提供するクラウドサービスです。開発環境・プラットフォームも含めて提供するPaaSと異なり、サーバーやストレージ、ネットワークといったインフラ面の提供にとどまります。サーバーの構築や運用の専門的知識が必要となるため、主たるユーザーはインフラエンジニアです。情報システムやWebアプリケーションの稼働に必要な仮想サーバーやストレージのほか、社内ネットワークと外部インターネットの隔壁となるファイアウォール、トラフィックを分散してネットワーク負荷を軽減するロードバランサーなども、IaaS事業者が提供しています。自社でサーバーやストレージを用意する場合、保守・運用コストがかかりますが、IaaSの場合は事業者側で管理します。IaaSはインフラ設計の知識が必要ですが、インターネットに接続していれば、導入後すぐにハードウェア設計をはじめられるのがポイントです。■レンタルサーバーとの違いは細かなカスタマイズIaaSとよく似たサービスとして、従来のレンタルサーバーやホスティングサーバーのサービスが挙げられます。ユーザーに仮想サーバーを提供するという点で、IaaSとホスティングサーバーの目的は同じですが、両者には2つの違いがあります。ホスティングサーバーではサーバー構成を自由に選べませんが、IaaSの場合はCPU・メモリ・OSといったハードウェアや、OSと連結するミドルウェアに至るまで、きめ細かくカスタマイズできます。必要に応じ、CPU・メモリ・ストレージのグレードを後から調整できるのもポイントです。料金体系についても、ホスティングサーバーが月額制を基本とするのに対し、IaaSは従量制を採用している点で異なります。使ったら使った分だけ料金を支払うため、結果的にホスティングサーバーよりもコストが安くなるケースが多いです。Service」の略称であり、ユーザーにそのまま使用できるアプリケーションを提供するクラウドサービスです。コンピュータにソフトウェアやアプリケーションをダウンロードする必要がなく、インターネットに接続していれば、どこにいても好きなだけサービスを利用できます。PaaSやIaaSと違い、インフラや開発環境を自分で構築する必要はありません。SaaSのターゲットとなるのは、ベンダーやシステム開発会社だけではなく、一般のエンドユーザーも、日常的にSaaSを利用しています。一般的にクラウドといえば、SaaSのことを思い浮かべる人が大半です。SaaSとして提供されるサービスは数多くありますが、下記のものが代表的です。メールサービスチャットアプリケーションクラウドストレージサービスグループウェアオフィスソフトブログサービスクラウド上で提供できる性質のものであれば、サービスの種類の数だけSaaSは存在します。SaaSには、メールサービスやチャットアプリケーションなど、円滑なコミュニケーションを目的としたサービスが数多くあります。グループウェアやオフィスソフトのように、オフィス以外でもクラウドを通じて作業や情報共有が可能になり、多様な働き方を実現できるサービスも存在します。アプリケーションのアップデートや、セキュリティ対策はSaaS事業者が行います。PaaS・IaaS・SaaSの導入によってできるPaaS・IaaS・SaaSはそれぞれ提供している「できること」が異なるクラウドサービスです。クラウドサービスを導入する前に、達成したい目標を社内で検証し、最適なサービスを選択することが大切です。ここでは、PaaS・IaaS・SaaSの導入によってできることを、それぞれ一覧にして解説します。■PaaSで「できること」はシステム開発へのリソースの集中PaaSの導入によって、下記の4つの目標を達成できます。システム開発のみに社内のリソースを集中できる新しいサービスを短期間でリリースできる実行環境やデータベースを購入するコストをカットできる開発環境の更新や、セキュリティ対策を自社で行わなくて済むPaaSで「できること」は、システム開発に必要なツールが一式で用意されるため、インフラやハードウェアの構築に煩わされず、開発のみにリソースを集中できる点です。PaaSで提供される開発環境にアジャストしたチームであれば、開発環境を用意する手間を省けるため、新しいサービスを短期間でリリースすることもできます。開発コストの面でもPaaSは優秀です。社内にデータベースやプログラムの実行環境が存在しない場合、PaaSを利用することで、新規購入費用をカットできます。開発環境の更新やセキュリティ対策もPaaS事業者が行うため、保守運用のコストを抑えながらシステム開発に集中できます。■IaaSで「できること」は柔軟で臨機応変なハードウェア設計IaaSの導入によって、下記の3つの目標を達成できます。仮想サーバーのCPU、メモリ、ストレージを柔軟に変更できる必要なハードウェアを必要な分だけ用意できる初期費用をかけず、ハードウェア設計のコストを抑えられるIaaSで「できること」は、社内のインフラが整っていない状態でも、クラウドを通じて柔軟にハードウェアを設計できる点です。ホスティングサーバーと違い、IaaSではサーバーのCPU、メモリ、ストレージを臨機応変に変更できます。情報システムやWebアプリケーションを物理サーバーで提供する場合、事前にサーバー数やサーバー性能の見積もりが必要です。IaaSであれば、必要に応じて後からサーバーを付け足したり、性能を上げたりできます。IaaSの料金体系は従量制であり、新規で購入するよりもコストがかかりません。■SaaSで「できること」は手軽で便利なアプリケーションの利用SaaSの導入によって、下記の2つの目標を達成できます。手軽で便利に好きなだけアプリケーションを利用できるテレワークやリモートワークなど新しい働き方を推進できるSaaSで「できること」は、インターネットにさえ接続していれば、さまざまなサービスを好きなだけ利用できる点です。メールサービスやチャットアプリを利用してコミュニケーションをとり、グループウェアやオフィスソフトで作業環境を用意すれば、必ずしもオフィスで働く必要がなくなります。働き方改革の必要性が叫ばれる昨今、テレワークやリモートワークの必要性が高まっており、SaaSの導入は多様な働き方を実現するための第一歩となります。PaaS・IaaS・SaaSのメリット・デメリット■PaaSは導入後すぐに開発できるが自由度は少ないPaaSのメリットは、開発に必要な基盤やツールがすべて提供されるため、導入後すぐに開発をスタートできる点です。社内に開発環境はないが、アプリケーションをリリースしたい場合、PaaSは強力なサポートツールとなります。PaaSのデメリットは、プログラミング言語や実行環境、データベースは自分で選べず、提供されたものをそのまま使うため、開発の自由度が低い点です。必要に応じ、自社のツールやオープンソースのデータベースを採用することは難しいです。■IaaSは開発の自由度が高いが専門的な知識が必要IaaSのメリットは、仮想サーバーやストレージといったインフラ面のみ提供されるため、実行環境やデータベースを自由にカスタマイズできる点です。開発の自由度が非常に高く、なおかつ物理サーバーを購入する場合よりも費用がかかりません。IaaSのデメリットは、インフラ設計やサーバー管理の専門的な知識が必要な点です。社内にインフラエンジニアがいれば、IaaSの導入に適任です。■SaaSは導入後すぐにサービスを使えるがカスタマイズ不可能SaaSのメリットは、インターネットに接続していれば、欲しい機能やサービスをすぐに利用でき、開発のスキルやコストが必要ない点です。クラウドで提供されるため、複数の端末から同時に利用したり、オフィスの外で仕事をしたりすることもできます。SaaSのデメリットは、PaaSやIaaSよりも自由度が低く、自社にフィットしたサービスを用意できるとは限らないという点です。サービスはすでに完成されていますが、独自に機能追加やカスタマイズは行なえません。PaaS・IaaS・SaaSの違いを理解し、最適なクラウドサービスを導入しよう今回は、代表的なクラウドであるPaaS・IaaS・SaaSの違いを解説しました。PaaS・IaaS・SaaSは、プラットフォーム、インフラ、ソフトウェアをユーザーに提供する点で異なります。開発環境が提供されるPaaS、仮想サーバーやストレージが提供されるIaaSは、自社に適したサービスを自由に構築できます。SaaSにはインターネットを経由し、完成したサービスを利用できます。詳しく見るサービス一覧ご導入の流れ豊富なIoTのノウハウで、現場のお困りごとを解決。ユーピーアールのIoTソリューション。採用情報ニュースお問合せ。