PaaS(Platform-as-a-Service)

menu icon

PaaS(Platform-as-a-Service)

PaaS(Platform-as-a-Service)は、アプリケーションを開発、実行、管理するための、機能が豊富で柔軟かつコスト効率の良いクラウド・プラットフォームを提供します。

PaaS(Platform-as-a-Service)とは

PaaS(Platform-as-a-Service)は、お客様に機能が豊富なクラウド・プラットフォーム(ハードウェア、ソフトウェア、インフラストラクチャー)を提供するクラウド・コンピューティング・モデルです。そのようなプラットフォームをオンプレミスで構築して維持するのにかかるコスト、複雑性、硬直性を排除して、アプリケーションの開発、実行、管理を行うことができます。

PaaSプロバイダーは、サーバー、ネットワーク、ストレージ、オペレーティング・システム・ソフトウェア、データベース、開発ツールのすべてをデータセンターでホストしています。 通常、お客様は一定の料金を支払うことで、指定されたユーザー数に、指定された量のリソースを提供できます。あるいは、リソースの使用量に応じて料金を支払う「従量制」の料金設定を選択することもできます。 どちらを選択しても、PaaSのお客様は、自社のオンプレミス・プラットフォームを構築して管理する場合よりも迅速かつ安価に、アプリケーションの構築、テスト、導入実行、更新、拡張を行うことができます。

Amazon Web Services(AWS)、Google Cloud、IBM Cloud、Microsoft Azureを含む、すべての主要なクラウド・サービス・プロバイダーは、独自のPaaSを提供しています。 人気のPaaSソリューションはオープンソース・プロジェクト(例えばApache Stratos、Cloud Foundry)として、またはソフトウェア・ベンダー(例えばRed Hat OpenShiftやSalesforce Heroku)から利用することもできます。

PaaSのメリット

オンプレミス・プラットフォームと比較した、PaaSの最も一般的なメリットとしては、以下のものがあります。

  • 市場投入までの時間短縮。PaaSを使用すると、アプリケーション開発プラットフォームの構築と保守のためにハードウェアとソフトウェアを購入してインストールする必要がなく、この作業中に開発チームを待たせておく必要もありません。 クラウド・サービス・プロバイダーのPaaSを利用するだけで、リソースのプロビジョニングと開発をすぐに開始できます。
  • 多様なリソースへの手頃な価格のアクセス。PaaSプラットフォームは通常、ほとんどの組織が実際的または手頃な価格で自ら維持できるよりも幅広い選択肢のアプリケーション・スタック(オペレーティング・システム、ミドルウェア、データベース、開発ツールを含む)へのアクセスを提供します。
  • 自由度が高く、少ないリスクでの実験。PaaSでは、新しいオペレーティング・システム、言語、その他のツールを、それら自体やその実行に必要なインフラストラクチャーに実質的な投資をせずに、試行やテストをすることもできます。
  • 費用対効果に優れ、容易に拡張できる。オンプレミス・プラットフォームを使用すると、スケーリングは高くつくものになり、時により無駄になったり不十分になったりします。 トラフィックのスパイクを予測して、コンピュート、ストレージ、ネットワーキングの追加容量を購入する必要がありますが、その容量の多くは、トラフィックの低い期間中は使用されず、予期せぬ急増に合わせて増やすことはできません。 PaaSを使用すると、必要なときにいつでも追加の容量を購入して、すぐに使用を開始することができます。
  • 開発チームの柔軟性の向上。PaaSサービスは、共有ソフトウェア開発環境を提供して、開発チームと運用チームが、インターネットに接続された任意の場所から必要なすべてのツールにアクセスできるようにします。
  • コスト全体の削減。PaaSは、組織がアプリケーション・プラットフォームの構築とスケーリングに関連する資本設備費を回避できるようにすることで、コストを明確に削減します。 PaaSでは、ソフトウェア・ライセンス・コストを削減でき、さらにはなくせる場合もあります。 また、PaaSがパッチ、更新、その他の管理タスクを処理するので、アプリケーション管理コスト全体を削減できます。

PaaSの仕組み

一般に、PaaSソリューションには以下の3つの主要パーツがあります。

  • 仮想マシン(VM)、オペレーティング・システム・ソフトウェア、ストレージ、ネットワーキング、ファイアウォールなどのクラウド・インフラストラクチャー
  • アプリケーションの構築、導入、管理のためのソフトウェア
  • 開発チームまたはDevOpsチームがアプリケーション・ライフサイクル全体をとおしてすべての作業を実行できる、グラフィック・ユーザー・インターフェース(GUI)

