サービスとしてのプラットフォーム

サービスとしてのプラットフォーム (PaaS) による現代のアジャイル チームと DevOps チームの強化

Kev Zettler Kev Zettler

要約: サービスとしてのプラットフォーム (PaaS) は、ユーザー レベルのツールとアプリケーションを構築するためのリソースを提供するクラウド インフラストラクチャ レイヤーです。これにはコンピューティング、ネットワーク、ストレージの各リソースに加えて、開発ツール、データベース管理システム、ミドルウェアを含む基盤インフラストラクチャが含まれます。

今日のソフトウェア開発チームは、アプリケーションの設計、開発、テスト、デプロイ、ホストなど、アプリケーションのライフサイクル全体をサポートするために必要なすべてのリソースにすぐにアクセスできます。これはすべて、サービスとしてのプラットフォーム (PaaS) を使用してクラウドから直接実行できます。チームは、複雑なオンプレミス インフラストラクチャを購入して維持する必要はなく、オンデマンドで必要なリソースにアクセスします。

PaaS は、最新のクラウド インフラストラクチャのプライマリの階層です。ベース スタックは、コンピューティング、ネットワーク、ストレージのリソースを提供するサービスとしてのインフラストラクチャ (IaaS) です。PaaS は、IaaS とサービスとしてのソフトウェア (SaaS) の間のスタックの中央に位置するものです。PaaS は IaaS に依存しますが、SaaS を有効にするものでもあります。

サービスとしてのプラットフォームとは何か

サービスとしてのプラットフォームの図

PaaS は、ユーザーレベルのツールとアプリケーションを構築するためのリソースを提供するクラウド インフラストラクチャ レイヤーです。IaaS と同様、これらのリソースにはサーバー、ストレージ、ネットワーキングが含まれます。PaaS には、開発ツール、データベース管理システム、ミドルウェア、メールまたは通知システムなども含まれます。

PaaS はクラウドベースのインフラストラクチャであるため、ソフトウェア ライセンス、アプリケーション インフラストラクチャ、開発ツールなどのインフラストラクチャ リソースの購入と管理にかかるコストと複雑さを回避できます。

PaaS の「プラットフォーム」とは、プログラミング言語エコシステム、つまり「技術スタック」を指します。普及している言語ベースのアプリケーション技術スタックには、Ruby on Rails、Django Python、Node.js MEAN stack、Java SpringMVC などがあります。これらの言語スタックの例は、接続されているデータベース システムによって異なります。

サービスとしてのプラットフォームのメリット

他のクラウド サービスと同様、PaaS は必要に応じて拡張できるオンデマンドのリソースを提供します。それまでは、チームはハードウェアを購入して、次にサーバー、データベース、ファイアウォール、その他すべてのコンポーネントを独自に構成する必要がありました。その後は、カスタム インフラストラクチャを維持、拡張、監視する必要がありました。PaaS プロジェクトには他にも多くのメリットがあります。

アジャイル プラクティスと DevOps プラクティスを強化する

PaaS によって、アジャイル チームと DevOps チームの主要なプラクティスの一部である、迅速なコーディング、テスト、デプロイが可能になります。さらに、PaaS は CI/CD リリース ワークフローを直接補完するものであり、完全な DevOps リリース サイクルの実現に役立ちます。構築、テスト、デプロイ、管理と更新のソフトウェア ライフサイクルを考慮して、PaaS はデプロイ フェーズを処理します。

市場投入までの時間の短縮

サービスとしてのプラットフォームを使用することで、開発者はインフラストラクチャとプラットフォームの構築、設定、プロビジョニングや Auto Scaling 機能の構築ではなく、純粋にコードに集中できます。これによって、新しいプロジェクトの開発時間が大幅に短縮されます。また、PaaS は、開発時間を短縮してプロセスを簡素化できるツール、テンプレート、コード ライブラリへのアクセスを提供します。

必要に応じて拡張する

PaaS ホストは通常、チームはピーク時に容量を迅速に追加して必要に応じてスケール ダウンできる、伸縮性のあるスケーリング機能を提供します。スケーリングは PaaS プロバイダーによって自動で処理されます。

コスト効率の高い開発

PaaS を使用すると、チームはスタッフを追加せずに開発機能を追加できるため、エンジニアリング コストを削減できます。組織は、基盤となる開発インフラストラクチャをインストールして管理する必要がなくなりました。

サービスとしてのプラットフォームのプロバイダーは、インフラストラクチャのコストを分析して管理するための便利なダッシュボードを提供しています。これらのコスト分析ツールでは、チームは予期しない、または無駄な費用が生じている領域を監査できます。さらに、これらのツールは展開コストの最適化にも役立ちます。これらのコストに関するインサイトがないと、インフラストラクチャの費用が予想外に増加する場合があります。

