PaaSの解説(基本情報技術者シラバス用語)

目次

PaaSとは

PaaS(Platform as a Service:パース)とは、アプリケーションを開発・構築して動かすために必要な「プラットフォーム(OSやデータベース、プログラムの実行環境など)」を、インターネット経由で提供するクラウドサービスのことです。

開発者は、自分でサーバー用の物理的なコンピュータを購入したり、その上にOSをインストールしたり、データベースの細かな設定を行ったりする手間をすべて省くことができます。提供された環境(プログラムの実行場所)に自分が作ったソースコードをアップロードするだけで、すぐにアプリケーションをWeb上に公開して動かすことができます。開発作業だけに集中できるのが最大のメリットです。

具体例

開発現場におけるPaaSの活用例として、以下のようなものが挙げられます。

  • Heroku:自分で書いたWebアプリのプログラム(PythonやRubyなど)を数ステップのコマンドで公開できる環境。
  • Google App Engine(GAE):Googleのインフラ上で独自のWebアプリを稼働させ、アクセス数に応じて自動的にサーバーの処理能力を増やしてくれる実行環境。
  • データベースや認証システム(ユーザー登録機能)が最初から組み込まれた開発用のクラウドサービス。

もう少し詳しく

PaaSは、開発者がソフトウェアやWebサービスを迅速に開発・リリースできるように最適化されたクラウドサービスです。従来のシステム開発では、物理サーバーの調達に始まり、OSのインストールやネットワークの設定、JavaやPythonといったプログラム実行言語のセットアップ、ミドルウェア(ApacheやMySQLなど)の導入といった「開発環境(プラットフォーム)の構築」に多大な時間と専門知識を要していました。PaaSでは、これらの環境がすでにベンダー側で構築され、最新の状態にメンテナンスされた状態で提供されます。

そのため、開発者はインフラやミドルウェアのパッチ適用やセキュリティ設定といった管理業務から解放され、純粋に「プログラムコードを書くこと(アプリケーションの開発)」に集中できます。また、アクセスの増減に応じてサーバーの処理能力を自動で拡大・縮小する「オートスケーリング機能」や、ステージング環境(テスト用の環境)をワンクリックで構築できる機能など、開発を円滑に進めるための便利なツール群もあわせて提供されることが一般的です。ただし、OSやデータベースのバージョン、使用できるプログラミング言語がPaaSベンダーの提供するものに限定されるため、システムの自由度(カスタマイズ性)はIaaSに比べて低くなります。

試験でのポイント

試験におけるPaaSの出題では、「SaaS」「PaaS」「IaaS」の責任境界(どこからどこまでをベンダーが提供し、どこからをユーザーが管理・開発するか)の切り分けが重要になります。PaaSでは、ハードウェアやネットワーク(インフラ)に加えて、「OS」「ミドルウェア」「プログラム実行環境」までをベンダーが管理・提供します。ユーザーが管理・所有するのは「アプリケーション(自身で開発したプログラム)」と「データ」のみとなります。

「自社でサーバーを立てる必要はなく、OSやプログラムの実行環境は用意されたものを使用し、独自のアプリケーションを迅速に開発・運用したい場合に最適なクラウドサービスはどれか」という問いに対して、PaaSを正解として選択できるようにしておきましょう。

関連する用語

PaaSに関連する用語としては、ソフトウェアそのものを利用する「SaaS」や、インフラのみを利用する「IaaS」、インターネット経由で各種資源を利用する「クラウドコンピューティング」があります。また、PaaS上で開発を行う「Webアプリケーション」や、システムのアクセス数に応じて処理能力を自動調整する「オートスケーリング」も重要な関連概念です。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