DUICUO

企業が Platform as a Service (PaaS) を選択すべき理由は何でしょうか?

PaaS(Platform as a Service)とは、アプリケーションの開発、実行、管理のためのプラットフォームを顧客に提供するクラウドコンピューティングサービスを指します。これにより、アプリケーションの開発とリリースに伴うインフラストラクチャの構築と保守の複雑な作業が不要になります。これは、クラウドネイティブアプリケーションとサポートシステムが依存する中核プラットフォームです。

PaaSには通常、アプリケーションプラットフォーム、統合プラットフォーム、ビジネス分析プラットフォーム、イベントストリーミングサービス、モバイルバックエンドサービスなど、さまざまなアプリケーションインフラストラクチャ機能が含まれます。さらに、監視、管理、デプロイメント関連の機能スイートも含まれています。

開発者は開発環境の迅速性と効率性を求める一方、運用チームはパフォーマンスと安定性を重視します。そのため、両者の間でしばしば対立が生じます。PaaSは両者にとって快適な環境を実現します。サービスとして提供されるアプリケーションプラットフォームはPaaSと呼ばれ、ユーザーコードのデプロイに使用されます。Cloud Foundry、Cloudify、OpenShiftなどのオープンソース環境はすべてPaaSとして利用できます。

PaaSの採用パターン

クラウドコンピューティングは、オンデマンドサービス、ネットワークアクセス、リソースプーリング、弾力性、そして測定可能なサービスという5つの基本特性を満たす必要があります。この目的を達成するために、クラウドコンピューティングは、Software as a Service (SaaS)、Platform as a Service (PaaS)、Infrastructure as a Service (IaaS)という3つのサービスモデルを提供しています。

企業が PaaS を選択する主な要因:

  • サービス提供のための資本支出と運用経費を削減します。
  • アプリケーションの配信時間を短縮し、開発と配信の品質を向上させることで、IT コストを最小限に抑えます。
  • ミドルウェア間の柔軟性と統合性を高める

Simple PaaS :PaaSの世界へのゲートウェイ。アプリケーションサービスを提供し、セルフサービスカタログで公開します。また、サービスで使用されるリソースのデプロイメントと計測を自動化します。

PaaS 管理: 復元力、アプリケーション パフォーマンス、セキュリティなど、構成されたアプリケーションのサービス レベル アグリーメント (SLA) とサービス品質 (QoS) を管理します。

プログラミング PaaS : アプリケーションを外部アプリケーションまたはパブリック クラウドと統合し、自動スケーリングとクラウド バーストのシナリオを可能にします。

プロセス指向の PaaS : 継続的な配信プロセスを作成して、アプリケーションを自動的に構築、テストし、クラウド環境に配信できる DevOps プロセスを実装できます。

これらの採用パターンに加えて、次のような他の PaaS バリアントも存在し、これらは上記のパターンとある程度重複する可能性があります。

統合プラットフォーム・アズ・ア・サービス(iPaaS) :統合フローの開発、実行、管理を可能にするクラウドサービス群。統合フローは、個人内部で構築することも、複数の組織にまたがって接続することもでき、社内またはクラウドベースのプロセス、サービス、アプリケーション、データなど、あらゆるものを含めることができます。これらの組み合わせは、MuleSoft CloudHubやBizTalkなど、前述のパターンのいずれかに準拠する場合もあります。

モバイル プラットフォーム アズ ア サービス (mPaaS) : 複数のモバイル プラットフォームをサポートする、モバイル アプリケーションを開発するための統合開発環境 (IDE)。

データベース プラットフォーム アズ ア サービス (dbPaaS) : データベースの構成と管理を自動化する、オンデマンドで安全かつスケーラブルなセルフサービス データベース プラットフォームです。dbPaaS により、データベースのスケーリングがより簡単に、より信頼性高く行えます。

IoT Platform as a Service (IoTPaaS) : 異機種混在のIoTトポロジーの実装に必要な通信、セキュリティ、分析、管理のための共通インフラストラクチャを提供します。IoTソリューションを構築するための、よりシンプルで俊敏なモデルを提供します。

ビジネスプロセス管理プラットフォーム(bpmPaaS) :クラウドでホストされ、サービスとして提供される、統合済みの包括的なビジネスプロセス管理プラットフォーム。企業全体にわたるビジネスプロセスとワークフロー中心のアプリケーションの開発と実行に使用されます。例としては、Pega CloudやOpenText Cordys Cloudなどが挙げられます。

PaaS の基本的な特徴:

  • 同じ統合開発環境内でアプリケーションを開発、テスト、展開、ホスティング、および保守するためのサービス。
  • 複数の同時ユーザーが同じ開発プログラムを使用するマルチテナント アーキテクチャ。
  • ソフトウェアには、負荷分散やフェイルオーバーなどのスケーラビリティが組み込まれています。
  • 異機種プラットフォームおよびシステムとの統合
  • 開発チーム内のコラボレーションをサポートする
  • 請求書の処理やサブスクリプションの管理のためのツールが含まれています。

