PaaSとは?SaaS・laaSとの違いと開発メリットを解説
こんにちは。Wakka Inc.のメディア編集部です。
クラウドサービスには、IaaSとPaaS、SaaSの3種類があり、それぞれ提供するサービス内容が異なります。
PaaSは、IaaSとSaaSの中間に位置しており、アプリケーション開発に必要なOSやミドルウェアをサービスとして提供します。
既に開発環境が整っているため、開発初心者も開発経験者も効率的なシステム開発が実現できます。
これらを踏まえつつ、本記事ではPaaSの特徴や種類、開発メリットや注意点、代表的な主要サービスを解説します。
【基礎知識】PaaSとは?その他クラウドサービスとの違い
クラウドサービスには、IaaSとPaaS、SaaSの3種類があり、PaaSはサービスとして開発環境や実行に必要なプラットフォーム(基盤)を提供しています。
既に開発環境が整っていて環境構築が不要のため、開発初心者も利用しやすく、効率的なアプリケーション開発が実現可能です。
PaaSの特徴や種類、開発時のメリットや注意点、代表的な主要サービスを解説します。
PaaSとは?
PaaS(パース)とは「Platform as a Service」の略で、開発者がアプリケーション開発やデプロイを簡単かつスムーズに実行できるプラットフォームをサービスとして提供しています。
通常の開発環境には、ハードウェアの購入やWindowsやLinuxなどのOSのインストール、OracleやMySQLなどのデータベースのセットアップ、PHPやRuby、Javaなどアプリケーションの実行環境をセットアップが必要で、時間と作業工数がかかります。
PaaSを導入すると、システム開発や運用時に必要なハードウェア及びソフトウェアの環境構築ができているため、自分で行う必要がありません。
手間のかかる作業が不要で、導入後すぐにアプリケーション開発に着手できるため、開発経験者はもちろん、まだ経験が浅い開発初心者にもおすすめです。
ソフトウェアのカスタマイズはもちろん、独自にアプリケーションを自社開発でき、スムーズさと自由度の高さが特徴的です。
PaaSとIaaSの違い
IaaS(イァース)とは「Infrastructure as a service」の略で、土台部分のサーバ(CPUとメモリを含む)やストレージ、ネットワークなどのコンピュータティングリソースをサービスとして提供しています。
IaaSはシステム稼働に必要なVM(仮想マシン)やサーバなど基本的なITインフラのみを提供し、PaaSはIaaSにミドルウェアや開発ツール、データベースなどの開発環境や稼働環境を追加した形で提供しています。
PaaSとは異なり、ハードウェアやOS、データベースやソフトウェアも自由にカスタマイズできるため、開発の幅が広がります。
その反面、リソースの管理や高度な開発スキル、専門知識が求められ、開発初心者にとっては難易度が高いでしょう。
また、プラットフォーム構築後には運用及びOSやミドルウェアのバージョン管理も自力で行う必要があります。
対応可能者が限られると人員も減るため、経験豊富な開発経験者にとっても作業が増えて負担がかかります。
開発の自由度はもちろん、開発担当者の人数やレベルに合わせて、どちらを採用するか決めると良いでしょう。
IaaSの主要サービスは、次のようなサービスがあります。
- Azure Virtual Machines(日本マイクロソフト株式会社)
- Google Compute Engine(グーグル合同会社)
- ニフクラ(富士通クラウドテクノロジーズ株式会社)
- Oracle Cloud Infrastructure Compute(日本オラクル株式会社)
- CloudSigma(株式会社アイ・ピー・エス)
PaaSとSaaSの違い
SaaS(サース)とは「Software as a service」の略で、ユーザーがクラウド上のソフトウェアをインターネット経由で利用できるサービスを指します。
PaaSやIaaSのように自分でサーバの用意やデータベースのセットアップ、システムの運用などの負担がありません。
特定デバイスへのライセンス付与が不要で、整ったインターネット環境さえあればどこからでもアクセスできるため、リモートワークなど働き方にも変革を起こしました。
身近なものとしては、GoogleのGoogle DriveやGmail、Microsoft Office365やZoomなどがあり、日常的に利用している方もいるでしょう。
複数のユーザーやチームでBoxのBox NoteやBox Driveのドキュメント編集機能やストレージ機能を利用して、同時にデータの編集や管理を行っている企業もあります。
ただしソフトウェアの制約で機能が限定されるため、PaaSより自由度が低く、カスタマイズしにくい点がデメリットです。
また、システム障害や通信障害、メンテナンスの影響を受けて使用不可の期間も出てくるため、スケジュール管理や対策も必要です。
Proprietary PaaSとOpen PaaS代表的な2つの形態
IaaSに開発環境を加えたPaaSには、大きく分類してOpen PaaSとProprietary PaaSと2種類あります。
Open PaaSはオープンソースで、Proprietary PaaSは開発ベンダーによって提供されています。
どちらが合っているか判断するために、2種類の特徴を見ていきましょう。
Proprietary PaaS:サービスの完成度が高くサポートも充実
Proprietary PaaSは、サーバやネットワークなどのITインフラからOSやミドルウェアまで含めて一社のベンダーによって設計・提供され、別名「垂直統合型PaaS」とも呼ばれています。
仕様や構造などはベンダーのみが仕組みを把握し、ユーザーへは非公開です。
クラウド市場へ早く参入したベンダーが提供しているため、サービスやサポートも充実しており完成度も高い傾向にあります。
対応開発言語が限定されているため、大きくスケールさせる予定がある場合や安定したサービスの開発をする場合は相性が良いでしょう。
ベンダーによってセキュリティ管理対象は異なり、OSのデプロイまではベンダー側、その後のパッチ適用などはユーザ側といったように、セキュリティ管理の責任を切り分けているケースが多く見られます。
しかし、オプションとしてプラットフォーム上の動作の全てのセキュリティ管理を請け負うPaaSも登場しています。
セキュリティ管理へ人員を割けない場合、セキュリティ管理の大部分を請け負うPaaSの選択を推奨しますが、ベンダーの担当範囲と自社責任の範囲を明確にしましょう。
料金は従量課金制のところが多いですが、使用リソース単位で課金されるものやプラットフォームの接続時間で課金されるものもあります。
事前に最適な価格体系を検討すると、コストを抑えて快適に開発に取り組むことができるでしょう。
Open PaaS:より自由度の高い開発を実現
Open PaaSは特定のIaaSに依存せず、複数のプログラミング言語やフレームワークに対応しているため、更に自由度の高い開発の実現が可能です。
また、無料で利用できるものもあるため、Proprietary PaaSよりコストを抑えられる点も魅力の一つです。
スマートフォン向けアプリケーションやソーシャルメディア用のアプリケーションの開発では、各プラットフォームから独自のSDK(開発キット)が無料で提供されることが多く、開発を効率的にすることができます。
Open PaaSの利用すると、一括でアプリケーション開発が可能になり、それぞれのプラットフォームに対応した開発環境を構築できるため、Open PaaSを採用しているベンダーも近年増えてきています。
先進的な印象が強いOpen PaaSですが、Proprietary PaaSと比較すると完成度が劣ったり、サポート体制が不十分だったりと、デメリットもあります。
Proprietary PaaSとOpen PaaSのメリットとデメリットを見極め、マッチしたものを導入しましょう。
PaaS開発のメリット
アプリケーション開発でPaaSを導入すると、多くのメリットがありますが、代表的な4つのメリットを紹介します。
初期費用と開発コストを抑えられる
オンプレミスと比較すると、PaaSはクラウド上でサーバーやOS、アプリケーションを動作させるミドルウェアなどがまるごと一式揃った開発環境を利用可能であるため、初期費用を抑えられます。
従量課金制のPaaSを導入すると、必要な機能のみを選択でき、実際のユーザー利用分のみの費用しか発生しないため運用のコストダウンが可能です。また、ハードウェアやOSなどを購入せずに済むため、初期投資も抑えられます。
開発に必要な機器を安全な設置場所に保管するためのコストも発生しないため、費用対効果を重視している場合、PaaSの導入は非常に有効だと言えるでしょう。
開発時間を短縮できる
PaaSは、アプリケーション開発に必要な環境構築に要する時間や労力が不要となるため、導入直後に開発に取り掛かれます。
また、構築後の環境についても保守管理も不要のため、開発だけに専念できます。
一例として、クラウド不使用時に必要なサーバーやCPUを購入し、設置・回線の接続を行い、OSなどをインストールして設定するという一連の過程を省略できます。
余計な時間や労力をかけずに開発だけに専念できるため、ソフトウェアをリリースする時期を早めることも実現可能です。
環境の複製と配布を効率良くできる
PaaSで提供されるプラットフォームを活用すれば、同環境のコンピュータを簡単に複製・配布できるため、必要時に必要な分だけ開発環境を準備することが可能です。
また、コンピュータをテスト前の状態に戻すことも簡単に行えるため、システム開発における検証・テストを行う際、大量のコンピュータを用いて作業を効率的に進められます。
機能を柔軟に拡張できる
ITリソースを自社もしくはデータセンター内に設置し、ユーザー自身で管理及び運用を行うオンプレミスの方式を採用すると、開発機能が不足している時も追加が必要な時も、簡単かつ柔軟にスペックの拡張・縮小することができません。
しかしPaaSでは、必要なスペックの増減に応じて利用内容を柔軟に変更及び追加が可能であるため、効率よく開発を進められ、無駄なコストも発生しません。
主要PaaSサービス5選
他のクラウドサービスと比較して、PaaSのメリットは分かりましたが、アプリケーション開発に合ったPaaSを選ぶ必要があります。
数多くのPaaSの中から、おすすめの5選をピックアップしました。
Amazon Web Services (AWS)
世界最大級とも言える通販サイトを運営するAmazon社が提供しているPaaSで、ブランド力と信頼性を武器に、ユーザーを増やしてきました。
Amazon Web Servicesには各種機能や様々な役割のサービスが用意されています。
24時間365日、日本人スタッフによつ日本語でのサポートを受けられる点が強みです。
リソース及びサーバーの管理、モニタリングを提供する「Amazon CloudWatch」と「Amazon EC2」、ストレージサービスの「Amazon S3」、検索サービスの「Amazon CloudSearch」などが含まれています。
Microsoft Azure
Microsoft Azureは、Microsoft社が提供しているクラウドサービスで、PaaSも提供されています。
Webコンテンツのホスティングができる「Azure Webサイト」、仮想マシンを利用できる「Virtual Machines」、データベースとなる「SQL Database」を中心としたプラットフォームが存在します。
世界中にAzureの60以上のデータセンターがあり、140か国で利用できるネットワークの強大さを誇ります。
開発用言語は.NETやJava、PHPなどが利用可能で、仮想マシンにWindowsサーバーを選ぶことができるため、Microsoftの強みを活かしたサービスで快適に開発を進められるでしょう。
Google Cloud Platform
Google Cloud Platformは、大手検索エンジン・Google社から提供されているクラウドサービスです。
PaaSに該当する「Google App Engine」では、ウェブアプリケーションやモバイルバックエンドの開発のためのプラットフォームが用意されています。
Googleから予め提供されている既存インフラや、日常的に使用頻度の高いGmailやGoogle検索エンジンなどの既存サービスを活用できるため初期費用を抑えられるでしょう。
開発したアプリケーションを「コンテナ」としてパッケージ化する「Google Container Engine」、データの保存や管理ができる「Google Cloud SQL」などのサービスが更に効率的な開発環境を支えます。
SAP Cloud Platform
SAP Cloud Platformは、SAP社が提供しているPaaSです。
基幹システムと連携してクラウド上にデータを反映し、拡張アプリケーションを作成し、データをクラウドベースで活用可能にすることで基幹システムの複雑化を防ぐことが可能です。
クラウド利用で常に最新のデータの活用ができ、他のアプリケーションとのデータ統合や管理、分析ができます。
SAP製品を使用している場合、その製品の拡張や機能追加もでき、業務の幅を広げられます。
Oracle Cloud
Oracle Cloudは、Oracle社が提供しているクラウドサービスで、PaaSも提供されています。
Amazon Web Services (AWS)やMicrosoft Azureと比較すると後発のサービスで国内シェアも大きくはありませんが、トップクラスのシェアを誇るデータベースを活用して柔軟かつ幅広く使える仕組みが強みです。
無料使用枠が2タイプあり、満足するまで使用感を試せます。
「Always Freeクラウドサービス」では、無料かつ期間制限なしに、サーバー(仮想マシン)・ストレージ・データベース・ネットワークなど基本的なインフラサービスの一部が利用可能。
「30日間無料トライアル」では、利用開始時に300米ドル分のクレジットが付与され、クレジットを使い切るか、30日経過するまで、Always Freeクラウドサービスよりも幅広いサービスを無料で利用できます。
PaaS開発で注意すべき3つのポイント
システム開発や運用のためのハードウェア及びソフトウェアの環境構築が不要で、アプリケーション開発やソフトウェアのカスタマイズでフレキシブルなPaaSですが、全てのPaaSが効果を発揮するとは限りません。
マッチしたPaaSを選定して導入する際に、注意すべき3つのポイントを取り上げます。
希望する利用方法と料金体系が一致しているか
PaaSの主な料金体系は定額制と従量課金制があり、サーバ数やインスタンス数、データベース利用領域やプラットフォーム接続時間など、具体的な指標を基準に課金される仕組みです。
近年、「クラウド化でコスト削減できる」というイメージが強いですが、初期費用やランニングコストを見誤ると「想定以上に高額な請求額で驚愕した」という声も上がっています。
目的やニーズにマッチしたサービスでも、料金体系が合わないと導入後に相違が生じかねません。
導入前に、初期費用や課金システム、最低契約期間や利用開始までの期間、契約形態や契約解除の手続き、支払通貨などを綿密に確認し、想定外の事態を避けましょう。
ベンダーロックインに陥らないか
ベンダーロックインとは、特定ベンダーの独自技術に依存してしまう状態を指します。
特定のベンダーで一度システムを導入すると、互換性のない技術に縛られてしまい、他ベンダーの製品やサービスの利用が困難な状況になることがあります。
対策として、「Open PaaSを取り入れたPaaSを導入する」という方法で、特定の言語やフレームワーク、サービスなどに制限されず、自由かつ独立したサービスを確立も実現可能になります。
ただし、Open PaaSを用いたPaaSは発展途上で、従来のPaaSと比べてプラットフォームの質やサポートの面で劣ることもあるため、求めるものを導入前に明確にして適したPaaSを選定しましょう。
サポート体制が充実しているか
保守サポートの受付や運用に関する資料提供およびセミナー実施頻度なども、大切なポイントとなるでしょう。
特に、外資系のサービスだと日本語非対応のケースや日本国内でのサポートが手薄であるケースもあります。
PaaSはオンプレミスと異なり、社内でインフラやシステムの保有が不要な分、ベンダーのサポート体制の手厚さは忘れずに確認したいポイントです。
万が一のシステム障害発生時に慌てないように、導入前に各ベンダーのサポート体制をしっかりと確認・比較しましょう。
まとめ:PaaSで効率的かつ柔軟な開発を!
本記事では、クラウドサービスの内のPaaSについて、特徴や種類、開発時のメリットや注意点、代表的な主要サービスを解説しました。
IaaSのような環境構築は不要で、SaaSのよりも自由度が高いため、コストも時間も節約してフレキシブルに開発を進められます。
一方でベンダーロックインに陥りやすかったり、誤ったPaaS選定で予算オーバーしたり、予想していたサポートを受けられない注意点も潜んでいます。
自社の求めているものを明確にして、適したPaaSを選定しましょう。