INDEX
PaaSという言葉を耳にしたことはあるでしょうか。「SaaS・PaaS・IaaS」の3セットで言葉を耳にしたことのある方も多いかもしれません。
SaaS・PaaS・IaaSはすべてクラウドサービスです。クラウドで提供する内容が違うため、名称が分れています。
この記事ではPaaSとは何か知りたい方へ向けて、PaaSの意味、サービス例、SaaS・IaaSとの違い、メリット・デメリットを紹介していきます。
[su_accordion][su_spoiler title=”目次” open=”no” style=”fancy” icon=”plus” anchor=”” class=”l-ttl mintcream”]
PaaS(パース)とは
PaaS(パース)は、Platform as a Service(サービスとしてのプラットフォーム)の略です。クラウドサービスのうちプラットフォームを提供するものを指します。
従来のシステム開発では、必要なネットワーク、ハードウェア(CPU、メモリー、ストレージなど)、OSやミドルウェアを自前で準備し、そのあとアプリケーション開発をする必要がありました。PaaSの場合、こうした準備が整ったアプリケーション開発環境であるプラットフォームをネットワーク経由で利用でき、いきなりアプリケーション開発に専念できます。
PaaSの例としては、Google App EngineやMicrosoft AzureのApp Service、Amazon WebService(AWS)のLambdaやElastic Beanstalkがあります。
クラウドとは何か
PaaSはクラウドサービスのうちソフトウェアを提供するものと述べ、PaaSの説明を進めてきましたが、そもそもクラウド(クラウドコンピューティング)とは何でしょうか。
米国国立標準技術研究所(National Institute of Standards and Technology, NIST)の資料によると、クラウドの定義は以下のようになっています。
編集部で作成
この定義を簡潔にまとめると、クラウドとは「どこからでも、簡便に、必要に応じて、コンピューティングリソースにネットワーク経由でアクセスできるモデル」です。
ひとことでクラウドサービスといっても、クラウドの提供できるサービスは幅広いです。ソフトウェア自体を提供することもあれば、開発するためのツールや環境を提供することも、環境構築の場を提供することもあります。
そこで、同じクラウドサービスでも、提供内容によりPaaSのほか、SaaS(サース、Software as a Service)、IaaS(イアース、Infrastructure as a Service)と名前を分けています。
SaaS・PaaS・IaaSの違い
SaaS、PaaS、IaaSそれぞれの提供内容をひとことでまとめると、以下のようになります。
- SaaS:クラウドサービスのうちソフトウェアを提供するもの
- PaaS:クラウドサービスのうちプラットフォームを提供するもの
- IaaS:クラウドサービスのうちインフラストラクチャーを提供するもの
これら3つの提供する構成の違いを図示すると、以下のようになります。
編集部で作成
SaaSでは、「クラウドのインフラストラクチャー上で稼動しているプロバイダ由来のアプリケーション」(=ソフトウェア)が提供されます。自分で開発する部分がなく、専門性が低くても使えます。一方で自由度は低く、アプリケーションに設定されているカスタマイズ機能をいじる程度です。
PaaSでは、「クラウドのインフラストラクチャー上にユーザが開発したまたは購入したアプリケーションを実装する」機能(=プラットフォーム)が提供されます。提供されたプラットフォームで、自分でアプリケーションを実装できます。プラットフォームには、開発ツール、データベース管理サービス、実行時に必要なライブリーやモジュールも含まれます。必要な専門性も自由度もSaaSとIaaSの中間です。
IaaSでは、「演算機能、ストレージ、ネットワークそのほかの基礎的コンピューティングリソース」(=インフラストラクチャー)が提供されます。PaaSのようにプラットフォームとして整ったアプリケーション実装環境が提供されるわけではありません。自分でミドルウェアを導入し、そのうえでアプリケーションを実装する必要があります。OSは提供されている場合も、提供されていない場合もあります。OSが含まれないクラウドサービスは、IaaSのほかHaaS(ハース、Hardware as a Service)と呼ばれることもあります。SaaSとPaaSより自由度が高い一方で、高い専門性も必要です。
SaaS・PaaS・IaaSの比較まとめ
前節で述べたIaaS・PaaS・IaaSの特徴を表でまとめると、以下のようになります。
編集部で作成
PaaSのメリット・デメリット
PaaSにはどのようなメリット・デメリットがあるか紹介します。
PaaSのメリット
- インフラ開発の手間を省ける
- 設備投資を抑えられる
- 保守運用の手間が減る
- コーディングの手間が減少する
プラットフォームでいきなりアプリケーション開発を始められる。IaaSと比較するとOSやミドルウェア導入の手間が省ける。
クラウドサービス全般にいえる話だが、ネットワーク経由の利用なので、実際にハードウェアなどからを用意する場合より設備投資を抑えられる。
プラットフォームやハードウェアにトラブルが発生した時の対応や保守運用はPaaSの提供者が実施するため、保守運用の手間が減る。
PaaSのなかにはローコード、ノーコードでのアプリケーション開発を可能にするプラットフォームをもつもの(Microsoft AzureのAzure Machine Learning Studio、Google CloudのDialogflowなど)があり、コーディングの手間を減らせる。
PaaSのデメリット
- 開発環境の自由度が少ない
- セキュリティは提供者に依存
プラットフォームの設定を利用する必要があるため、開発環境の自由度が少ない。CPUやストレージ、ミドルウェアなどの選択に限りがあるほか、使用可能なプログラミング言語も限定される。より自由度の高い環境を求める場合は、IaaSやホスティングサービスの利用が必要となる。
セキュリティ対策のレベルは提供者に依存するため万全でない場合もある。場合によっては開発内容流出や個人情報流出の恐れがあるため、セキュリティ対策内容を確認して利用するサービスを決めた方が良い。
この記事では、PaaSの意味と例、SaaS・IaaSとの違い、メリット・デメリットを紹介しました。
PaaSには、インフラ開発の手間を省きアプリケーション開発に専念できる一方で、開発環境に制限があるという特徴があります。サービスにより提供される環境は異なるため、求める開発環境の要件を満たすPaaSを見つけられるかもしれません。満たすものがない場合、IaaSやホスティングサービスといったより自由度の高い開発環境の検討が必要となります。
PaaSには、AIによる予測やデータ分析を念頭におき、学習済みモデルを用意しているものもあるため、AIモデル開発を手軽に始めたい場合にも向いています。