為什麼企業應該選擇平台即服務(PaaS)
平台即服務能夠快速、輕鬆地創建網路應用,而無需購買和維護其下的軟體和基礎設施。本文解釋了它為什麼有用。
平台即服務 (以下簡稱 PaaS)指的是雲計算服務,它為客戶提供了開發、運行和管理應用程序的平台,而免去了建立和維護與開發和啟動應用程序相關的基礎設施的複雜工作。這是雲原生應用和支持系統所依託的核心平台。
PaaS 通常包括不同的應用基礎功能,包括應用平台、集成平台、業務分析平台、事件流服務和移動後端服務。此外,它還包括一套與監控、管理、部署相關的功能。
開發人員希望他們的開發環境不需要等待,而運營團隊則更關心性能和穩定性。這經常引起兩方間的衝突。PaaS 為這兩方創造了和平的環境。一個作為服務交付的應用平台被稱作 PaaS,它被用於部署用戶代碼。Cloud Foundry、Cloudify 和 OpenShift 這些開源環境都可用作 PaaS。
PaaS 的採用模式
雲計算必須滿足五個基本特徵:按需服務、接入網路、資源池化、彈性和可度量的服務。為此,雲計算提供了三種服務模式: 軟體即服務 (SaaS)、 平台即服務 (PaaS)、 基礎設施即服務 (IaaS)。
業務選用 PaaS 的關鍵驅動力:
- 減少提供業務的資本支出和運營費用
- 通過減少應用程序的交付時間和提高開發和交付質量,最大限度地降低 IT 成本
- 增加中間件之間的靈活性和集成度
簡單 PaaS:踏入 PaaS 領域的入口。它可以提供應用程序服務,並將它們暴露在自助服務的目錄中;自動部署和計量服務使用的資源。
管理 PaaS:管理已配置應用程序的 服務級別協議 和 服務質量 ,例如彈性、應用程序性能、安全性等。
編程 PaaS:允許應用程序與外部應用程序或公共雲集成,並實現自動擴展和雲爆發場景。
面向流程 PaaS:允許通過創建持續交付流程來實現 開發運維 流程,該流程可以自動構建、測試應用程序並將其交付到雲環境中。
除了這些採用模式之外,還有其他的 PaaS 變體如下,這些變化可能與上文的模式有一定重合:
集成平台即服務(iPaaS):一套能夠開發、執行和管理集成流的雲服務。集成流可以是個人內部或跨多個組織連接的,可以包含任何企業內部或基於雲的流程、服務、應用和數據。這些組合變化可能也符合上述的模式之一,例如 MuleSoft CloudHub 和 BizTalk。
移動平台即服務(mPaaS):為開發移動應用提供的集成開發環境(IDE),並且支持多種移動平台。
資料庫平台即服務(dbPaas):一種按需的、安全且可擴展的自助式資料庫平台,可自動配置和管理資料庫。dbPaaS 使擴展資料庫變得更加容易,並使它們更加可靠。
物聯網平台即服務(IoTPaaS):提供了實現異構物聯網拓撲所需的通信、安全、分析和管理的通用基礎架構。它為構建物聯網解決方案提供了更簡單、更敏捷的模型。
業務流程管理平台即服務(bpmPaaS):一個完整的預集成業務流程管理平台,託管在雲端並作為服務交付。它被用於開發和執行整個企業的業務流程和以工作流程為中心的應用程序。例如 Pega cloud 和 OpenText Cordys cloud。
PaaS 的一些基本特徵:
- 在同一集成開發環境中開發、測試、部署、託管和維護應用程序的服務
- 多租戶架構,即多個並發用戶使用同樣的開發程序
- 部署軟體的內置可擴展性,包括負載平衡和故障轉移
- 與異構平台和系統的集成
- 支持開發團隊的協作
- 包含處理帳單和管理訂閱的工具
主要的開源 PaaS
在選擇 PaaS 之前,企業主要考慮關注以下幾點:
- 部署靈活性
- 操作簡便性
- 應用堆棧的選擇
- 語言、資料庫和框架支持
- 規模的可擴展性
- 服務質量(QoS)
- 開發和運營的工具
- 它有多適合你的業務
現在讓我們快速瀏覽下流行的開源 PaaS。
Cloud Foundry:提供了多種雲的選擇、開發者框架和應用服務。Cloud Foundry 使構建、測試、部署和擴展應用程序變得更快、更容易。
它有不同的發行版本,其中比較流行的是 Pivotal 和 IBM。它包含應用 運行時 和容器運行時。在 Pivotal 上包含有應用服務和容器服務。
OpenShift:紅帽的雲計算 PaaS 產品。這是一個雲端的應用平台,應用開發者和團隊可以在這裡構建、測試、部署和運行他們的應用程序。
Cloudify:在開放的原則下開發和設計,用以推動 IT 轉型革命。它使組織能夠在其上設計、建立和提供各種商業應用和網路服務。Cloudify 的最新版本為 4.3,它包含了先進的安全、控制和 真自服務 等增強功能。Cloudify 4.3 還為 Kubernetes 容器編排引入了全新的概念。
功能 | Cloud Foundry | Cloudify | OpenShift |
---|---|---|---|
核心功能 | Cloud controller | Manager | Broker |
提供第三方資料庫服務 | Service broker | Agent | Cartridge |
傳入流量的路由 | Router | Manager | REST API |
查詢應用程序的狀態 | Cloud controller | CLI client | Broker |
消息傳遞 | Message bus | Manager | Broker |
應用實例管理 | Droplet execution agent | Agent | Node |
應用程序狀態管理 | Health manager | Manager | Broker |
Broker | Warden | Agent | Gear |
用戶請求的負載平衡 | Droplet execution agent | Manager | Broker |
框架提供者 | Blob store | Agent | Cartridge |
技術 | |||
語言 | 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、MongoDB | MongoDB、MySQL、PostgreSQL | |
框架 | Spring, Rails, Grails, Play Sinatra | JavaScript, Node.js | Rails, Flask, Django, Drupal, Vertx |
水平擴展 | 是 | 是 | 是 |
垂直擴展 | 是 | 否 | 是 |
彈性伸縮 | 是 | 是 | 是 |
表 1 列出了 Cloud Foundry、Cloudify 和 OpenShift 的基本功能及其對應的架構組件。以上完全基於個人觀點,所支持的功能的真實需求應與雲供應商進行驗證。
從行業統計數據中,我們可以清楚地看出 PaaS 的使用率正在迅速上升。PaaS 使企業應用程序可以是 雲無關 的,它們可以在任何雲平台上運行——無論是公共的還是私有的。這意味著一個在亞馬遜的 AWS 上開發的應用可以很容易地移植到微軟 Azure、VMWare vSphere、Red Hat RHEV 等等其他平台。
當多個開發人員共同參與一個開發項目,或外部用戶需要與開發過程協作時,PaaS 是很有用的。因此,PaaS 尤其適合于敏捷開發,因為它降低了圍繞軟體快速開發和迭代的難度。
鳴謝
作者感謝 Kiran M.R. 和 Wipro 有限公司的數字架構實踐 Raju Alluri 為本文提供的支持。
via: https://www.opensourceforu.com/2022/09/why-enterprises-should-opt-for-platform-as-a-service/
作者:Gopala Krishna Behara 選題:lkxed 譯者:onionstalgia 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive