PaaSとは何ですか?Platform-as-a-Serviceの説明

Platform-as-a-Service(PaaS)は、サービスプロバイダーがクライアントにプラットフォームを提供し、ソフトウェアなどのインフラストラクチャを構築および保守することなくビジネスアプリケーションを開発、実行、および管理できるようにするクラウドコンピューティング製品の一種です。通常、開発プロセスには必要です。

PaaSアーキテクチャは、基盤となるインフラストラクチャを開発者や他のユーザーの目に触れないようにするため、モデルはサーバーレスコンピューティングとサービスとしての機能(FaaS)の概念に似ており、クラウドサービスプロバイダーがサーバーをプロビジョニングして実行し、リソースの割り当てを管理します。 

FaaSは、企業がアプリケーションの開発と起動に通常必要なインフラストラクチャの構築と保守を複雑にすることなく、個別のイベント駆動型機能を開発および実行できるようにするサーバーレスオファリングの一種です。

PaaSおよびサーバーレスコンピューティングサービスは通常、消費されたコンピューティング、ストレージ、およびネットワークリソースに対してのみ課金されます。FaaSはそのアプローチを極端に採用し、機能が実行されたときにのみ課金するため、FaaSは断続的なタスクに自然に選択されます。 

クラウドファミリーのすべて

IaaS(Infrastructure-as-a-Service)やSaaS(Software-as-a-Service)などの他のクラウドサービスと同様に、PaaSはクラウドサービスプロバイダーのホストされたインフラストラクチャを介して提供されます。ユーザーは通常、Webブラウザーを介してPaaSオファリングにアクセスします。

PaaSは、パブリッククラウド、プライベートクラウド、またはハイブリッドクラウドを介して配信できます。パブリッククラウドPaaSを使用すると、クラウドプロバイダーがサーバー、ストレージシステム、ネットワーク、オペレーティングシステム、データベースなど、アプリケーションのホストに必要なすべての主要なITコンポーネントを提供しながら、顧客がソフトウェアの展開を制御します。

プライベートクラウド製品を使用すると、PaaSは、顧客のファイアウォール内、通常はオンプレミスのデータセンター内でソフトウェアまたはアプライアンスとして提供されます。ハイブリッドクラウドPaaSは、2種類のクラウドサービスを組み合わせて提供します。

PaaSは、ソフトウェア開発のために組織のITインフラストラクチャ全体を置き換えるのではなく、アプリケーションホスティングやJava開発などの主要なサービスを提供します。一部のPaaSオファリングには、アプリケーションの設計、開発、テスト、および展開が含まれます。PaaSサービスには、Webサービス統合、開発チームコラボレーション、データベース統合、および情報セキュリティも含まれます。

他のタイプのクラウドサービスと同様に、顧客は使用ごとにPaaSの料金を支払います。一部のプロバイダーは、プラットフォームおよびプラットフォームでホストされているアプリケーションへのアクセスに対して一律の月額料金を請求します。

関連ビデオ:クラウドネイティブアプローチとは何ですか?

この60秒のビデオでは、Heptioの創設者兼CEOであり、オープンソースシステムKubernetesの発明者の1人であるCraig McLuckieから、クラウドネイティブアプローチが企業のテクノロジー構造をどのように変えているかを学びます。

PaaSの利点 

PaaSの最大の利点の1つは、企業がサーバーやデータベースを含むインフラストラクチャの構築と保守に時間とお金を費やすことなく、新しいアプリケーションを作成および展開できる環境を手に入れることができることです。

これにより、アプリケーションの開発と配信が迅速化され、競争力を獲得したい企業や、製品を迅速に市場に投入する必要がある企業にとって大きなプラスになります。

また、PaaSを使用すると、新しい言語、オペレーティングシステム、データベース、およびその他の開発テクノロジの使用を迅速にテストできます。これは、PaaSをサポートするインフラストラクチャを立ち上げる必要がないためです。PaaSを使用すると、ツールのアップグレードも簡単かつ迅速になります。

また、PaaSを使用すると、エンタープライズソフトウェア開発者はアプリケーションでクラウド技術を使用する必要があり、最新の原則を採用し、クラウドインフラストラクチャ(IaaS)プラットフォームをより有効に活用できます。

PaaSを使用している組織はアプリケーションとデータを管理できるため、クラウドインフラストラクチャやアプリケーションを使用している場合によくあるように、制御の喪失は大きな問題ではありません。

PaaSアプリケーション 