主要なオープンソースPaaS

PaaS プラットフォームを選択する前に、企業は次の重要なポイントを考慮する必要があります。

  • 展開の柔軟性
  • 操作の容易さ
  • アプリケーションスタックの選択
  • 言語、データベース、フレームワークのサポート
  • スケーラビリティ
  • サービス品質(QoS)
  • 開発・運用ツール
  • それはあなたのビジネスにどれくらい適していますか?

人気のあるオープンソース PaaS を簡単に見てみましょう。

Cloud Foundryは、多様なクラウドオプション、開発者フレームワーク、アプリケーションサービスを提供します。Cloud Foundryを利用することで、アプリケーションの構築、テスト、デプロイ、スケーリングをより迅速かつ容易に行うことができます。

様々なディストリビューションがありますが、Pivo​​talとIBMが最も人気があります。Pivotalにはアプリケーションランタイムとコンテナランタイムが含まれています。Pivotalにはアプリケーションサービスとコンテナサービスが含まれています。

OpenShift :Red HatのクラウドコンピューティングPaaS製品。アプリケーション開発者やチームがアプリケーションを構築、テスト、デプロイ、実行できるクラウドベースのアプリケーションプラットフォームです。

Cloudify :IT変革の革命を推進するために、オープンな原則に基づいて開発・設計されています。組織は、Cloudifyを活用することで、幅広いビジネスアプリケーションとネットワークサービスを設計、構築、提供できます。最新バージョンのCloudify 4.3では、セキュリティ、制御、そして真のセルフサービスにおける高度な機能強化が図られています。また、Kubernetesコンテナオーケストレーションのための全く新しいコンセプトも導入されています。

<一部表示されない場合は左右にスワイプしてください>

関数

クラウドファウンドリー

クラウド化

オープンシフト

コア機能

クラウドコントローラー

マネージャー

ブローカ

サードパーティのデータベースサービスを提供する

サービスブローカー

エージェント

カートリッジ

着信トラフィックのルーティング

ルーター

マネージャー

REST API

申請ステータスの照会

クラウドコントローラー

CLIクライアント

ブローカ

メッセージパッシング

メッセージバス

マネージャー

ブローカ

アプリケーションインスタンス管理

ドロップレット実行エージェント

エージェント

ノード

アプリケーション状態管理

健康管理者

マネージャー

ブローカ

ブローカ

ウォーデン

エージェント

ギヤ

ユーザーリクエストの負荷分散

ドロップレット実行エージェント

マネージャー

ブローカ

フレームワークプロバイダー

ブロブストア

エージェント

カートリッジ

テクノロジー




言語

Java、Ruby、Scala、Node.js、Groovy、Grails、PHP、Go、Python

Java、PHP、Ruby

Java、Ruby、Node.js、PHP、Python、Perl、JavaScript

データベース

MongoDB、MySQL



MongoDB、MySQL、PostgreSQL

MySQL、モンゴDB

MongoDB、MySQL、PostgreSQL


フレーム

Spring、Rails、Grails、Sinatraをプレイ

JavaScript、Node.js

Rails、Flask、Django、Drupal、Vertx

水平方向の拡大

はい

はい

はい

垂直方向の拡大

はい

いいえ

はい

伸縮性のあるストレッチ

はい

はい

はい

表1は、Cloud Foundry、Cloudify、OpenShiftの基本機能と、対応するアーキテクチャコンポーネントを示しています。上記は完全に個人的な意見に基づくものであり、サポートされる機能の実際のニーズについては、クラウドプロバイダーにご確認ください。

業界統計は、PaaSの利用が急速に増加していることを明確に示しています。PaaSを利用することで、エンタープライズアプリケーションはクラウドに依存しなくなり、パブリッククラウドでもプライベートクラウドでも、あらゆるクラウドプラットフォームで実行できるようになります。つまり、Amazon AWSで開発されたアプリケーションは、Microsoft Azure、VMware vSphere、Red Hat RHEVなどの他のプラットフォームにも簡単に移植できるということです。

PaaSは、複数の開発者が開発プロジェクトで共同作業を行う場合や、外部ユーザーが開発プロセスに協力する必要がある場合に役立ちます。そのため、PaaSは迅速なソフトウェア開発と反復の難易度を軽減するため、アジャイル開発に特に適しています。

謝辞

著者は、この記事の執筆に協力してくれた、Wipro Ltd のデジタル アーキテクチャ プラクティスの Kiran MR 氏と Raju Alluri 氏に感謝します。