PaaSとは? SaaSやIaaSとの定義の違いを、具体例を挙げてわかりやすく解説
クラウドサービスについて調べていると、「PaaS」という用語をよく目にします。PaaSは「Platform as a Service」の略称で、クラウドサービスの利用形態の一種です。クラウドサービスにはPaaSのほかにも、「SaaS」や「IaaS」といった形態がありますが、これらの違いやそれぞれの定義とはどのようなものなのでしょうか。この記事では、PaaSをはじめとした各形態の特徴について、図解や実際のサービス例などを交えながら解説します。
SaaS、PaaS、IaaSの分類
インターネットを通じてソフトウェアやインフラを提供する「クラウドサービス」には、主に3種類の形態があり、「SaaS」「PaaS」「IaaS」はその種類を指す言葉であり、クラウド事業者が運用管理し、サービスとして提供する範囲の違いによって分類されます。
図のように、SaaSは完成されたアプリケーションを一つのサービスとしてそのまま利用できる形態で提供します。一方IaaSは、各種システムを稼働させるために必要な基本的なインフラ(ハードウェア層)のみを提供します。PaaSはこれらの中間にあたり、アプリケーションを開発・実行する際に必要なプラットフォームを提供します。
SaaSとは
SaaSは「Software as a Service」の略で、「サース」または「サーズ」と読みます。インターネットを介して、クラウド上に用意されたソフトウェア(システム)にログインするだけで各種機能が使用できるサービスです。PCやタブレット端末、スマートフォンなどさまざまな端末を使ってアクセスできるものが多く、代表的な例ではWebメールサービスやチャットツール、ファイル共有ツール、会計ソフトウェアなどが挙げられます。
アプリケーションの開発や更新、メンテナンスなどの運用はサービスベンダー(サービス提供事業者)が行うため、ユーザーは、ソフトウェアのアップデートや不具合の修正といった管理工数を費やすことなく、最新のアプリケーションが使用できます。SaaSでは完成されたアプリケーションが提供されるため、ほかの形態と比べて機能面での自由度は低いものの、導入するハードルは比較的低いといえます。
契約をしてアカウントを作るだけでアプリケーションを使用できるものも多く、個人向けに提供されているサービスも多いことから、システム開発の専門知識がある人以外にもよく利用されています。
Webサービスとの違い
SaaSと混同されやすい言葉に「Webサービス」があります。Webサービスと聞くと、インターネットを介して「人が受けられるサービス」という印象を受けますが、本質的には「システムとシステムが連携するためのサービス」を指す言葉です。
そのため、SaaSはデータ保存領域などのリソースや各種機能といったものを「サービス」として提供しているのに対し、WebサービスはAPI(ソフトウェア同士を連携させるためのインタフェース)やソースコード管理共有ツールのような「手段」を提供していることが、両者の違いです。なお、クラウドサービスの一つとして、Webサービスが提供されるケースもあります。
ユーザーがSaaSを導入するメリット
ユーザーにとってのSaaSの主なメリットは、専門的なスキルがなくても手軽に導入できる点です。SaaSの形態で提供されるアプリケーションであれば、わざわざ使用するPCにインストールする必要もありません。インターネットに接続してさえいれば、どこでもデータにアクセスできる点が魅力で、PCに限らずタブレット端末やスマートフォンでも利用できます。また、このようなメリットを持つサービスの登場は、テレワークの普及にも大きな影響を与えました。
SaaSビジネスモデルの特徴
SaaSを用いた一般的なビジネスモデルは、ソフトウェアが持つ機能の中から、ユーザーの目的に合った機能を、期間を定めて課金してもらうというものです。そのため、サービスの幅が広がり、個人や法人を問わず提供しやすいという特長があります。IaaSやPaaSの場合は法人におけるシステム開発が主な用途とされているのに対し、SaaSは「同じメールサービスを、業務用アカウントと個人用アカウントのどちらでも活用している」といった例も少なくありません。
また、SaaSのサービスはそれぞれ特定の課題を解決することを目的に作られていることが多いため、すでに明確になっている課題がある場合に利用されるケースが多いです。例えば、「請求書の計算や入金状況の確認を人の手で行うことが負担になっている」という場合に、SaaS型の会計システムを取り入れれば課題の解決につながります。
SaaSを提供するサービスベンダーのメリット
SaaSビジネスは、形あるものを消費する「モノ消費」とは異なり、形のない体験の価値を重視する「コト消費」に該当するビジネスです。消耗品のようになくなってしまうこともなく、一度作れば基本的には使い続けられます。このような特徴により、サービスベンダーには次のようなメリットがあります。
- 顧客が獲得しやすい
まずは「お試し」で利用を開始しやすいサービス形態であり、契約を継続してもらうことが重要なため、新規開拓が比較的しやすい。 - 継続した利益を得られる
月間または年間のサブスクリプション方式を採用することで、定期的な売上が発生するため、安定して利益を得られる。 - 顧客単価の向上を狙いやすい
契約を継続しているユーザーに向けて、新たなサービスやプランを提案するアップセルにより、顧客単価を向上させられる。
SaaSを提供するサービスベンダーのデメリット
SaaSには前述のようなビジネス上のメリットがある一方で、ユーザーに契約を継続してもらうための施策が必要です。さらに、段階的に顧客単価の向上を狙うことが多いことから、次のような点がデメリットとなる場合があります。
- 採算が取れるまでに時間がかかる
サービスを開発するための初期コストが大きい半面、初期段階では収益が少ないため、投資を回収するまでに時間がかかる。 - アップデートを続けなければいけない
競合との差別化のために、コンテンツの追加や機能のアップデートが求められ、それを怠ると解約率の増加につながりやすい。 - カスタマーサポートの負担が増えやすい
継続利用を獲得するためには丁寧なサポートやフォローアップが必要となり、カスタマーサポートの負担が大きくなりやすい。
SaaSにおけるセキュリティ対策の必要性
SaaSは、個人や法人を問わず幅広いユーザーに利用しやすい形態である一方で、不特定多数のユーザーが利用するサービスのため、サイバー攻撃の標的になりやすいというリスクもあります。また、人為的なミスによって情報漏洩が発生する可能性もゼロではありません。
サービスベンダーが管理体制を構築し、適切なセキュリティ対策を行うことはもちろん、ユーザーとしても、サービスごとにIDやパスワードなどの認証情報を管理する仕組みを取り入れたり、機密情報のやりとりをルール化したりといった対策を取ることが大切です。
PaaSとは
「PaaS(Platform as a Service)」は、システムやサービスを構築し実行するための土台となる環境(プラットフォーム)をクラウド上で提供するサービスで、「パース」と読みます。アプリケーションを実行する際には、ネットワークやサーバーシステム、OS、ミドルウェアなどが必要になります。従来のアプリケーション開発では、あらかじめこれらの環境を準備する必要があり、アプリケーションの開発後も環境のメンテナンスしなければなりませんでした。
PaaSは、SaaSのように完成したアプリケーションを提供するのではなく、アプリケーション開発の前段階で必要になる土台をまとめて提供します。ユーザーはクラウド上にすでに用意されているプラットフォームを借りるだけで、すぐにアプリケーションの開発を始めることが可能です。
PaaSの代表的なサービス
PaaSに該当する代表的なクラウドサービスには、「AWS(Amazon Web Services)」や「Azure(Microsoft Azure)」、「GAE(Google App Engine)」などが挙げられます。これらは世界3大クラウドとも呼ばれており、大きなシェアを持っています。そのほかにも各社からさまざまなPaaSのサービスが提供されており、中にはプログラミングの高度な知識がなくても利用できるサービスも存在します。
またAzureでは、「WordPress」というWebサイトを作成・運用できるアプリケーション(コンテンツ管理システム)を、Azureの環境内で利用できる機能も搭載しています。PaaSを利用する際は、提供される機能やほかのシステムとの互換性、セキュリティレベル、操作性などを比べながら検討することが大切です。
PaaSの機能
PaaSの根幹となる機能は、アプリケーション開発を行う上で必要なツールや環境の提供ですが、そのほかにも開発に役立つ幅広い機能が備わっています。たとえば、プログラミング言語の使用をサポートする機能や、アプリケーションのテスト環境を提供する機能などがあります。
構築したアプリケーションの展開や統合、クロスプラットフォームへの対応なども、PaaSのサービス上で完結させることが可能です。クロスプラットフォームは、OSや端末種別を問わず複数のプラットフォームで動作するアプリケーションを開発するための機能で、PCとスマートフォンの両方で使用できるアプリケーションを開発する場合などに役立ちます。
PaaSを利用する際のメリット
あらかじめ用意されているプラットフォームが利用できることで、開発前の環境設計や構築にかかる工数やコストを削減できる点が、PaaSを利用する大きなメリットです。また、プラットフォームの管理や運用はPaaSを提供する事業者が担う領域となるため、自社のリソースを割く必要もありません。
さらに、プラットフォームがクラウド上に構築されているということは、事業者が管理するデータセンター内にデータが保管されていることを意味します。オフィス内のサーバーにデータを蓄積して運用するオンプレミス環境と比べて、自然災害やトラブルに見舞われた際の事業継続性が高まります。また、インターネットを通じてどこでも開発・運用が行えるため、リモートワークなどの多様な働き方にも対応しやすくなるというメリットもあります。
PaaSを利用する際のデメリット
PaaSのデメリットとして、後述するIaaSに比べると自由度に一定の制限があることが挙げられます。そのため、例えば自社内でサーバーなどを保有するオンプレミス環境からの移行を考える場合、移行後のサーバーの仕様などは入念なチェックが必要です。既存システムとの互換性や、自社のエンジニアにとって使用しやすい環境かどうか、といったことを考慮しなければなりません。
またSaaSと同様に、セキュリティへの配慮も欠かせません。SaaSやPaaSのように事業者が管理を担う範囲が広いサービスは、それだけ事業者のセキュリティ対策に依存することになります。事業者がどの程度のセキュリティ対策を行っているかを十分に確認してから導入することが重要です。
AWSが提供するPaaS機能を持った代表的なサービス
AWSでは、さまざまなPaaS機能を持ったサービスが提供されています。ここではその一部をご紹介します。
カテゴリ | 具体例 | 主なサービス名 |
---|---|---|
分析 | データの分析 | Amazon Athena |
Hadoop(大規模分散処理)フレームワーク | Amazon EMR | |
リアルタイムでストリーミングデータを分析 | Amazon Kinesis | |
アプリケーション統合 | 分散型アプリケーションの調整 | AWS Step Functions |
メッセージキューによるシステム間の処理連携 | Amazon Simple Queue Service(SQS) | |
クラウド財務管理 | コストと使用状況の分析 | AWS Cost Explorer |
ブロックチェーン | ブロックチェーンネットワークの作成、管理 | Amazon Managed Blockchain |
台帳データベース | Amazon Quantum Ledger Database(QLDB) | |
ビジネスアプリケーション | オンライン会議 | Amazon Chime |
セキュリティに優れたEメールやカレンダーの使用 | Amazon WorkMail | |
コンタクトセンター | Amazon Connect | |
データベース | リレーショナルデータベース | Amazon Aurora Amazon Relational Database Service(RDS) |
NoSQLデータベース | Amazon DynamoDB | |
インメモリキャッシュによるデータ読み込み高速化 | Amazon ElastiCache | |
データウェアハウジングによるデータ活用高速化 | Amazon Redshift | |
デベロッパーツール | 開発、デプロイの統合管理 | Amazon CodeCatalyst |
Gitリポジトリへのコードの保存 | AWS CodeCommit | |
コードのビルドとテスト | AWS CodeBuild | |
コードデプロイの自動化 | AWS CodeDeploy | |
エンドユーザーコンピューティング | 仮想デスクトップ | Amazon WorkSpaces Family |
Games | ゲームエンジンの統合ツールキット | AWS GameKit |
IoT | IoTプラットフォームの構築 | AWS IoT |
エッジコンピューティング | AWS IoT Greengrass | |
IoTデバイスの管理 | AWS IoT Device Management | |
機械学習 | 機械学習や深層学習 | Amazon SageMaker AWS Deep Learning Containers AWS Deep Learning AMI |
自動音声認識 | Amazon Transcribe | |
機械翻訳 | Amazon Translate | |
画像や動画の分析 | Amazon Rekognition | |
機械学習による予測精度の向上 | Amazon Forecast | |
マネジメントとガバナンス | リソースやアプリケーションのモニタリング | Amazon CloudWatch |
リソースの作成、管理 | AWS CloudFormation | |
AWSサービスを管理するためのインタフェース | AWS マネジメントコンソール | |
メディアサービス | 動画の変換 | AWS Elemental MediaConvert |
動画ストリームの処理や分析 | Amazon Kinesis Video Streams | |
ライブ動画の配信 | Amazon Interactive Video Service | |
移行と転送 | アプリケーションの移行 | AWS Application Migration Service |
データベースの移行 | AWS Database Migration Service | |
サーバー移行の計画 | AWS Application Discovery Service | |
オンラインデータ転送 | AWS DataSync | |
人工衛星 | 衛星通信のコントロール | AWS Ground Station |
セキュリティ、アイデンティティ、コンプライアンス | シングルサインオンアクセスを管理 | AWS IAM アイデンティティセンター |
脅威検出 | Amazon GuardDuty | |
DDoSからの保護 | AWS Shield |
参考:「AWSクラウドサービス」を基にSky株式会社が作成
Azureが提供するPaaS機能を持った代表的なサービス
Azureで提供されているPaaS機能を持ったサービスには、次のようなものがあります。
カテゴリ | 具体例 | 主なサービス名 |
---|---|---|
セキュリティ、ID | セキュリティ管理の統合、ワークフロー自動化 | Microsoft Defender for Cloud |
シングルサインオンや多要素認証の実現 | Microsoft Entra ID | |
暗号化キーや機密情報の保護 | Key Vault | |
仮想マシンへの安全な接続 | Azure Bastion | |
ドメインサービス | Microsoft Entra Domain Services | |
メディア | 動画のエンコードやストリーミング | Azure Media Services |
コンテンツ配信の高速化 | Azure Content Delivery Network | |
AI、機械学習 | 動画や音声の分析 | Azure AI Video Indexer |
AIによる画像の分析や顔の検出、映像分析、音声認識、感情認識 | Azure AI サービス | |
チャットボット構築 | Azure AI Bot Service | |
統合 | 統合ソリューションの構築 | |
APIの公開、管理 | API Management | |
メッセージングサービス | Azure Web PubSub | |
コンピューティング | ジョブのスケジューリング | Batch |
仮想マシンの管理 | Windows Server | |
リモートデスクトップとアプリケーションの提供 | Azure Virtual Desktop | |
Web | Webアプリケーションの構築 | |
マイクロサービスの構築とデプロイ、サーバーレスアーキテクチャ(サーバー管理の負担軽減) | Azure Container Apps | |
モバイルプラットフォームへのプッシュ通知送信 | Notification Hubs | |
開発者ツール | アプリケーションの開発環境 | Visual Studio |
コードの共有、作業追跡、ソフトウェアの出荷 | Azure DevOps | |
モバイル | モバイルアプリの開発やテスト、リリース | App Center |
データベース | 互換性のあるSQL Serverデータベース | Azure SQL Managed Instance |
NoSQLデータベース | Azure Cosmos DB | |
NoSQLキーバリューストア | Table Storage | |
Redis(インメモリデータベース)の使用 | Azure Cache for Redis | |
分析 | データウェアハウス | Azure Synapse Analytics |
Hadoop、Spark、Hive、Kafkaなどのフレームワーク実行 | Azure HDInsight | |
データカタログ | Data Catalog | |
データレイク | Azure Data Lake Storage | |
分析ジョブサービス | Data Lake Analytics | |
データ統合サービス | Azure Data Factory | |
Azure上で連携、使用できるBIツール | Power BI Embedded | |
IoT | 機械学習モデルの構築、トレーニング | Azure Machine Learning |
リアルタイムデータ分析 | Azure Stream Analytics | |
IoTデバイスの接続、監視、制御 | Azure Sphere | |
管理とガバナンス | リソースのセキュリティ管理 | Azure Policy |
ディザスタリカバリー(災害復旧)サービス | Azure Site Recovery | |
アプリケーションの監視 | Azure Monitor | |
ストレージ | バックアップサービス | Azure Backup |
Azureへの大量データ転送の支援 | Azure Data Box | |
ハイブリッドクラウドファイル共有 | Azure File Sync |
参考:「Azureの製品」を基にSky株式会社が作成
IaaSとは
「IaaS」はSaaSやPaaSよりもサービスとして提供される範囲が狭く、ネットワークやサーバー、共有ディスクといった基本的なインフラのみを提供できるサービスです。「Infrastructure as a Service」の略称で、「イアース」または「アイアース」と読みます。
従来はサーバーなどのITインフラを社内で購入・整備し、自分たちで運用していく必要がありました(オンプレミス)。しかしIaaSを活用すれば、社内でのインフラ整備や運用は不要です。自由度はオンプレミスには劣りますが、基本的には自社の都合に合わせた開発環境を構築することが可能です。SaaSやPaaSのように、アプリケーションやプラットフォームをそのまま利用することはできないものの、開発環境を準備する際の手間やリスクを抑えられます。
また、他社とクラウドを共有することで生まれる制約への対応として、「ハイブリッドクラウド」を選択するケースも見られます。ハイブリッドクラウドは、自社でインフラを構築するオンプレミスと、クラウドサービスを併用する方法です。
IaaSの具体例
ITインフラには、土台となるサーバーやPCといった「ハードウェア」、それらの中身となる「OS」や「ミドルウェア」、そして「ネットワーク」などのさまざまな要素が含まれます。さらにコンピューターを動かすためには、頭脳の役割を果たす「CPU」やデータの保存容量に関わる「ストレージ」、処理速度を左右する「メモリ」といった各リソースも気にかけなければなりません。IaaSは、このような設備やリソースを提供するサービスです。インフラのみをクラウドサービスとして貸し出す形なので、その時々の状況に応じて柔軟にリソースを増減できます。
AWSやAzureでは、PaaSだけでなくIaaS分野のサービス提供も行っており、ここでも大きなシェアを有します。また、Google社からは「GCP(Google Cloud Platform)」というIaaSサービスが公開されています。
PaaSとの違い
ここまでにも説明したとおり、IaaSとPaaSの大きな違いはサービスの提供範囲にあります。IaaSに含まれる基本的なITインフラに加え、PaaSでは開発のためのプラットフォームや開発支援ツールなども提供されるため、アプリケーションの開発を開始するまでのハードルがより低いことが特長です。プラットフォームの管理にかかる手間をベンダーが代わりに担う点も、PaaSを利用するメリットといえます。
一方で、こうした提供範囲の違いから、PaaSはIaaSと比べてネットワークやサーバーの構成を自由に選べないという一定の制約があります。データベースの設定やプログラムの実行環境などに制限がある中では、思うように開発を進められないという場合は、IaaSを選択することが推奨されます。
また、自社責任によって管理・運用しなければならない範囲が広い分、利用の難易度はIaaSのほうが高いとされています。自社のエンジニアの実力やこだわり、実現したい開発環境を踏まえ、バランスを見ながら選択することが大切です。
IaaSの代表的なサービス
前述のとおり「AWS」や「Azure」は、IaaSでも代表的なサービスとして知られています。「GCP」もシェアが大きく、いずれも世界的に知られる大手企業によるサービスのため、高いセキュリティと信頼性が魅力です。
そのほか、さまざまな事業者がIaaSを提供しており、中にはオンプレミスとクラウドの併用を推奨しているサービスがあり、オンプレミスからクラウドへの移行(クラウドシフト・クラウドリフト)や、ハイブリッドクラウドを希望する場合にも検討しやすいサービスがあります。
IaaSの機能
IaaSの主な機能には、コンピューターのリソースを提供する「コンピューティングサービス」や、インターネット上にファイルの保存場所を作る「ストレージサービス」、コンピューター同士の通信を行うための「ネットワークサービス」などがあります。CPUやメモリ、ストレージ、ネットワークといった個々のリソースを、状況に応じて柔軟に追加・削除できる点も、IaaSの特徴的な機能の一つです。
なお、セキュリティ対策のため、IaaSの機能を社内インフラとして利用する場合は、VPN接続によって管理者のみがアクセスできるように導線を切り分ける必要があります。VPN接続とは、インターネット上に仮想的に構築したプライベートな通信経路を使った接続方法のことです。送受信データは暗号化されており安全にアクセスできます。
IaaSを利用する際のメリット
自社内に物理サーバーを設置する必要がないことが、IaaSの大きなメリットです。これにより、サーバー設置場所の確保や機器整備に係る初期費用は不要になり、物理的なスペースや設備にかかる費用負担が抑えられる可能性があります。また、設備の準備にかかる期間が短縮しやすく、契約後によってサーバーが使用できる点も魅力といえます。
また、SaaSやPaaSと比べて環境構築の自由度が高い点や、コストを削減しやすいことも利点となっています。IaaSは一般的に、必要な時に必要な分だけリソースを使用し、使用した分だけ費用を払う方式が多いです。そのため、ユーザーの急増によってリソースが不足したり、ユーザーが減少した際に余分な維持費がかかったりするリスクがなく、コストを最適化できます。
IaaSを利用する際のデメリット
IaaSは、ほかのサービスと比べて自由度が高い一方で、使いこなすには高い専門性が求められるという点はデメリットだといえるかもしれません。IaaSでは自社の判断でOSやデータベース、ミドルウェアなどを選択する必要があるほか、アプリケーションの開発やプラットフォームの構築もすべて自社内で行うことになります。そのため、データベースに関する知識ややプログラミングやシステム運用の経験を持つ人材を確保することが必要です。
自社で管理する範囲が広い分、管理・運用にかかる負担も大きくなります。セキュリティ対策のためのメンテナンスやアプリケーションのバージョンアップも、原則自分たちの手で行わなければなりません。しかし、これらはオンプレミス環境での運用においても同様です。自由度の高さと求められる専門性の高さは比例するため、開発・運用の目的に応じて、適した人材の確保と配置が重要になります。
AWSが提供するIaaS機能を持った代表劇なサービスと
IaaS分野でも大きなシェアを誇るAWSでは、次の例をはじめ、さまざまなIaaS機能を持つサービスが提供されています。
カテゴリ | 提供している機能の例 | 主なサービス名 |
---|---|---|
コンピューティング | 仮想サーバー、仮想プライベートサーバー | Amazon EC2 Amazon Lightsail |
コンテナ | Amazon Elastic Container Service(ECS) | |
オートスケール | Amazon EC2 Auto Scaling | |
サーバーレスコンピューティング | AWS Fargate | |
ネットワークとコンテンツ配信 | 論理的に分離された仮想ネットワーク環境の構築 | Amazon VPC |
DNS(ドメイン・ネーム・システム) | Amazon Route 53 | |
AWSへのプライベートネットワーク接続 | AWS Direct Connect | |
負荷分散 | Elastic Load Balancing | |
ストレージ | オブジェクトストレージ | Amazon S3 |
ブロックストレージ | Amazon Elastic Block Store(EBS) | |
ファイルシステム | Amazon Elastic File System(EFS) | |
アーカイブストレージ | Amazon S3 Glacier | |
バックアップ | AWS Backup |
参考:「AWSクラウドサービス」を基にSky株式会社が作成
Azureが提供するIaaS機能を持った代表的なサービス
AzureもIaaS分野において代表的なサービスです。提供されているサービスには、次のようなものがあります。
カテゴリ | 提供している機能の例 | 主なサービス名 |
---|---|---|
コンピューティング | 仮想サーバー | Virtual Machines |
コンテナ(Docker、Kubernetes) | Azure Container Storage Azure Kubernetes Service |
|
ネットワーク | プライベートな仮想ネットワークの構築 | Virtual Network |
Azureへのプライベートネットワーク接続 | ExpressRoute | |
VPN接続 | VPN Gateway | |
異なる拠点間の接続 | Virtual WAN | |
DNS(ドメイン・ネーム・システム) | Azure DNS | |
ネットワークアドレス変換 | Azure NAT Gateway | |
アプリケーションの負荷分散 | Application Gateway | |
ストレージ | オブジェクトストレージ | Azure Blob Storage |
ブロックストレージ | Azure Disk Storage | |
ファイルストレージ | Azure NetApp Files | |
ディスク | Azure Managed Disks | |
ストレージを利用したメッセージング | Queue Storage |
参考:「Azureの製品」を基にSky株式会社が作成
まとめ
PaaSの概要やSaaS、IaaSとの違い、それぞれのサービスの詳細と代表例などをご紹介しました。一口に「クラウドサービス」といっても、今回の記事で解説したように、サービスの提供範囲は分類によって大きく異なります。実現できることや利用難易度もそれぞれのため、利用の際は自社の状況や目的に応じて選択することが大切です。クラウドサービスの活用をご検討の際は、ぜひ今回ご紹介した内容を選定の参考にしてみてください。