アプリケーションの開発、テスト、および展開のためのホスト環境を提供することは、PaaSの最も一般的な用途の1つです。しかし、企業がPaaSを使用する理由はそれだけではありません。

調査会社のGartnerは、次のようなPaaSのさまざまなユースケースを挙げています。

  • APIの開発と管理。企業はPaaSを使用して、アプリケーションプログラミングインターフェイスとマイクロサービスを開発、実行、管理、および保護できます。これには、新しいAPIと既存のAPIの新しいインターフェースの作成、およびエンドツーエンドのAPI管理が含まれます。
  • ビジネス分析/インテリジェンス。PaaSを介して提供されるツールを使用すると、企業はデータを分析してビジネスの洞察と行動パターンを見つけることができるため、より適切な意思決定を行い、製品の市場需要などの将来のイベントをより正確に予測できます。
  • ビジネスプロセス管理(BPM)。組織は、PaaSを使用して、他のクラウド製品と同様にサービスとして提供されるBPMプラットフォームにアクセスできます。BPMスイートは、データ、ビジネスルール、サービスレベルアグリーメントなど、プロセス管理に必要なITコンポーネントを統合します。
  • コミュニケーション。PaaSは、通信プラットフォームの配信メカニズムとしても機能します。これにより、開発者は音声、ビデオ、メッセージングなどの通信機能をアプリケーションに追加できます。
  • データベース。PaaSプロバイダーは、組織のデータベースのセットアップや保守などのサービスを提供できます。調査会社のForresterResearchは、データベースPaaSを「データベースのプロビジョニングと管理を自動化し、開発者や非技術者が使用できる、オンデマンドで安全かつスケーラブルなセルフサービスデータベースプラットフォーム」と定義しています。
  • モノのインターネット。IoTは、今後数年間でPaaSの使用の大きな部分を占めると予想され、さまざまなIoT展開で使用される幅広いアプリケーション環境とプログラミング言語およびツールをサポートします。
  • マスターデータ管理(MDM)。これには、企業が所有する重要なビジネスデータを管理するプロセス、ガバナンス、ポリシー、標準、およびツールが含まれ、データの単一の参照ポイントを提供します。このようなデータには、顧客の取引に関する情報などの参照データや、意思決定をサポートするための分析データが含まれる場合があります。

PaaSテクノロジー 

PaaSには、サーバー、ネットワーク機器、オペレーティングシステム、ストレージサービス、ミドルウェア、データベースなど、基盤となる複数のクラウドインフラストラクチャコンポーネントが含まれています。

これらのテクノロジー製品はすべて、サービスプロバイダーによって所有、運用、構成、および保守されています。これらの完全に管理されたインフラストラクチャサービスは、IT管理の負担から顧客を解放するだけでなく、顧客にとって魅力的な経済的議論を提示します。彼らは、可能な限り最大限に使用できない可能性があるこれらの基本的なITコンポーネントへの投資をレイアウトする必要を回避できます。

PaaSには、開発ツール、プログラミング言語、ライブラリ、データベース管理システム、およびクラウドプロバイダーの他のツールなどのリソースも含まれています。

PaaSの例

主要なPaaSプロバイダーには、Amazon Web Services(AWS)、Microsoft、Google、IBM、Salesforce.com、Red Hat、Pivo​​tal、Mendix、Oracle、Engine Yard、Herokuがあります。最も広く使用されている言語、ライブラリ、コンテナ、および関連ツールは、すべての主要なPaaSプロバイダーのクラウドで利用できます。

特にAmazon、Microsoft、Googleは、コンピューティング、ストレージ、データベース、分析、ネットワーキング、モバイルバックエンド、開発者ツール、管理ツール、セキュリティなど、クラウドベースのサービスのフルセットを提供しています。多くの場合、これらはこれらのパブリッククラウドのPaaSサービスを補完するフルマネージドサービスです。 

多くのPaaSベンダーがソフトウェア開発ツールの大手プロバイダーでもあるのは偶然ではありません。ガートナーは、現在約200のPaaSプロバイダーがあると推定しています。

ここでは、主要なPaaSオファリングのいくつかを簡単に説明します。 

AWS Elastic Beanstalk

Elastic Beanstalkを使用すると、企業は、アプリケーションを実行するインフラストラクチャについて学習しなくても、AWSクラウドにアプリケーションをすばやくデプロイして管理できます。Elastic Beanstalkは、容量プロビジョニング、負荷分散、スケーリング、およびアプリケーションヘルスモニタリングの詳細を自動的に処理します。

AWS Lambda

