PaaS(Platform as a Service)

PaaS(英:Platform as a Service、パース)とは、アプリケーションを開発・実行するための「プラットフォーム(土台となる環境)」を、インターネット経由で提供するクラウドサービスのことです。

インフラ(サーバーやネットワーク)だけでなく、OSやデータベース、プログラムを動かすためのミドルウェア(実行環境)までが最初からセットアップされています。開発者は「プログラムのコードを書くこと」と「データの管理」にだけ専念できるのが最大の特徴です。

IaaS・SaaSとの違い

PaaSは、インフラのみを提供する「IaaS」と、完成したソフトを提供する「SaaS」のちょうど中間に位置します。これを「住宅」に例えると以下のようになります。

形態 特徴と管理の範囲 住宅に例えると
IaaS サーバーやネットワークなどの基盤だけ借りる。OSやミドルウェアは自前で設定。 賃貸マンション(家具なし)
(部屋は借りるが、家具やレイアウトは自由)
PaaS OSやデータベースなどの開発環境まで借りる。アプリ開発のみに専念。 家具付きマンション
(すぐ生活・開発を始められる)
SaaS 完成されたソフトウェア(アプリ)をそのまま利用する。 ホテル
(すべてお任せで利用するだけ)

代表的なPaaSと開発メリット

近年のWebアプリやモバイルアプリ開発において、スピードを重視するスタートアップやアジャイル開発の現場では、PaaSの利用が主流となっています。

  • Google App Engine / Cloud Run
    Google Cloud の代表的なPaaS(およびサーバーレス環境)です。書いたコードやコンテナをデプロイ(配置)するだけで、アクセスの増減に合わせて自動でサーバーの台数を調整してくれます。
  • Heroku(ヘロク)
    古くから世界中の開発者に愛されているPaaSの先駆者です。複雑なインフラ設定を一切意識することなく、コマンド一つでWebアプリを世界に公開できます。
  • Firebase
    PaaSの一種で、モバイルアプリやPWA(Progressive Web Apps)の開発に特化したバックエンド環境(BaaS:Backend as a Service)です。認証やリアルタイムデータベース機能が最初から用意されており、Flutterなどを用いたフロントエンドの開発に集中できます。

あわせて知っておきたい用語

  • デプロイ(Deploy)
    開発したプログラムを、PaaSなどの実際の運用環境に配置して利用可能な状態にすることです。PaaSは「デプロイの手軽さ」に特化して作られています。
  • サーバーレス(Serverless)
    PaaSの概念をさらに進め、「サーバーの存在を開発者に全く意識させない」仕組みのことです。サーバーの維持費ではなく、「プログラムが実行された回数や時間」に対してのみ課金されるため、コスト効率に優れています。
  • ベンダーロックイン(Vendor Lock-in)
    PaaSの弱点としてよく挙げられます。特定のPaaSが提供する独自の便利な機能に依存しすぎると、将来「別のクラウドへ引っ越したい」となった際に、プログラムを大幅に書き直す必要が生じるリスクのことです。

コメント

タイトルとURLをコピーしました