Close

Platform as a service

How platform as a service (PaaS) empowers modern agile and DevOps teams

Kev Zettler Headshot
Kev Zettler

Full Stack Web Developer


Platform as a service (PaaS) is a cloud infrastructure layer that provides resources to build user-level tools and applications. It includes the underlying infrastructure including compute, network, and storage resources, as well as development tools, database management systems, and middleware.

Today’s software development teams now have immediate access to all the resources needed to support the entire application lifecycle, including to design, develop, test, deploy, and host applications. This can all be done directly from the cloud with platform as a service (PaaS). Teams have access to the resources they need, on-demand, without the need to purchase and maintain a complex on-premise infrastructure. 

PaaS is a primary tier of modern cloud infrastructures. The base stack is infrastructure as a service (IaaS), which provides compute, network, and storage resources. PaaS is at the middle of the stack between IaaS and software as a service (SaaS). PaaS is dependent on IaaS but also enables SaaS.

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


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

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

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

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

admin-cloud icon
related material

Infrastructure as a service

three rings Icon
SEE SOLUTION

Manage your distributed architecture with Compass

Benefits of platform as a service


Like other cloud services, PaaS provides resources on-demand that can scale as needed. Prior to this, teams needed to purchase their own hardware, then configure the servers, databases, firewalls, and all other components themselves. Teams would then have to maintain, scale, and monitor their custom infrastructure. There are also a host of other benefits to PaaS.

Empowers agile and DevOps practices

PaaS enables faster coding, testing, and deployment -- some of the key practices of agile and DevOps teams. Plus, PaaS is directly complementary to a CI/CD release workflow and helps to enable a full DevOps release cycle. Given the software lifecycle of building, testing, deploying, managing, and updating, PaaS handles the deployment phase.

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

サービスとしてのプラットフォームを使用することで、開発者はインフラストラクチャとプラットフォームの構築、設定、プロビジョニングや 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 を開始しましょう


Kev Zettler
Kev Zettler

Kev はフル スタック Web 開発者のリーダーであり、10 年以上もアジャイル手法で製品やチームを構築する経験を持つシリアル アントレプレナーです。DevOps、仮想通貨、VR/AR などの新たなオープン ソース技術に熱心に貢献し、それについて著書を執筆し、教育を行っています。時間がある時には、インディーズ ゲーム開発ジャムに参加しています。


Share this article

Recommended reading

Bookmark these resources to learn about types of DevOps teams, or for ongoing updates about DevOps at Atlassian.

Devops illustration

Compass community

overcoming obstacles illustration

Tutorial: Create a component

Map illustration

Get started with Compass for free

Sign up for our DevOps newsletter

Thank you for signing up