PaaSは、GUIオンライン・インターフェースを通じてすべての標準開発ツールを提供するため、開発者はどこからでもログインして、プロジェクトのコラボレーション、新規アプリケーションのテスト、または完了した製品のロールアウトを行うことができます。 アプリケーションは、ミドルウェアを使用してPaaSの中で設計および開発されます。 簡素化されたワークフローでは、複数の開発チームと運用チームが同時に同じプロジェクトで作業できます。

PaaSプロバイダーは、クラウド・コンピューティング・サービス(サーバー、ランタイム、仮想化など)の大部分を管理します。 PaaSのお客様は、引き続きアプリケーションとデータを管理します。

PaaS、IaaS、SaaS

PaaSと同様に、Infrastructure-as-a-Service(IaaS)およびSoftware-as-a-Service(SaaS)は、非常に一般的なクラウド・コンピューティング・サービス・モデルです。 実際、組織が3つすべてを特に購入していない場合でも、3つすべてを使用していることもよくあります。 ここで明確にしておきます。

IaaSは、クラウド・プロバイダーによってホストされる「未加工の」ITインフラストラクチャー(物理サーバー、仮想マシン、ストレージ、ネットワーキング、ファイアウォール)へのインターネット・アクセスです。IaaSでは、オンプレミス・インフラストラクチャーの所有、管理、保守にかかるコストと作業が削減されます。 組織はIaaSを使用して、独自のアプリケーション・プラットフォームとアプリケーションを提供します。

すべてのPaaSオファリングには、それをホストするために必要なIaaSリソースが(これらのリソースが個別に分割されていなかったり、IaaSと呼ばれない場合でも)、必然的に含まれています。

SaaSは、ご使用のコンピューターにインストールされているかのように(一部がご使用のコンピューターにインストールされている場合もあります)、クラウドを介して使用するアプリケーション・ソフトウェアです。SaaSを使用すると、組織は、アプリケーションを実行するためのインフラストラクチャーのセットアップの費用や、それを維持する(バグ修正や更新の適用、停止への対応など)ための労力と人員の必要なしに、アプリケーションを使用することができます。SalesforceおよびSlackは、一般的なSaaSオファリングの例です。ほとんどのWebアプリケーションは、SaaSとみなされます。

すべてのSaaSオファリングには、それをホストするために必要なIaaSリソースが含まれており、少なくとも、それを実行するために必要なPaaSコンポーネントが含まれています。 一部のSaaSベンダーは、サード・パーティーがSaaSオファリングをカスタマイズできるようにする個別のPaaSも提供しています。

IaaS、PaaS、SaaSを比較するもう1つの方法は、以下のように、顧客が分担する管理の範囲と、クラウド・サービス・プロバイダーが分担する管理の範囲に基づくものです。

IaaS、PaaS、サーバーレス、SaaSでは、増大する管理責任をクラウド・プロバイダーに任せることができます。

 

IaaS、PaaS、SaaSの詳細をお読みください。

PaaSのユースケース

統合されてすぐに使用できるプラットフォームを提供することにより、また組織がクラウド・プロバイダーにインフラストラクチャー管理の負担を任せて、アプリケーションの構築、導入、管理に集中できるようにすることにより、PaaSは、以下のような数多くのITイニシアチブを容易にしたり、進展させることができます。

  • APIの開発と管理: PaaSにはフレームワークが組み込まれているため、アプリケーション間でデータと機能を共有するためのAPI(アプリケーション・プログラミング・インターフェース)をチームが開発、実行、管理、保護することがより簡単になります。
  • モノのインターネット(IoT): PaaSは、IoTアプリケーション開発や、IoTデバイスによって生成されたデータのリアルタイム処理に使用される、さまざまなプログラミング言語(Java、Python、Swiftなど)、ツール、アプリケーション環境をサポートしており、すぐに利用可能です。
  • アジャイル開発とDevOps:PaaSは、統合、デリバリー、セキュリティー、テスト、導入を含む、ソフトウェア・アプリケーションのライフサイクルを自動化するための、全てが構成済みの環境を提供できます。
  • クラウドへの移行とクラウドネイティブ開発:すぐに使用できるツールと統合機能により、PaaSは既存のアプリケーションのクラウドへの移行を簡素化することができます。特に、リプラットフォーミング(クラウドの拡張性、ロード・バランシング、その他の機能を活用するための変更を行ってアプリケーションをクラウドに移行する)、またはリファクタリングマイクロサービスコンテナ、その他のクラウドネイティブ・テクノロジーを使用してアプリケーションの一部またはすべてを再アーキテクトする)によってそれを実現します。
  • ハイブリッドクラウド戦略:ハイブリッドクラウドは、パブリッククラウド・サービス、プライベートクラウド・サービス、オンプレミス・インフラストラクチャーを統合し、3つすべてにわたってオーケストレーション、管理、アプリケーションの移植性を提供します。 その結果、統一された柔軟な分散コンピューティング環境が提供されます。この環境で組織は、最も適切なコンピューティング・モデルで従来型(レガシー)またはクラウドネイティブのワークロードを実行および拡張することができます。 適切なPaaSソリューションを使用すると、開発者は一度構築すれば、ハイブリッドクラウド環境の任意の場所に導入して管理することができます。

