概要
Platform-as-a-Service (PaaS) は、アプリケーション・ソフトウェア・プラットフォームが別の団体によって提供される、クラウド・コンピューティングの一種です。PaaS は特に開発者とプログラマーに対して有効で、通常は開発プロセスにつきもののインフラストラクチャやプラットフォームの構築と維持にとらわれることなく、ユーザー独自のアプリケーションを開発、実行、管理できます
PaaS プラットフォームはクラウドでもオンプレミス・インフラストラクチャでも実行できます。マネージド製品の場合、PaaS プロバイダーがハードウェアとソフトウェアを自社のインフラストラクチャ上でホストして、このプラットフォームを統合ソリューション、ソリューションスタック、またはサービスとして、インターネット接続を通じてユーザーに提供します。
クラウドネイティブ開発のユースケースでは、Kubernetes ベースの PaaS は、コンテナベースのアプリケーションを実行、拡張、および管理できるプラットフォームとして機能します。たとえば、Red Hat® OpenShift® のクラウド・サービス・エディションはマネージド形式で提供される PaaS 製品です。
PaaS、IaaS、SaaS
「as-a-Service」とは一般に、ユーザーがコーディングや顧客との関係構築など、より重要な業務に集中できるように、サードパーティが提供するサービスのことです。その他の as-a-Service オプションとして、Infrastructure-as-a-Service (IaaS) と Software-as-a-Service (SaaS) があります。
IaaS の場合、プロバイダーがクラウドを通じて、インフラストラクチャ (実際のサーバー、ネットワーク、仮想化、ストレージ) を管理します。ユーザーはアプリケーション・プログラミング・インタフェース (API) またはダッシュボードを介してアクセスでき、インフラストラクチャは基本的に賃借します。オペレーティングシステム、アプリケーション、ミドルウェアなどはユーザーが管理し、ハードウェア、ネットワーク、ハードドライブ、データストレージ、サーバーはプロバイダーが管理します。機能停止、修理、 ハードウェアの問題にもプロバイダーが対処します。
SaaS では、プロバイダーがユーザーに代わってアプリケーションを管理します。ソフトウェアアップデート、バグ修正、その他の一般的なソフトウェアメンテナンスはプロバイダーによって実施され、ユーザーは Web ブラウザーまたは API を介してアプリケーションに接続します。アプリケーションを個々のコンピュータ上にインストールする必要もなくなります。
PaaS のメリット
PaaS 環境を使用するメリットには、サーバーの保守、インフラストラクチャ・ソフトウェアの最新状態の維持、アプリを構築するために必要なカスタムプラットフォームのセットアップという責任が軽減されるという点が挙げられます。PaaS プロバイダーはプラットフォームをホストして、アプリケーションを実行する環境を提供できます。
ソフトウェアチームは、基盤インフラストラクチャのメンテナンスや保守を気にすることなく、アプリの開発とデプロイを実行できます。このため、余計な作業をせずに開発やイノベーションに専念でき、インフラストラクチャのセットアップやコーディングの量も減少します。PaaS はクラウドに存在するので、スケーラビリティが実現し、移行が容易になります。
アプリケーション開発に PaaS 環境を選んだ組織は、多様なメリットを活用できます。
- 既存のスキルと投資を使用する:開発者は、必要とするオペレーティングシステム、ミドルウェア、フレームワーク、その他の開発ツールにアクセスし、使い慣れた言語を使用してすばやくコーディングできます。
- コストを削減する:PaaS の価格設定は、大半の時間はアイドル状態になるかもしれないオンプレミスのコンピューティング・インフラストラクチャに多額の投資をすることなく、使用した分だけを支払います。
- アプリケーション開発のサイクルを迅速化する:PaaS は、開発者チームがアプリケーションを迅速に開発できるよう支援し、新規ソフトウェアのデプロイに要する時間を短縮します。
- 効果的な DevOps を実現する:DevOps 戦略によって開発者と IT 運用とをひとつにまとめることで、継続的デリバリーを通じてアプリの開発とデプロイを迅速に行えます。
- セキュリティ対策を維持する:PaaS プロバイダーを利用すると、セキュリティ慣行に関連する意思決定を一貫した方法で管理できます。クラウドベースのサービスは、セキュリティに専念する高度なスキルを持つチームからメリットを得られます。
- 生産性を向上させる:開発者はセルフサービス機能を使用して、必要とするツールやリソースをすばやく手に入れることができます。開発環境は自動的にプロビジョニングされるので、ルーチンのインフラストラクチャ管理よりも、価値を生み出す業務に集中できます。
プラットフォーム・エコシステムの概要と、PaaS が果たす役割
ビジネスの急速な変化に適応しようとする組織は、ツールと戦略の無数の組み合わせを検討しますが、その中には目立ったインパクトを残さないものもあります。しかしプラットフォーム・エコシステムはその性質から、有意義な方法で変革をサポートする中心的なツールとなり得ます。
プラットフォームの本質は単なるテクノロジーではなく、人材とプロセスでもあります。プラットフォーム・エコシステムは、デジタル・プラットフォーム、
プラットフォームを製品として作成して管理するプラットフォームチーム、プラットフォーム・エコシステムを育成して持続的な目的を達成できるよう支援するプラットフォーム・コミュニティで構成されます。
デジタル・プラットフォームは、多くの場合 PaaS ですが、変革の焦点となります。デジタル・プラットフォームは、セルフサービス API、ツール、サービス、知識、説得力のある内部製品として準備されたサポートから成る基盤です。
自律的な開発およびデリバリーチームは、プラットフォームを使用して、手間をかけることなくビジネス機能を頻繁に提供できます。そして組織のデジタル・プラットフォームを異なるチーム間のインタフェースとして使用して、コミュニケーションとコラボレーションを向上させ、足並みを揃えるための手間を低減できます。
効果的に使用すると、変革を妨げる 2 大障害である、デリバリーのプレッシャーと積み重なる技術的負債という大きな負荷がかけられている技術スタッフが感じる負担を軽減できます。さらに、学習と新たな行動も促進されます。
PaaS プロバイダー選定時の注意事項
PaaS ソリューションを選定する際に考慮すべき事項を紹介します。
- どのような機能が含まれていて、アプリケーションがその機能と正常に連携できるかどうか。アプリケーションの拡張や進化に伴ってユーザーが増加することを考慮して、このプロバイダーで容易に拡張ができるか、必要なオプションが用意されているか、確認しておきましょう。
- 使用している言語とフレームワークに対して最適化されているか。最適化されていない場合、ランタイムが問題となる可能性があります。
- この先必要なだけプロバイダーが存続することを見込めるか。プロバイダーに顧客から信用と信頼を得た実績があることを確認して、確実にサポートが得られるようにしましょう。
- アプリケーションを使用するユーザー数はどの程度と見込まれるか。ユーザー数が多く、コードの特殊性が高いほど、アプリケーションの実行が遅くなり、別のサービスプロバイダーへの移行が必要になった場合には、移行の困難さが増します。
Red Hat で PaaS を使う
Red Hat ソリューションには、セキュリティ、コミュニティ、数十年に及ぶ経験と、アイデアに応じて成長および拡大できる柔軟性が備わっています。オンデマンドのアプリケーションスタックとあらかじめ作成済みのクイックスタート・アプリケーション・テンプレートを使って、クリックするだけで自分のアプリケーション構築を開始できます。
Red Hat OpenShift の PaaS サービスには、Red Hat OpenShift Service on AWS、Microsoft Azure Red Hat OpenShift、Red Hat OpenShift Dedicated があります。
Red Hat OpenShift により、ライフサイクル管理を自動化して、セキュリティを強化し、実用的なソリューションをカスタマイズし、アプリケーションの可搬性を獲得できます。Red Hat OpenShift なら、開発者ワークフローの標準化と複数環境のサポート、そして自動リリース管理を伴う継続的インテグレーションを実現できます。Red Hat Marketplace は、任意の Red Hat OpenShift クラスタでの認定ソフトウェアの自動化されたデプロイメントを提供します。
Red Hat OpenShift はセキュリティ重視のサポート付き Kubernetes プラットフォームで、さらなるサポートを必要とするお客様向けにエキスパートによるトレーニングとコンサルティングが用意されています。