
【初心者向け】PaaSとは?IaaSやSaaSの違いを詳しく解説
PaaS(パース)はクラウドサービスのひとつです。インターネット環境があれば、いつでもどこでもアプリケーションやサーバー、データベースを利用することができます。今回はPaaSを導入するまえに知っておきたいメリット・デメリットを中心に、IaaSやSaaSについても詳しく解説します。最後までご一読ください。
PaaSとは?
PaaS(パース)は 「Platform as a Service」 の略称です。「プラットフォームが利用できるサービス」の意味であり、インターネット上のクラウドで利用できます。クラウドとは、ユーザーが手元にソフトウェアやサーバーなどのインフラを持たなくても、インターネットを通じて利用できるサービスの総称です。
PaaSにおいては、アプリケーションを実行するためのサーバーやOS、ネットワークなどのプラットフォーム一式が自由に使えるクラウドサービスです。PaaSを利用することで、自前でサーバーを設置する労力や、ネットワークを構築し設定する手間から解放されます。
なお、クラウドサービスはPaaSのほかにも「IaaS」や「SaaS」と呼ばれるものがあります。のちほど詳しく説明します。
PaaSはミドルウェアを自由に構築ができる
「ミドルウェア」とは、OSとアプリケーションをつなぐ橋渡しをする役割のソフトウェアです。
ECサイトを例にあげると、ブラウザからの指示に応じて「Webサーバー」と呼ばれるミドルウェアが稼働しています。また、ユーザーの購入履歴や顧客情報などを保存するために「データベース」というミドルウェアや、カートや決済は「アプリケーションサーバー」というミドルウェアが稼働しています。
OSは基本的な機能しかないため単体でできる処理に限りがあります。ECサイトのように複雑な処理を行うにはミドルウェアは欠かせません。
PaaSを利用するメリット
いくつかあるクラウドサービスの中で、PaaSを選ぶメリットは次のとおりです。
- すぐに開発をはじめられる
- 運用・保守の手間がかからない
- 柔軟に拡張することができる
- コストを抑えることができる
ひとつずつ見ていきましょう。
すぐに開発をはじめられる
アプリケーションを開発し運用する際、サーバーやネットワークなどのハードウェアの構築も同時に行います。ハードウェアを購入しセットアップはもちろん、トラブルに備えた保守管理も欠かせません。
インフラを管理する専属担当者が社内にいれば問題ないですが、少人数精鋭であればアプリケーション開発者が兼任で担当することになります。インフラ構築はいわば裏方の業務。労力を費やしても直接的なビジネスにつながりません。少数精鋭でできるだけ早く成果を出したいのであれば、PaaSの活用はとても有効です。
運用・保守の手間がかからない
Webサーバーやネットワーク機器などのハードウェアは寿命があり、運用時の故障はつきものです。運用中にテスト段階では見つけられなかったバグが発生したり、人為的なミスが生じたりすることもあります。エンドユーザーの信頼を得るためには安定したサービス運用は欠かせません。トラブルは休業日や時間帯を問わず発生するため、保守にかけるコストは高くなります。PaaSにおいては、ベンダーが運用・保守を担ってくれます。運用の手間とコストを大きく削減できるでしょう。
柔軟に拡張することができる
アプリケーション開発の企画段階で想定していた以上に、アクセス数が増えてサーバー負荷が大きくなることはよく起こります。ネットビジネスにおいては、SNSなどによるメディア拡散で普段の数十倍のトラフィックがある場合もあります。サーバーのスペックが慢性的に足りなければ、拡張のために既存サーバーを垂直スケーリングするか、新しくサーバーを追加し水平スケーリングを行う必要があります。
自社運用(オンプレミス方式)においては、このスケーリング作業は人力で行わなくてはいけません。また、拡張するたびにサービスを停止しなければならず、加えてサーバー負荷を減らすためにロードバランサーを設置することや、トラフィックの分析やチューニングは欠かせません。
PssSであれば、サービスを止めることなく拡張することが可能です。しかも拡張は自社で行う必要はなく、拡張計画を考える手間からも解放されます。サービスの状況に応じて簡単に拡張・縮小が可能となり、自社運用よりもスピード感をもったサービス運営ができます。
コストを抑えることができる
PaaSはアプリケーションの運用数や利用時間などに応じた従量課金が一般的です。規模が小さいうちは低額で利用することができ、規模が拡大するにつれてコストが積み重なります。また、サービス拡大によりサーバーラックなどを設置するテナント代はかかりません。加えてサーバーを冷却するための空調コストも不要です。
PaaSのデメリット
続いてPaaSの短所をみていきましょう。
セキュリティに注意が必要
PaaSは、サービス提供側(ベンダー)のサーバーやネットワークに依存します。つまりサイバー攻撃を防御するセキュリティはベンダー側に委ねられることになります。もしハッカーがベンダーのシステムに不正侵入した場合、ベンダーは管理権限を失うこともあるでしょう。最悪の場合、PaaS利用者が管理するソフトウェアや個人情報などが盗まれ流出するリスクが生じます。
もちろん自社運用であってもセキュリティリスクは存在しますが、クラウドサービスの内情は外部から知る術がないため、信頼できるベンダーを選ぶことが大切です。ベンダーのセキュリティ対策や顧客データや個人情報の取り扱いなどのポリシーをしっかり確認すること。そしてセキュリティ対策のISOなど第三者認証を確認しましょう。
自由度は低い
PaaSは拡張性こそ高いですが、プラットフォームによってストレージやCPU、プログラミング言語に制限があります。オンプレミス方式に比べると自由度は低く、限られた環境内で開発・構築しなくてはいけません。PaaSサービスによって開発環境やミドルウェアのバージョンの実行基盤が異なるため、安易に乗り換えができない点も留意したいところです。
PaaSを代表する3つのサービス
PaaSサービスにおいて世界的に有名なサービスはこの3つです。
- Amazon Web Services(AWS)
- Microsoft Azure
- Google Cloud Platform(GCP)
米国のCanalys社の調査によると、クラウドサービスのシェアは1位がAWS、2位がAzure。この2つのサービスで全世界の5割以上のシェアを占めています。(2022年第2四半期時点)
Amazon Web Services(AWS)
WSはアマゾンが提供するシェアNo.1のクラウドサービスです。AWSはAIやAR(拡張現実)、VR(仮想現実)など200を超えるサービスがあります。AWSで使えるPaaS機能は次の3つです。
サービス名 | 機能 | 対応言語 |
AWS Lambda | クラウド上にプログラムを定義しインターネット上で実行できるサービス | Java、Go、PowerShel、Node.js、C#、Python、Ruby |
AWS Elastic Beanstalk | アプリケーションの環境構築と管理を自動で行ってくれるサービス | Docker、Go、Java SE、Tomcat、 .NET、Node.js、PHP、Python、Ruby |
Amazon S3 | 大容量のデータを格納、および管理ができるストレージサービス | SQL |
AWSにはさまざまなサービスがあります。PaaSをうまく利用することで、他のサービスとの連携が容易になります。通信速度も信頼性が高く、大容量のデータ処理やスピーディなアプリケーションの開発が実現できます。
Microsoft Azure
Microsoft Azure(マイクロソフト・アジュール)は、マイクロソフト社が運営する世界シェアNo.2のクラウドサービスです。シェア率は前述のAWSより劣りますが、数年以内にAzureが逆転すると言われています。Azureで使えるPaaS機能は次の4つです。
サービス名 | 機能 | 対応言語 |
App Service | Linux上でJavaやPHPなどのプログラミング言語を使用しプリケーションを構築できるサービス | .NET、.NET Core、Java、Ruby、Node.js、PHP、Python |
Azure SQL Database | クラウド上のデータベースサービス | SQL |
Azure DevOps | アプリケーション開発の計画・開発・配信・運用のプロセスをAzure上で実現できるサービス | . NET、Node.js、PHP、Python、Java |
Azure Functions | サーバーを構築することなくプログラムを実行できるサービス | C#、JavaScript、Python、Java、PowerShell |
AzureはもともとPaaSのクラウドサービスとして誕生しました。そのため、PaaSの機能は豊富で安価に利用できる点が魅力的です。
Google Cloud Platform(GCP)
Google Cloud Platformは、Googleが提供している世界No.3のクラウドサービスです。GCPで使えるPaaS機能は次の3つです。
サービス名 | 機能 | 対応言語 |
App Engine | アプリケーションをGoogleの強固で安定したインフラ上で実行することができる | Java、Python、PHP、Go、Node.js、Ruby |
BigQuery | データが時系列で保存されるため過去のデータ履歴を確認でき、分析に最適化 | SQL、bq、C#、Go、Java、Node.js、PHP、Python、Ruby |
GCPを提供するGoogleは検索エンジンで有名ですが、ビッグデータの解析やAI、機械学習の分野において高い技術力を有します。Google検索やYoutubeなどのサービスと同等の技術が利用できる点が魅力的です。
PaaS、IaaS、SaaSそれぞれの違いとは
それぞれ同じクラウドサービスですが、ユーザーに提供されるサービスの範囲が異なります。
上記の表のとおり、クラウドサービスのベンダーが提供する範囲が異なります。それぞれのサービスをくわしく見ていきましょう。
IaaSとは?
IaaS(イアース、アイアース)は「Infrastructure as a Service」の略称です。「サービスとしてのインフラ」の意味であり、自社でサーバーなどのハードウェアをもたずに、必要な時に必要なだけサーバーやストレージ、ネットワークリソースを利用できるサービスです。PaaSの場合、ユーザーはアプリケーションのみカスタマイズ可能でしたが、IaaSにおいてはハードウェア以外すべてカスタマイズ可能になります。
IaaSのメリット・デメリット
laaSの長所・短所をまとめると次のとおりです。
メリット | デメリット |
・物理サーバーの購入が不要 ・従量課金に見合えばコスト削減できる ・システムの拡張・縮小が簡単 ・自由に環境を構築できる | ・高い専門性が求められる ・メンテナンス範囲が広く運用負荷がある ・自社でセキュリティリスクを担う必要がある |
IaaSはクラウドコンピューティングの中で最も自由度が高く構築できるサービスです。自由度が高い分、運用にはシステムの専門知識は欠かせません。また、セキュリティ管理も自社でおこなう必要がありコストは高くなります。
SaaS(Software as a Service)とは?
SaaS(サース、サーズ)は「Software as a Service」の略称です。「サービスとしてのソフトウェア」の意味であり、チャットやカートASPのようにベンダーが運用・管理するアプリケーションをクラウド上で利用するサービスです。自社で構築は不要なため、専門知識がなくても利用できます。SaaSの代表的なサービスには「Gmail」や「Microsoft Office 365」、「Adobe Creative Cloud」などがあります。
SaaSのメリット・デメリット
SaaSの長所・短所をまとめると次のとおりです。
メリット | デメリット |
・ITスキルがなくてもサービス導入できる ・ネット環境があればどこでも利用できる ・常に最新の機能・サービスが利用できる | ・カスタマイズの自由度が低い ・アップデートに対応しなければならない ・サービスの乗り換えが難しい ・サービスが終了すると利用できなくなる |
例えば「Gmail」はフリーメールのSaaSですが、スマホ操作できるユーザーであれば誰でも操作できます。SaaSは、この利便性と導入の容易さに最大のメリットがあります。一方でカスタマイズできる範囲は少なく、サービスの乗り換えも簡単ではありません。また、突然サービスが終了するリスクがSaaSにある点、気をつけなくてはいけません。
PaaSの導入は「情報開示認定制度」を参考に
「情報開示認定制度」とは、PaaSやSaaSなどのクラウドサービスの安全性や信頼性について、第3者認定を行う制度です。総務省のガイドラインや情報開示指針をもとに評価されています。
認定を受けたクラウドサービスは、下記のサイトで閲覧することができます。リスク回避するためにも、導入する前に一度確認しておきましょう。
まとめ
今回はPaaSについてご紹介しました。クラウドサービスを上手に活用することで、運用の負荷軽減や、コストダウンが期待できます。スタートアップ企業はもちろん、プロジェクトの規模が小さい場合や、スピード重視のテストマーケティングにおいても利用価値は大きいでしょう。