AWS Lambdaは、イベントに応答してコードを実行し、そのコードに必要なコンピューティングリソースを自動的に管理する、イベント駆動型のサーバーレスコンピューティングプラットフォームです。AWS Lambdaは、FaaSの概念を普及させましたが、それは用語よりも前のものです。 

Google App Engine

Google App Engineは、Googleが管理するデータセンターでウェブアプリケーションを開発およびホストするためのPaaSオファリングです。アプリケーションはサンドボックス化され、実行され、複数のサーバー間で自動的にスケーリングされます。 

Google CloudFunctions

Google Cloud Functionsは、開発者がクラウドでコードを実行およびスケーリングし、イベント駆動型のサーバーレスアプリケーションを簡単に構築できるように設計されています。

Azure App Service

Microsoft Azure App Serviceは、Microsoft Azure Webサイト、モバイルサービス、およびBizTalkサービスを単一の製品に統合するフルマネージドPaaSです。Azure App Serviceは、オンプレミスシステムとクラウドシステム間の統合を提供します。

Azure関数

Microsoft Azure Functionsは、開発者がデータソースまたはメッセージングソリューションに接続してアクションを実行できるようにするサーバーレスコンピューティングプラットフォームであり、イベントの処理と対応を容易にします。開発者は、Azure Functionsを使用して、さまざまなアプリケーションからアクセスできるHTTPベースのAPIエンドポイントを構築できます。

Red Hat OpenShift

OpenShiftは、コンテナー化されたアプリケーションを構築およびデプロイするための、クラウドホストまたはオンプレミスでデプロイできるPaaSオファリングのファミリーです。主力製品はOpenShiftContainer Platformです。これは、Red Hat EnterpriseLinuxを基盤としてKubernetesによってオーケストレーションおよび管理されるDockerコンテナーを中心に構築されたオンプレミスPaaSです。 

Pivotal Cloud Foundry 

Cloud Foundryは、Cloud FoundryFoundationによって管理されているオープンソースのPaaSです。もともとはVMwareによって開発され、その後EMC、VMware、GeneralElectricの合弁会社であるPivotalSoftwareに譲渡されました。OpenShiftと同様に、Cloud Foundryは、オーケストレーションにKubernetesを使用して、コンテナーベースのアプリケーションを構築および実行するために設計されています。 

PaaSリスク

PaaSはクラウドベースのサービスであるため、情報セキュリティの脅威など、他のクラウド製品と同じ固有のリスクが数多くあります。PaaSは、ネットワークやサーバーなどの共有リソースを使用するという概念に基づいているため、セキュリティリスクには、重要なデータをこの環境に配置したり、ハッカーやその他の悪意のある人物による不正アクセスや攻撃によってデータが盗まれたりすることが含まれます。

一方、主要なクラウドプロバイダーは、一般的なエンタープライズデータセンターよりもこのような侵害を防ぐのに効果的であるため、情報セキュリティリスクはIT部門の多くが当初恐れていたものであることが証明されていません。

PaaSを使用すると、企業は、インフラストラクチャと運用に適切なアクセス制御やその他のセキュリティ対策とポリシーを構築するサービスプロバイダーに注目されます。企業は、アプリケーションに独自のセキュリティ保護を提供する責任もあります。

また、組織は特定のサービスプロバイダーのインフラストラクチャとソフトウェアに依存しているため、PaaS環境でのベンダーロックインの潜在的な問題があります。ITが尋ねる正当な質問は、選択したPaaSが現在および将来のIaaSおよびSaaS展開と相互運用できるかどうかです。

PaaSのもう1つのリスクは、サービスプロバイダーのインフラストラクチャで何らかの理由でダウンタイムが発生した場合と、サービスに与える可能性のある影響です。また、プロバイダーが開発戦略、プログラミング言語、またはその他の分野で変更を加えた場合はどうなりますか?

これらの考えられるハードルが、PaaSへの突入を妨げるとは思わないでください。プログラミングを処理しながらベンダーがプラットフォームを処理するため、柔軟性が向上します。

iPaaS

PaaSに関する議論には、iPaaS、統合Platform-as-a-Serviceについての言及を含める必要があります。iPaaSは、さまざまな環境にデプロイされたアプリケーションをリンクするための自動化ツールのセットです。iPaaSプロバイダーの代表的な例には、Dell Boomi、Informatica、MuleSoft、SnapLogicなどがあります。 

iPaaSは、オンプレミスのアプリケーションとデータをクラウドアプリケーションとデータと統合する必要がある企業にとって意味があります。これには、ハイブリッドクラウド環境を活用する企業が増えています。