専用のPaaSのタイプ

多くのクラウド、ソフトウェア、ハードウェアのベンダーは、特定のタイプのアプリケーション、または特定のタイプのハードウェア、ソフトウェア、またはデバイスと相互作用するアプリケーションを構築するためのPaaSソリューションを提供します。

  • AIPaaS(人工知能用のPaaS)は、開発チームが 人工知能(AI)アプリケーションの構築を、これらのアプリケーションが必要とする多大なコンピューティング能力、ストレージ容量、ネットワーク容量の購入、管理、保守にかかりがちな高額費用なしで行えるようにします。 通常、AiPaaSには、開発者がそのままあるいはカスタマイズして使用できる、事前に訓練された機械学習ディープ・ラーニングのモデルや、音声認識や音声テキスト変換などの特定のAI機能を既存または新規のアプリケーションに統合するための既製のAPIが含まれています。
  • iPaaS(サービスとしての統合プラットフォーム)は、アプリケーションを統合するためのクラウド・ホスト・ソリューションです。iPaaSは、パブリッククラウド、プライベートクラウド、オンプレミスの環境でデータ、プロセス、サービスを接続するための標準化された方法を組織に提供します。これにより、組織は自社のバックエンド統合ハードウェア、ミドルウェア、ソフトウェアを購入、インストール、管理する必要がなくなります。(Paasソリューションにはある程度の統合機能(例えばAPI管理)が含まれることが多いことに注意してください。しかし、iPaaSはより包括的なものです。)
  • cPaaS(サービスとしての通信プラットフォーム )は、開発者が、特殊な通信ハードウェアやソフトウェアに投資することなく、音声(受信/発信の通話)、動画(電話会議を含む)、メッセージング(テキストとソーシャル・メディア)の機能をアプリケーションに簡単に追加できるようにするPaaSです。
  • mPaaS(サービスとしてのモバイル・プラットフォーム)は、モバイル・デバイス用のアプリケーション開発を簡素化するPaaSです。通常、mPaaSは、携帯電話機のカメラ、マイクロフォン、モーション・センサー、地理位置情報(GPS)機能を含むデバイス固有の機能にアクセスするための低コード(単純なドラッグ・アンド・ドロップも含む)方式を提供します。

PaaSとIBM Cloud

IBMは、クラウドネイティブ・アプリケーションを最初から開発したり、既存アプリケーションをモダナイズしてクラウドの柔軟性と拡張性のメリットを活かしたりするための、機能が豊富で拡張が容易なPaaSソリューションを提供します。

IBM Red Hat OpenShift on IBM Cloudは、IBM Cloudのエンタープライズ規模とセキュリティーを使用して、更新、スケーリング、プロビジョニングを自動化し、トラフィックの予期しない急増を処理することができる、フルマネージドのOpenShiftサービスです。 お客様のチームは、さまざまなツールと機能を活用して開発とアプリケーションのモダナイゼーションをすぐに開始し、可用性の高いフルマネージド・クラスターをシングルクリックで導入できます。IBM Red Hat OpenShift on IBM Cloudは、The Forrester Wave:マルチクラウド・コンテナ開発プラットフォーム、Q3 2020(PDF、415 KB)でリーダーと評価されました。

IBM Cloud Pak for Applicationsは、既存のアプリケーションをモダナイズし、追加のセキュリティーを組み込み、デジタル・イニシアチブを活用する新しいアプリケーションを開発するのに役立ちます。 お客様固有のニーズに合わせて調整できる柔軟なライセンスと共に、迅速に価値をもたらすクラウドネイティブの開発ソリューションを提供します。

IBM Cloud上でPaaSを開始するには、IBMidを登録して、IBM Cloudアカウントを作成してください。