「PaaS が難しそうで初心者にはよくわからない」
「PaaS に適したシステム環境を知りたい」
「PaaS のメリットやデメリットをおさえておきたい」
このようにお考えの方へ、本記事では PaaS についてわかりやすく解説していきます。基本概要から適したシステム環境、メリットやデメリットについても説明していきますので、参考にしてみてください。
目次
- PaaS とは
- PaaS と IaaS、SaaS との違い
- PaaS を提供する代表的なサービス
- PaaS が組織にもたらすメリット
- PaaS で発生しやすいデメリット
- まとめ
「Webサイトからお問い合わせが来ない…」とお悩みの方必見!
当サイトのノウハウを詰め込んだ『Web集客の無料ガイド』をご提供
詳細はこちら
PaaS とは
まずは、PaaS について基礎知識を説明します。
それぞれ解説します。
概要
PaaS (Platform as a Service) とはプラットフォームが整った環境を提供しているクラウドサービスのことです。アプリケーションを稼動するための基盤となる OS やインフラ環境、そしてデータベースなどのプラットフォーム(ソフトウェアを動かすためのエンジン)が揃っています。
利用目的として、効率よくアプリケーションを開発するため、またデータ分析をするための専用環境として使うことが多いです、SaaS 提供会社が自社の新たなサービス開発のために PaaS の環境を利用することもあります。
PaaS を利用すれば、サーバーの構築やインフラの設計、データベースをインストールすることなく、すぐにアプリケーションの開発をスタートできます。
適したシステム環境
PaaS はアプリケーションを開発するための実行環境や、データベース環境を利用したい場合に適しています。その理由は、契約すればシステム開発者がインフラやデータベースまで整った環境を利用することができ、アプリケーション周りに専念できるからです。
PaaS と IaaS、SaaS との違い
PaaS と IaaS、SaaS との違いを説明します。
IaaS との違い
PaaS と IaaS の違いについて説明します。IaaS はインフラのみを提供するクラウドサービスです。クラウドサービスの中でも自由度がオンプレミスに近いです。
一方 PaaS はインフラ環境に加えて、データベースエンジンなどのプラットフォームまでを提供しています。IaaS に比べてカスタマイズできる範囲は狭いものの、運用する管理者の負担は少ない、という違いがあります。
SaaS との違い
PaaS と SaaS との違いを説明します。SaaS はインフラ・プラットフォームに加えて、アプリケーションも提供しています。利用ユーザーは基本的にサーバーを直接触ることはできず、Web ブラウザなどを通じてサービスの機能を利用できます。利用機能は決まっているため、クラウドサービスの中でも自由度が低いです。
PaaS 利用時は、プラットフォームの上に載せるアプリケーションを自社で選択します。SaaS に比べて自由度が広いサービスです。
PaaS を提供する代表的なサービス
PaaS を提供する代表的なサービスについて、以下3点を挙げます。
- AWS の PaaS 機能
- Microsoft Azure の PaaS 機能
- Google Cloud Platform の PaaS 機能
それぞれ解説します。
AWS の PaaS 機能
AWS が提供する PaaS 機能を紹介します。
まずは、AWS Elastic Beanstalk です。「 Java・.NET・PHP・Node.js・Python・Ruby・Go・Docker 」などの言語で開発された Web アプリケーションを PaaS 内に配置すればすぐに使える、という特徴があります。選択したアプリケーションに必要なリソース(OSやサーバーなど)が自動的に構築されるため、ユーザーは構築部分を心配することなくデプロイできるようになります。
2つ目が、 AWS Lambda です。「 Node.js・Python・Ruby・Go・Java・PowerShell・C# 」のプログラミング言語に対応しています。ユーザーは実行環境を準備しなくとも、Lambda にプログラムコードをアップロードするだけで実行でき、サーバーレスで 動作確認を行えます。
3つ目が、Amazon Simple Storage Service (S3) です。ストレージサービス、静的コンテンツ配信の機能を提供しています。プラットフォームとしての機能はありませんが、他の AWS のPaaS と組み合わせてデータを保存する、データ転送することができるため、AWS の PaaS 利用において、必要なサービスといえるでしょう。
Microsoft Azure の PaaS 機能
Microsoft Azure の PaaS 機能を紹介します。
1つ目は、Azure SQL Database です。利用ユーザーの介入なしに、ほとんどのデータベース管理機能(例えば、アップグレード・修正プログラムの適用・バックアップ・監視機能)を処理できるデータベースエンジンです。また、SQL Server の本体やパッチは、常に最新版を維持しているためセキュリティ的にも安心です。 99.99% の可用性(障害で停止させることがなく稼働し続けること)を備えていることも特徴的です。
2つ目は、Azure DevOps です。システムの開発・運用における必要なサービス一式が集約されたプラットフォームです。開発・テスト・展開などのソフトウェアリリースに必要な一連のサービスとツールを統合しており、Wiki やダッシュボード、バージョン管理ツール、またテスト・ビルド(プログラミングコードを実行可能な状態にすること)・配信の自動化など、さまざまな機能を提供しています。
3つ目は、Azure Functions です。サーバーレス(サーバーを意識しないで、システム構築・運用すること)でプログラムを実行できるという特徴があります。サーバーを常に起動していなくても、トリガー(例えば、ファイルを特定のフォルダに置くとプログラムが発動するなど、プログラムを実行するためのきっかけのこと)事前に登録済みのプログラムが実行される、という特徴があります。
Google Cloud Platform の PaaS 機能
Google Cloud Platform の PaaS 機能は、Google App Engine (GAE) です。Google のサーバー環境でプログラムを実行し、Web アプリケーションの公開が可能なプラットフォームです。多くの開発言語に対応していることや、サーバー負荷に応じて自動でスケールしてくれることが特徴です。
スタンダード環境とフレキシブル環境の2つの環境を用意しています。スタンダード環境では、Python・Java・Node.js・PHP・Ruby・Go をサポートしています。
また、フレキシブル環境ではスタンダード環境のサポート言語に合わせて、.NET や、独自に導入した言語環境にも対応しています。 カスタマイズ性の高い PaaS といえます。
PaaS が組織にもたらすメリット
PaaS を利用するメリットについて解説します。主に以下の4つのメリットが挙げられます。
- スピーディーな構築
- アプリ開発への集中
- コストを抑えられる
- 必要最小限の運用
それぞれ解説します。
スピーディーな構築
1つ目のメリットはスピーディーな構築です。データベースサーバーを一から構築する場合、インストール・ライセンス適用・初期設定・セキュリティ対応などの作業が必要になります。慣れていないとデータベースインストール時にパラメータの設定ミスや、OS 設定の兼ね合いでインストールに失敗して、時間がかかることもあるでしょう。
PaaS なら、契約すればデータベースやアプリ実行用ソフトウェアの準備やインストールをしなくても、すぐにサービスを利用開始でき、初期構築に必要な手間を抑えられます。
アプリ開発への集中が可能
2つ目のメリットは、アプリ開発への集中が可能なことです。PaaS はインフラやプラットフォームの初期構築・設定にかける時間を削減できるため、開発者はアプリケーション周り(アプリケーションのインストール・設定・開発など)に専念できるようになります。これまで悩まされていたシステム管理者の初期導入の手間・コストを削減できるようになります。
PaaS を利用すればアプリ開発者が集中できるシステム環境を整えられるでしょう。
コストを抑えられる
3つ目のメリットは、コストを抑えられることです。PaaS は利用した分だけ支払う従量課金制を採用しています。開発環境の構築のためのハードウェアの購入や設置作業も必要ないため、初期導入費用を抑えることができます。
また、開発しない時間はインスタンス(仮想 OS のこと)を停止すれば、その時間帯は料金が発生しないため、ランニングコストや保守の費用も削減可能です。
必要最小限の運用が可能
4つ目のメリットは、必要最小限の運用が可能なことです。インフラやプラットフォーム周りの運用保守は、サービス提供会社の対応範囲であり、OS のバージョンアップ作業や、インフラ周りのトラブル時の対応は不要になります。 PaaS はインフラ周りの専門知識が自社になくとも、運用保守できます。
PaaS で発生しやすいデメリット
PaaS で発生しやすいデメリットを以下に2点挙げます。
それぞれ解説します。
カスタマイズ性が低い
1つ目のデメリットは、カスタマイズ性が低いことです。PaaS では、基本的にインフラ周りのカスタマイズができません。そのため、処理が重いプログラムの実行時や、大量のデータが格納されたデータベース環境において、 自社で CPU などのスケールアップ・スケールダウンを柔軟にできない、という可能性も考えられます。
また PaaS 契約後、対応していない他の言語に変えたい、データベースを変えたい場合、 PaaS の契約を解除しなければなりません。
カスタマイズ性を求めている場合は、最初から IaaS を選択することが良いでしょう。
セキュリティ対策が必要
2つ目のデメリットは、PaaS を提供する会社や保守代行会社の提供範囲によって、セキュリティ対策が必要になることです。OS・ネットワーク環境・プラットフォーム環境はサービス提供会社の対応範囲ですが、プラットフォームに乗せるデータやアプリケーションに関しては、自社でセキュリティ対策をする必要があります。また、クラウドサービス提供会社によって提供されるセキュリティレベルが違うことがあります。
契約前の資料や ISO などの第三者認証などの情報を元に、クラウドサービス提供会社のセキュリティ対策を確認した上で、自社に適切なサービスを選択しましょう。その上で、取り扱うデータやアプリケーションにおいては、自社で全て運用保守を行う、もしくは内容に応じて信頼できる保守代行会社に依頼することが大切です。
まとめ
本記事では、PaaS について解説しました。PaaS は自社でアプリケーションを高速開発したい場合に最適です。インフラ環境、データベースやプログラミング実行環境を一から構築することなしにアプリ開発に集中できます。また、運用中にプラットフォーム周りで障害が起きても自社が対応する必要もなく、運用保守への手間もかかりません。
IaaS に比べても運用負荷が減り、SaaS に比べるとカスタマイズ性が高い PaaS はバランスが良いサービスともいえます。PaaS を導入する際は、メリット・デメリットをしっかりとおさえた上で、自社に適しているかを検討してみてください。