PaaS とは

URL をコピー

PaaS (Platform-as-a-Service) は、開発者によるアプリケーションの構築、デプロイ、管理を単純化する、オールインワンのクラウドコンピューティング・プラットフォーム (ハードウェア、ソフトウェア、およびインフラストラクチャ) を提供します。PaaS を使用すると、通常はプロセスにつきもののインフラストラクチャやプラットフォームの構築および維持にとらわれることなく、ユーザー独自のアプリケーションを開発、実行、管理できます。

PaaS プラットフォームは、一般的にはクラウドをベースとしていますが、オンプレミス・インフラストラクチャで実行することができます。マネージドサービスの場合、PaaS プロバイダーはハードウェアとソフトウェアを自社のインフラストラクチャ上でホストし、このプラットフォームを統合ソリューション、ソリューションスタック、またはサービスとして、インターネット接続を通じてユーザーに提供します。

ハイブリッドクラウド戦略のためのハウツーガイドを入手するこのページは、英語でご利用いただけます (日本語 ではご利用いただけません)

Kubernetes ベースの PaaS は、コンテナベースのソフトウェアの実行、拡張、管理が可能なアプリケーション・プラットフォームとして機能できます。たとえば、Red Hat® OpenShift® のクラウドサービス・エディションはマネージド PaaS サービスです。

「as-a-Service」とは一般に、ユーザーがコーディングや顧客との関係構築など、より重要な業務に集中できるように、セカンドパーティが提供するサービスのことです。その他の as-a-Service の選択肢には、IaaS (Infrastructure-as-a-Service)SaaS (Software-as-a-Service) などがあります。

IaaS vs PaaS vs SaaS

IaaS の場合、クラウド・サービス・プロバイダーがクラウドを通じて実際のサーバー、ネットワーク、仮想化ストレージなどのインフラストラクチャを管理します。ユーザーはアプリケーション・プログラミング・インタフェース (API) またはダッシュボードを通じてアクセスし、基本的にインフラストラクチャをレンタルします。ユーザーはオペレーティングシステム、アプリケーション、ミドルウェアなどを管理します。一方、プロバイダーはハードウェア、ネットワーキング、ハードドライブ、ストレージ、サーバーを管理し、停止、修理、ハードウェアの問題に対処する責任があります。

SaaS は、プロバイダーがユーザーに代わってアプリケーションを管理します。プロバイダーはソフトウェアアップデート、バグ修正、その他の一般的なソフトウェア・メンテナンスを行います。ユーザーは Web ブラウザーまたは API を介してアプリケーションに接続します。これにより、個々のコンピュータにローカルでアプリケーションをインストールする必要もなくなります。

Red Hat OpenShift でアプリケーション開発を加速する

PaaS には 2 つの異なるカテゴリがあります。デプロイメントモデル (インフラストラクチャの物理的な場所と誰がアクセスできるかを指定) と、専門タイプ (プラットフォームが解決する特定のソフトウェア問題を指定) です。

1.PaaS デプロイメントモデル

デプロイメントモデルでは、基盤となるハードウェアの所有者を指定するとともに、開発環境をどの程度厳密に隔離するかを指定します。

  • パブリック PaaS:最も一般的なモデルであるパブリック PaaS は、パブリッククラウドプロバイダーの共有インフラストラクチャ上にすべてが配置されます。ユーザーがログインしてコードをアップロードし、ベンダーがその他のすべてを管理します。このモデルでは、低コストとゼロメンテナンスというメリットと引き換えに、データ保存場所やセキュリティ構成に対する粒度の小さい制御を犠牲にすることになります。
  • プライベート PaaS:プライベート PaaS は、パブリック PaaS と同じスムーズな開発者エクスペリエンスを備え、単一企業の分離されたファイアウォール内 (オンプレミスのデータセンターまたはプライベートクラウド・ネットワークのいずれか) に完全にデプロイされます。セキュリティとコンプライアンスは極めて高いものですが、物理ハードウェアのメンテナンスとプラットフォーム・ソフトウェアへのパッチ適用は完全に社内チームの責任となります。
  • ハイブリッド PaaS:ハイブリッドモデルにより、企業はパブリックスペースとプライベートスペースの両方にワークフローを分割できる柔軟性が得られます。たとえば、機密性の高いデータ処理をプライベート PaaS 内で維持し、トラフィックの急増が発生した場合には自動的にパブリック PaaS に切り替えることができます。

2.専門 PaaS サービス

