Managed Service Column <システム運用コラム>

PaaS とは

Category: 入門編

2020.10.10

はじめに

クラウドサービスの提供形態の1つであるPaaSは、ITインフラの開発や管理の手間を省くことができるうえに、ある程度のカスタマイズにも対応できます。また、ITインフラ開発や維持のコストを抑えられるなどさまざまなメリットもあります。

ここでは、PaaSとは何なのか、導入メリットや代表例、利用時の注意点などについて改めてご紹介します。

PaaSとは

PaaSとは、「Platform as a Service」の略で、クラウドサービスの利用形態の一つです。同様のサービスにはSaaS、IaaSなどの形態があります。クラウドサービスの範囲は非常に広く、さまざまな解釈がされているため、利用形態によってSaaS、PaaS、IaaSというように分類されているのです。

PaaSでは、アプリケーションソフトを開発するための環境を提供します。ハードウェアやOS、データベース、プログラム実行環境といったプラットフォーム一式を、インターネット上で利用可能です。

PaaS 導入のメリット

PaaSを導入することで得られるメリットは以下のとおりです。

  • 初期費用や運用コストが削減できる
  • ただちに開発をスタートできる
  • インフラの設計や管理が不要

それぞれ、詳しく確認してみましょう。

初期費用や運用のコストが削減できる

PaaSではクラウド上でサーバー、OS、アプリケーションを動作させるミドルウェアなどが一式揃った開発環境を利用できるため、オンプレミスと比較して初期費用を抑えられます。また、PaaSの利用料金は従量課金制が採用されているケースが多く、必要な機能のみを選べるので結果的に運用コストを削減できます。

ただちに開発をスタートできる

PaaSではクラウド上にすでにインフラ環境が整備されているため、すぐに開発をスタートできます。ミドルウェアのインストールやバックアップ設定などの作業も必要ありません。

インフラの設計や管理が不要

PaaSでは、インフラの設計やミドルウェアの運用管理を行う必要がありません。データベースなどミドルウェアや、アプリケーションのコードを実行する際に必要な言語のランタイムを提供しているので、開発者はインフラ設計や管理に手を取られることなくコードの記述に専念できます。

PaaSの代表例(AWS/Azure/GCP)

PaaSを提供している代表的なクラウドサービスの例として、Amazon Web Services(AWS)、Microsoft Azure、Google Cloud Platform(GCP)などが挙げられます。それぞれの特徴を確認してみましょう。

これまで紹介したAWS、Azure、GCPでは、PaaS以外にもさまざまなサービスを提供しています。どういったサービスがあるか、以下でさらに詳しく見ていきましょう。

コンピューティングサービス

コンピューティングサービスとは、ネットワークを経由してコンピュータの資源をサービスという形で提供することです。

Amazon Web Services(AWS)

AWSは、世界中にユーザーを持つAmazonが提供するクラウドサービスで、世界最大のシェアを誇っています。AWSのPaaSの例としては、「AWS Elastic Beanstalk」や、サーバレスPaaSの「AWS Lambda」があります。

「AWS Elastic Beanstalk」は、JavaやPython、PHPなどを使って開発したアプリケーションやサービスをApacheやPassengerといった使い慣れたサーバーでデプロイ、スケーリングします。コードのアップロードをすれば、デプロイを自動的に処理すると同時に、AWSリソースの制御を維持。いつでもアクセスが可能です。

サーバレスPaaSの「AWS Lambda」は、サーバーを確保していなくても関数を定義すればプログラムの実行が可能です。関数では、JavaやPythonが使用でき、Amazon S3などからデータのインプットもできます。実行の上限は900秒以内となっています。

Microsoft Azure

Microsoftが提供する「Microsoft Azure」は、近年急速にシェアを伸ばしています。多くのITサービスを販売していることもあり、仮想マシンにWindowsを選ぶことができるといった、Microsoftらしいサービスです。
AzureのPaaSの代表的なものとしては、「Azure App Service」、「Azure Cloud Services」や、サーバレスPaaSとしては「Azure Functions」があります。

「Azure App Service」は、1日に400億件以上の要求が処理できるという、信頼性の高いプラットフォームです。WindowsまたはLinuxで実行されているJavaやPython、PHPを使用できます。「Azure Cloud Services」は、IISを用いたWebアプリケーションやサービスのプラットフォームとして機能します。アプリのデプロイでVisual Studioと連携できます。

「Azure Functions」は、「Azure App Service」上で動作するモードとサーバレスで動作する従量課金プランがあります。通常PaaSでは、インスタンスの維持のため、その分費用がかかりますが、サーバレスの従量課金プランにすることで、必要なときだけ実行させることができます。