分散開発チームをサポートする

サービスとしてのプラットフォームはクラウド サービスであるため、分散したチーム間のコラボレーションをサポートします。サービスとしてのプラットフォームのプロバイダーには、グローバルに分散されたハードウェアがあります。つまり、PaaS にデプロイされたアプリケーションには、低コストで任意の場所からのアクセスが可能です。

セキュリティとアクセス制御

ほとんどの PaaS プロバイダーには、チームが PaaS リソースへのアクセスをすぐに設定できるように、きめ細かなセキュリティ ツールとアクセス制御ツールが用意されています。これは、企業セキュリティ チームとカスタマー セキュリティ チームのアクセス レベルの両方で重要です。これによって、データ侵害やその他の望ましくないセキュリティ障害シナリオを防ぐために、インフラストラクチャが制限されることが保証されます。

サービスとしてのプラットフォームのユース ケース

PaaS は、CRM、ダッシュボード、チャット ルームなどの完全な SaaS Web アプリケーションを含む、ユーザー対応アプリケーション コードの実行可能ファイルをデプロイするために使用されます。PaaS 実行可能ファイルには、バックエンド API やマイクロサービスも含まれます。アプリケーション コードに加えて、ロード バランサ、通知パイプライン、遅延ジョブ システムなどの補足ツールも、アプリケーション コードと共にデプロイできます。

API の開発と管理

API は最新の分散アプリケーションに不可欠なコンポーネントであり、PaaS が提供する組み込みフレームワークは API の開発と管理を大幅に簡素化します。API は通常、外部システムが内部アプリケーション リソースに接続できるようにしたり、マイクロサービス アプリケーション アーキテクチャ内のさまざまなコンポーネントを接続したりするために使用します。

マイクロサービス

PaaS はマイクロサービスを補完して、デプロイを大いにサポートするものです。PaaS を使用すれば、複数のマイクロサービス アプリケーションを簡単にデプロイして相互に通信するように構成できます。ほとんどの PaaS プロバイダーには、現在のデプロイを視覚的に示すユーザー インターフェイス ダッシュボードがあります。これによって、チームはライブのマイクロサービス デプロイのレイアウトをさらに確認しやすく把握できるようになります。

マルチフェーズ環境

PaaS では、開発、ステージング、本番環境などのマルチフェーズ環境を迅速に展開できます。これによって、チームは複数のフェーズで正しいアプリケーションの動作を検証できるため、品質保証が強化されます。アプリケーションがステージングで期待どおりに動作すれば、たやすく本番環境へデプロイできます。

データベース ホスティング

ほとんどのアプリケーションは、ある種の永続データ ストアに依存します。これは非常に一般的であるため、PaaS プロバイダーはコア機能としてデータベースのデプロイと管理を提供しています。チームは PaaS アプリケーションのホスティングをバイパスできるため、PaaS をデータベース アクセスにのみ使用できます。このパターンは非常に一般的であるため、一部の PaaS プロバイダーはデータベースのみの機能の特別な料金プランを提供しています。

ビジネス分析/インテリジェンス

ほとんどの PaaS 製品は、ビジネス分析とインテリジェンスを実行するためのアプリケーションやフレームワークを組み込むことによって、開発者の作業を大幅に軽減しています。これらのソリューションによって、アプリケーション開発者は情報に基づくビジネス上の意思決定に必要なすべてのデータと指標のユーザーへの提供が大幅に容易になりました。

コミュニケーション

コミュニケーションの機能は最新のアプリケーションにとって不可欠であり、PaaS では、SMS、メール、音声などのテクノロジーに対応するコミュニケーション ツールとフレームワークを提供して、開発者がアプリケーションにコミュニケーションの機能を簡単に追加できるようにしています。

内部ツールとプライベート ダッシュボード

PaaS のデプロイには特別な単発のインフラストラクチャの依存関係は不要なので、このデプロイには内部ツールがデプロイに最適な候補です。内部ツールには内部指標のビューを集約しており内部関係者のサブセットがアクセスできるため、柔軟かつ高度なケーリングは不要です。それでも、PaaS はデフォルトで柔軟なスケーリングを提供しています。

結論

PaaS は、規模を問わず開発チームにインフラストラクチャと開発リソースを同じように提供します。これによって、チームは必要なリソースにアクセスして必要に応じてスケーリングできます。PaaS によって、より高速な実行と頻繁なソフトウェア リリースが可能になり、アジャイルや DevOps を実践するチームにとっては使いやすいテクノロジーになります。

PaaS を DevOps ワークフローと統合する準備はできましたか? DevOps を開始しましょう