クラウド市場が進化するにつれて、汎用 PaaS サービスは、高度で専門的な開発タスクの処理を目的としたニッチな製品へと特化されていきました。 

  • iPaaS (統合 PaaS): iPaaS は、大規模で分散したシステムをつなぐことにより、完全に独立したソフトウェア・アプリケーション間での自動化されたデータパイプラインを構築します。たとえば、CRM データを内部データベースに接続するなどです。
  • AIPaaS (人工知能 PaaS): AI モデルの構築、トレーニング、デプロイに重点を置く AIPaaS は、強力な GPU、機械学習フレームワーク、データ・クリーニング・パイプラインを含む、事前構成済みクラスタを提供します。開発者が AI サーバーをゼロから構築する必要はありません。
  • cPaaS (通信 PaaS): cPaaS は、開発者が SMS テキスト送信、VoIP 音声通話、ビデオチャットなどをアプリケーション内に追加できるよう特化されたものであり、事前にパッケージ化されたコードライブラリ、API、セルラーネットワーク接続が含まれています。 
  • mPaaS (モバイル PaaS): mPaaS にはスマートフォンに特化されたツールが組み込まれており、モバイルアプリケーション開発が効率化されます。

1 つだけを選ぶ必要はありません。先進的な企業なら、パブリック mPaaS を使用してコア・モバイル・アプリケーションを構築し、iPaaS を使用して内部サーバーにリンクし、ハイブリッドクラウド・デプロイメントでエコシステム全体を実行することもできます。

PaaS (Platform-as-a-Service) は複雑なバックエンド・インフラストラクチャを処理し、そのおかげで開発者はアプリケーションコードの作成に専念できるため、エンジニアリングチームによって広く使用されています。 

  • PaaS は、API 開発と管理のための組み込みの基盤を提供します。事前構成済みのセキュリティ・ゲートウェイとルーティングツールにより、ネットワークルールをゼロから設定しなくても、さまざまなソフトウェアシステムが即座に通信できます。 ユーザーは基本的にインフラストラクチャをレンタルします。
  • PaaS は、先進的な DevOps や自動化された CI/CD (継続的インテグレーション/継続的デプロイメント)パイプラインを支えるエンジンでもあります。開発者が新しいコードをプッシュすると、PaaS は自動的にテストワークフローをトリガーし、アプリケーションをパッケージ化してライブ環境に直接デプロイするため、人的ミスが大幅に減少し、デプロイの時間が数日から数分に短縮されます。
  • PaaS は、マイクロサービスとビッグデータ分析を支える取り組みの管理に優れています。大規模なクラウドサーバー・クラスタを即座にスピンアップし、タスクが完了したらシャットダウンできるため、組織はデータ負荷の高い短期的な分析モデルを実行したり、複雑な手動セットアップを伴うことなく個々のアプリケーション (スタンドアロンの決済エンジンなど) を安全に分離したりすることができます。
  • PaaS は、IoT (モノのインターネット) デプロイメントのスケーリングに極めて効果的です。IoT では数千もの分散したデバイスが絶え間なくリアルタイムでメトリクスを送信します。PaaS はこれらの大量のデータストリームを安全に捕捉し、即座に処理し、アプリケーション・アラートをトリガーするために必要な、スケーラブルなバックエンド基盤を提供します。

PaaS 環境を使用するメリットとしては、サーバーのメンテナンス、インフラストラクチャ・ソフトウェアのアップデートの維持、アプリケーション構築のためのカスタム・プラットフォームのセットアップといった責任を軽減できることが挙げられます。PaaS プロバイダーはプラットフォームをホストし、アプリケーションを実行する環境を提供できます。
 
ソフトウェアチームは、基盤となるインフラストラクチャのメンテナンスや維持を気にせずに、アプリケーションの開発とデプロイを行うことができます。これにより、余計な作業にあまり気を取られずに、さらなる開発とイノベーションへの道が開かれるとともに、インフラストラクチャのセットアップの手間とコーディングの量も削減されます。PaaS はクラウドに存在するため、スケーラビリティがあり、移行も容易です。

アプリケーション開発に PaaS 環境を選択する組織は、さまざまなメリットを享受できます。

  • 既存のスキルと投資の活用:開発者は、必要なオペレーティングシステム、ミドルウェア、フレームワーク、その他の開発ツールにアクセスし、知っている言語を使用してすばやくコーディングできます。
  • コストの削減:PaaS の料金体系では、使用した分だけ支払います。ほとんどの時間でアイドル状態になりがちなオンプレミス・コンピューティング・インフラストラクチャへ投資する必要はありません。
  • アプリケーション開発サイクルの短縮:PaaS は、開発チームがアプリケーション開発を加速させ、新しいソフトウェアのデプロイにかかる時間を短縮するのに役立ちます。自律的な開発および提供チームは、このプラットフォームを活用することで、連携作業を削減しながら、より迅速にビジネス機能を提供できるようになります。 
  • 効果的な DevOps の実現: DevOps 戦略によって開発者と IT 運用チームが連携し、継続的デリバリーによるアプリケーションの迅速な開発およびデプロイが可能になります。企業のデジタル・プラットフォームを異なるチーム間のインタフェースとして使用することができ、これによってコミュニケーションとコラボレーションを向上させるとともに、型にはまった連携の必要性が軽減されます。 
  • セキュリティ対策の維持:PaaS プロバイダーを利用すると、統一された方法でセキュリティ・プラクティスに関連する意思決定を管理できます。クラウドベースのサービスには、セキュリティに特化した高度なスキルを持つチームが支えているというメリットがあります。
  • 生産性の向上:開発者は、セルフサービス機能を通じて、必要なツールとリソースをすばやく入手できます。開発環境は自動的にプロビジョニングされるので、チームは日常的なインフラストラクチャ管理ではなく、付加価値を生み出す作業に集中できます。