Google Cloud Platform(GCP)

GCPは、検索エンジンやメールサービスなどさまざまなサービスを提供しているGoogleのサービスです。インフラの整ったGoogleで開発したアプリケーションを実行、保管できます。AWSよりもアプリケーションの開発がしやすいという特徴がありますが、その一方で実行可能なアプリケーションの数が少ないという弱みもあります。
CCPのPaaSの例としては「Google App Engine(GAE)」が、サーバレスPaaSとしては「Cloud Functions」があります。

「Google App Engine(GAE)」は一般的な言語を使用してアプリの構築・デプロイが可能です。トラフィックが上がった場合にアプリケーションを自動スケールする機能もあります。安定したインフラでアプリケーションの運用が継続できます。

「Cloud Functions」は、サーバーなしでNode.jsやPythonなどのコードを実行させることができるサービスです。オープンソースのFaaS(Function as a service)フレームワークを使います。複数の環境から関数を実行するので、ロックインを回避することができます。

データベースサービス

データベースサービスとは、クラウド上にデータを保存したり共有したりできるストレージを指します。

Amazon Web Services(AWS)

「Amazon Relational Database Service(Amazon RDS)」もAWSを代表するサービスです。OSやDBMSのインストールなどが不要で、開発者の負担が軽減します。また、従量課金制のストレージ「Simple Storage Service(Amazon S3)」も提供しています。

Microsoft Azure

「Azureでは、フルマネージドサービスでセキュリティの高い「SQL Data Warehouse」、拡張性の高い検索サービスである「Azure Data Explorer」といったサービスがあります。

Google Cloud Platform(GCP)

GCPでは、「Google Cloud SQL」、「Google Cloud Storage」「Google Cloud DataStore」といったサービスを提供しています。

ビッグデータ分析

巨大で複雑なデータの高速処理が可能なシステムのことです。

Amazon Web Services(AWS)

AWSでは、優れたビッグデータ分析が可能な「Amazon EMR」や、インタラクティブ分析ができる「Amazon Athena」、リアルタイム分析のできる「Amazon Kinesis」などが利用できます。

Microsoft Azure

Azureの「Azure Cosmos DB」は、ビッグデータ分析の基盤として活用できます。パフォーマンス保証と高い可用性が特徴です。

Google Cloud Platform(GCP)

GCPでは、大規模なデータも高速で処理ができる「Google BigQuery」、非同期で信頼性・拡張性のあるメッセージサービス「Google Cloud Pub/Sub」といったサービスを提供しています。

PaaS導入のポイントと注意点

続いて、PaaSを導入する際のポイントと注意点を確認しましょう。

セキュリティ対策

PaaS サービス自体のセキュリティ対策はクラウドプロバイダー側が管理してくれるますが、PaaS を利用する際の設定はユーザーの責任になります。アクセス権の設定をミスし、機密情報の流出につながるケースもあります。そのサービスを正しく理解し、適切な設定を行うことが重要です。

コスト

クラウドサービスは、初期費用が少なく従量課金制のサービスが多いため結果的にコストを抑えられることがメリットです。しかし、使い方によっては必ずしもコストを抑えられるとは限りません。

例えば、オンプレミスで開発していたものをクラウドサービスへ引き継ぐことになった場合、互換性がなければ追加の費用が必要になることもあります。また、24時間サーバーを稼働させるなどすれば、コストがかさむケースも考えられるでしょう。

SLA

SLAとは「Service Level Agreement」のことで、サービスの品質保証を意味します。
クラウドサービスでは、クラウド上の仮想サーバーを利用するという性質上、サービスやセキュリティ面への責任の所在が明確ではありません。そのため、万が一トラブルがあった場合、保障やアフターサービスを断られる可能性もあるのです。
そうならないために、クラウドサービス導入時にはきちんとSLAを確認しておくのが良いでしょう。

おわりに

PaaSとは、アプリケーション開発のための環境を提供するクラウドサービスの利用形態の一つです。初期費用や運用コストを抑えながらすぐに開発がスタートできるうえ、インフラの設計や管理が不要であるため開発者はコードの記述に専念できるというメリットがあります。

ただし、セキュリティやサービスの品質への責任が曖昧になりやすいなど、注意したいポイントもいくつかあります。アプリケーションの開発環境を整備しようと考えている場合は、本記事でご紹介したポイントに気を付けながら、PaaS導入を検討してみてはいかがでしょうか。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • クラウド構築サービスカタログ

    クラウド構築サービスのメニューと料金をご確認いただけます。

システム運用個別相談会(無料)

Tag: PaaS

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php