PaaS は、効果的に使用すれば、納期のプレッシャーと増大する技術的負債という、変革を阻害する多数の要因のうちの 2 つに苦しむ技術スタッフの認知負荷を軽減できます。また、学習や新しい行動を奨励することもできます。

PaaS を選択するということは、インフラストラクチャの自律性よりも、開発者のスピードを優先するというトレードオフを意味します。シンプルなアプリケーションの場合、そのスピードがメリットとなりますが、規制の厳しい大規模エンタープライズの場合、制御の欠如が問題となり、元のインフラストラクチャに戻さざるを得なくなることがよくあります。

PaaS ソリューションを決定する際には、次のような留意すべき点がいくつかあります。

  • ベンダーロックイン:PaaS プロバイダーは、デプロイを容易にするためにプロプライエタリーなツールを使用しています。そのため、移行が困難になる可能性があります。
  • 含まれる機能:お使いのアプリケーションはその環境で正常に動作するでしょうか。アプリケーションが成長および発展し、ユーザー数が増えていくにつれて、そのプロバイダーで簡単にスケーリングできるのか、必要なオプションが利用できるのかを確認しておくことが重要です。
  • セキュリティとコンプライアンス:PaaS の場合、データとコードはサードパーティが管理する環境に置かれます。そのため、HIPAA や SOC 2 などの厳格な業界標準に準拠することが難しくなります。プロバイダーのセキュリティポスチャとアクセス制御を利用することになるからです。
  • 限定的なインフラストラクチャ制御: PaaS の場合、基盤となるオペレーティングシステム、サーバー構成、ハードウェア・コンポーネントに対する可視性や制御がまったく得られない場合があります。アプリケーションにカスタマイズが必要な場合、PaaS が最適な選択肢とはならない可能性があります。
  • ユーザー数:ユーザー数が増え、コードの固有性が高くなるほど、アプリケーションの実行速度が遅くなり、必要な場合に別のサービスプロバイダーに移行することが難しくなります。

Red Hat のソリューションは、セキュリティ、コミュニティ、そして数十年にわたる経験を提供するとともに、お客様のアイデアの発展に合わせて成長および拡大できる柔軟性を備えています。オンデマンドのアプリケーション・スタックと事前作成されたクイックスタート・アプリケーション・テンプレートを使用して、ワンクリックでアプリケーションの構築を開始できます。

Red Hat OpenShift の PaaS サービスには、Red Hat OpenShift Service on AWSMicrosoft Azure Red Hat OpenShiftRed Hat OpenShift Dedicated があります。

Red Hat OpenShift を使用してライフサイクル管理を自動化すると、セキュリティの向上、運用ソリューションのカスタマイズ、アプリケーションの可搬性が実現します。また、開発者ワークフローの標準化、提供の効率化、複数環境のサポートが可能になり、自動リリース管理を伴う継続的インテグレーションも実現できます。

さらに、Red Hat OpenShift はセキュリティ重視のサポート付き Kubernetes プラットフォームであり、さらなるサポートが必要なお客様にはエキスパートによるトレーニングとコンサルティングを提供しています。

Red Hatt OpenShift を試す

リソース

Azure Red Hat OpenShift の使用を開始する

Azure と Red Hat OpenShift を活用して、フルマネージド OpenShift クラスタのフルサービスをデプロイすることにより、アプリケーションの構築およびデプロイメント機能を強化できます。

すべての Red Hat 製品のトライアル

Red Hat の無料トライアルは、Red Hat 製品をハンズオンでお試しいただける無料体験版です。認定の取得に向けた準備をしたり、製品が組織に適しているかどうかを評価したりするのに役立ちます。

関連情報

IaaS、PaaS、SaaS の違いとは?をわかりやすく解説

IaaS (Infrastructure-as-a-Service)、PaaS (Platform-as-a-Service)、SaaS (Software-as-a-Service) は、クラウド・コンピューティングで提供される各種のサービスです。

クラウド・サービス・プロバイダーとは?をわかりやすく解説

クラウド・サービス・プロバイダーは、クラウドベースのインフラ(IaaS)、プラットフォーム(PaaS)、ソフトウェア(SaaS)等のコンピューティングサービスを提供する企業です。

マネージド IT サービスとは (managed IT services) とは?

マネージドサービスは、IT システムの運用管理などの業務をアウトソーシングする手法です。コスト削減やサービス品質の向上、本来の業務に集中することが可能になります。

クラウドサービスリソース