什麼是 PaaS?平台即服務定義
平台即服務 (PaaS)是一種雲端運算模型,第三方提供商透過網路向用戶提供硬體和軟體工具。通常,應用開發需要這些工具。PaaS 提供商在其自己的基礎架構上託管硬體和軟體。因此,PaaS 使開發人員不必安裝內部硬體和軟體來開發或運行新應用。
PaaS 工具往往被吹捧為簡單易用和方便。考慮到與本地替代方案相比潛在的成本節約,組織可能會發現遷移到 PaaS 很有吸引力。
PaaS 是如何工作的?
如上所述,PaaS 不會取代公司用於軟體開發的整個 IT 基礎架構。它是透過雲服務提供商的託管基礎設施提供的。用戶最常通過網路瀏覽器訪問產品。PaaS 可以透過公有雲、私有雲和混合雲交付,以交付應用託管和 Java 開發等服務。
其他 PaaS 服務包括:
- 開發團隊協作;
- 應用設計和開發;
- 應用測試和佈署;
- 網路服務整合;
- 資訊安全; 和
- 數據庫整合。
用戶通常必須按使用次數為 PaaS 付費。但是,一些提供商對訪問平台及其應用收取固定的月費。
PaaS、IaaS 和 SaaS 之間有什麼區別?
PaaS 是雲端運算服務的三大主要類別之一。另外兩個主要的雲端運算類別是基礎設施即服務(IaaS) 和軟體即服務(SaaS):
- 透過 IaaS,供應商提供基本的運算、儲存和網路基礎設施,以及管理程序 —— 虛擬化層。然後,用戶必須創建虛擬機和容器等虛擬實例,安裝操作系統,支持應用和數據,並處理與這些任務相關的所有配置和管理。IaaS 服務的一些示例包括 DigitalOcean、AWS、Azure 和 Google Compute Engine。
- 透過 PaaS,提供商可以提供比 IaaS 更多的應用堆棧,將操作系統、中間件(例如數據庫)和其他運行時添加到雲環境中。PaaS 產品包括 AWS Elastic Beanstalk 和 Google App Engine。
- 透過 SaaS,提供商可以提供整個應用堆棧。用戶只需登錄,並使用完全在提供商基礎架構上運行的應用。通常,SaaS 應用完全可以透過 Internet Web 瀏覽器訪問。SaaS 提供商管理應用工作負載和所有底層 IT 資源;用戶只控制 SaaS 應用創建的數據。SaaS 的示例包括 Salesforce、Dropbox 和 Google Workspace。
PaaS 與 SaaS
PaaS 和 SaaS 之間的區別可能很模糊。兩種模型都提供對通常基於雲的服務的訪問,因此值得區分平台和軟體。
SaaS 產品提供對完成的應用或工作負載(例如 HR 或財務應用)的訪問,以換取經常性費用。SaaS 應用託管在提供商自己的遠端基礎架構上。這消除了企業在內部購買、佈署和維護該應用的需要,從而使企業能夠減少其內部 IT 佔用空間。
PaaS 產品通常提供對一系列相關應用或工具的訪問,這些應用或工具目的在幫助企業執行複雜的相互關聯的任務;最常見的例子是軟體開發和測試。PaaS 組件也託管在提供商自己的基礎設施上,用戶可以透過經常性費用訪問平台的組件。PaaS 可以從本地數據中心消除整個工具集,進一步減輕組織的 IT 負擔。
主要區別在於 SaaS 提供完成的工作負載,而 PaaS 提供幫助企業創建和管理自己的工作負載所需的工具。
PaaS 的優缺點
PaaS 的主要好處是對用戶來說簡單和方便。PaaS 提供商將提供大部分基礎設施和其他 IT 服務,用戶可以透過 Web 瀏覽器在任何地方訪問這些服務。定期(訂閱)或按使用支付的能力使企業能夠消除他們傳統上用於本地硬體和軟體的資本支出。實際上,PaaS 將提供、管理和更新關鍵工具的責任從內部 IT 團隊轉移到了外部 PaaS 提供商。
許多 PaaS 產品都面向軟體開發。這些平台提供運算和儲存基礎設施,以及文本編輯、版本管理、編譯和測試服務,幫助開發人員快速高效地創建新軟體。PaaS 產品還可以使開發團隊能夠協作和一起工作,而不管他們的物理位置如何。
PaaS 架構使其底層基礎設施對開發人員,和其他用戶隱藏。因此,該模型類似於無伺服器運算和功能即服務架構 —— 這意味著雲服務提供商管理和運行伺服器,以及控制資源的分配。
然而,就缺點而言,服務可用性或彈性可能是 PaaS 的一個問題。如果提供商遇到服務中斷或其他基礎設施中斷,這可能會對客戶產生不利影響,並導致代價高昂的生產力損失。然而,PaaS 提供商通常會提供和支持相對較長的正常運行時間 —— 儘管可用性受提供商的服務級別協議 (SLA) 的約束。
供應商鎖定是另一個常見問題,因為用戶無法輕鬆地將許多服務和數據,從一個 PaaS 平台遷移到另一個競爭的 PaaS 平台。用戶在選擇 PaaS 提供商時必須評估服務停機和供應商鎖定的業務風險。
PaaS 產品的內部更改也是一個潛在問題。例如,如果 PaaS 提供商停止支持某種編程語言,選擇提供一組不同的開發工具,甚至停止使用平台的部分或全部組件,那麼對用戶的影響可能會很困難且具有破壞性。用戶必須遵循 PaaS 提供商的服務路線圖,以了解提供商的計劃將如何影響他們的環境和能力。
PaaS 的類型
目前有多種類型的 PaaS 可供開發人員使用:
- 公共 PaaS;
- 私有 PaaS;
- 混合 PaaS;
- 通信 PaaS ( CPaaS );
- 行動 Paas(mPaaS);
- 開放 PaaS;
- 整合平台即服務(iPaaS);
- 數據庫即服務(DBaaS);和
- 中間件即服務 (MWaaS)。
公共 PaaS。該模型最適合在公有雲中使用。公共 PaaS 使用戶能夠控制軟體佈署,而雲提供商管理託管應用所需的所有其他主要 IT 組件的交付,包括操作系統、數據庫、伺服器和儲存系統網路。
公共 PaaS 供應商提供的中間件使開發人員能夠設置、配置和控制伺服器和數據庫,而無需設置基礎設施。因此,公共 PaaS 和 IaaS 一起運行,PaaS 在供應商的 IaaS 基礎架構之上運行,同時使用公有雲。不幸的是,這意味著客戶端,與他們可能不想使用的單個公有雲選項綁定在一起。
一些中小型企業已經採用了公共 PaaS,但較大的組織和企業由於與公有雲的緊密聯繫而拒絕接受它。這主要是由於公有雲中的企業應用開發存在大量法規和合規性問題。
私有 PaaS。私有 PaaS 選項目的在提供公有 PaaS 的敏捷性,同時保持私有數據中心的安全性、合規性、優勢和可能降低的成本。該模型通常作為用戶防火牆內的設備或軟體交付,通常在公司的本地數據中心進行維護。私有 PaaS 可以在任何類型的基礎架構上開發,並且可以在公司的特定私有雲中運行。
私有 PaaS 使組織能夠更好地為開發人員服務、改善內部資源的使用並減少許多公司面臨的代價高昂的雲蔓延。此外,私有 PaaS 使開發人員能夠佈署和管理其公司的應用,同時還遵守嚴格的安全、隱私和合規要求。
混合 PaaS。混合 PaaS 結合了公有和私有 PaaS,為公司提供了由公有 PaaS 提供的無限容量的靈活性,以及 在私有 PaaS 中擁有內部基礎設施的成本效益和控制權。混合 PaaS 使用混合雲。
通信 PaaS。CPaaS 是一個基於雲的平台,使開發人員能夠在其應用中添加即時通信,而無需後端基礎設施和接口。通常,即時通信發生在專門為這些功能建構的應用中。示例包括 Skype、FaceTime、WhatsApp 和傳統電話。
CPaaS 為創建即時通信功能,提供了一個完整的開發框架,而無需開發人員建構自己的框架,包括基於標準的應用編程接口、軟體工具、預建構的應用和案例代碼。
CPaaS 提供商還透過提供支持和產品文檔,在整個開發過程中幫助用戶。一些供應商還提供軟體開發工具包,以及可以幫助在不同桌面和行動平台上建構應用的庫。選擇使用 CPaaS 的開發團隊可以節省基礎設施、人力資源和上市時間。
行動 PaaS。MPaaS 是使用付費整合開發環境來配置行動應用。在 mPaaS 中,不需要編碼技能。MPaaS 透過 Web 瀏覽器交付,通常支持公有雲、私有雲和本地儲存。該服務通常按月定價,根據包含的設備數量和支持的功能而有所不同。
MPaaS 通常提供面向對象的拖放介面,使用戶能夠透過直接訪問設備的 GPS、感測器、攝影機和麥克風等功能,來簡化 HTML5 或原生應用的開發。它通常支持各種行動操作系統。
公司經常使用 mPaaS,來創建將提供內部和面向客戶使用的應用。此實施可以促進 BYOD 環境和生產力應用,而無需行動應用開發人員或額外的 IT 支持。
打開 PaaS。Open PaaS 是一個免費、開源、面向業務的協作平台,在所有設備上都具有吸引力,它提供了有用的 Web 應用,包括日曆、聯繫人和郵件應用。Open PaaS 目的在使用戶能夠快速佈署新應用。它的目標是開發一種致力於企業協作應用的 PaaS 技術,特別是那些佈署在混合雲上的應用。
整合平台即服務。IPaaS 是一個廣泛的服務傘,用於整合不同的工作負載和應用,否則這些工作負載和應用可能無法在本地進行通信或互操作。iPaaS 平台目的在提供和支持這些不同的整合,並解決組織在讓不同的工作負載,在整個企業中協同工作方面所面臨的挑戰。
數據庫即服務。DBaaS 是作為服務提供的提供商託管的數據庫工作負載。DBaaS 可以涉及所有數據庫類型,例如 NoSQL、MySQL 和 PostgreSQL 數據庫應用。DBaaS 模型通常透過定期訂閱提供,包括用戶操作數據庫所需的一切,本地和其他基於雲的工作負載可以使用 API 訪問這些內容。
中間件即服務。MWaaS 提供了將前端客戶端請求,連接到後端處理或儲存功能所需的一套整合,使組織能夠使用 API 連接複雜和不同的應用。MWaaS 在原則上與 iPaaS 相似,重點在於連接和整合。在某些情況下,MWaaS 可以將 iPaaS 功能作為 MWaaS 功能的子集包含在內,還可以涉及 B2B 整合、行動應用整合和物聯網整合。
PaaS 和 iPaaS 有什麼區別?
儘管 PaaS 和 iPaaS 的名字聽起來很相似,但它們所支持的技術不同,兩種雲服務的用途也不同。
IPaaS 自動化工具連接佈署在不同環境中的軟體應用,通常用於將本地數據和應用與儲存在雲中的數據和應用整合。iPaaS 平台與中間件更緊密地結合在一起並被視為中間件,並且可以作為 MWaaS 產品的一部分包含在內。
另一方面,PaaS 提供雲基礎設施,以及透過 Internet 交付的應用開發工具。
PaaS 使用
PaaS 工具經常用於行動應用的開發。但是,許多開發人員和公司也使用 PaaS 來建構跨平台應用,因為它提供了一種快速、靈活和動態的工具,能夠創建幾乎可以在任何設備上運行的應用。從本質上講,PaaS 為企業建構和運行應用提供了一種更快、更簡單的方式。
PaaS 的另一個用途是在 DevOps 工具中。PaaS 可以提供應用生命週期管理功能,以及適合公司產品開發方法的特定功能。該模型還使 DevOps 團隊能夠插入基於雲的持續集成工具,這些工具可以添加更新而不會產生停機時間。此外,遵循瀑布模型的公司可以使用他們用於日常管理的同一控制台佈署更新。
PaaS 還可用於透過自動化,或完全消除內務管理和維護任務,來縮短應用的上市時間。此外,PaaS 可以透過幫助減輕管理可擴展基礎設施的負擔來減少基礎設施管理。PaaS 消除了負載平衡、擴展和分發新的依賴服務的複雜性。PaaS 提供商承擔責任,而不是由開發人員控制這些任務。
借助 PaaS 為更新的編程語言和技術提供的支持,開發人員可以使用該模型引入新的技術成長通路,例如容器技術和無伺服器功能。這尤其適用於技術變革過程緩慢的行業,例如銀行業或製造業。PaaS 使這些組織能夠適應最新的產品,而無需完全改變其業務流程。
PaaS 示例:產品和供應商
有許多 PaaS 供應商和產品的示例提供了在雲中構建企業應用和整合所需的工具和服務。以下是一些領先的提供商和平台:
- 谷歌雲
- 微軟 Azure
- AWS
- IBM 雲
- Red Hat OpenShift
- VMware (Pivotal) Cloud Foundry
- 甲骨文雲平台 (OCP)
- 基於 Heroku 容器的 PaaS
- Mendix aPaaS
- Engine Yard 雲 PaaS
OpenStack
- Apache 雲棧
- Wasabi Cloud Storage
Google App Engine 支持使用 Java、Python、PHP 和 Go 的分佈式 Web 應用。Red Hat OpenShift 是一種 PaaS 產品,用於使用多種語言、數據庫和組件創建開源應用。Heroku PaaS 提供 Unix 風格的容器運算實例,這些實例在隔離環境中運行進程,同時支持 Ruby、Python、Java、Scala、Clojure 和 Node.js 等語言。
Microsoft Azure 支援 .NET、Node.js、PHP、Python、Java 和 Ruby 中的應用開發,並使開發人員能夠使用軟體開發工具包,和 Azure DevOps 來創建和佈署應用。
AWS Elastic Beanstalk 使用戶能夠在 Apache、Nginx、Passenger 和 IIS 等通用伺服器上創建、佈署和擴展使用 Java、.NET、PHP、Node.js、Python、Ruby、Go 和 Docker 開發的 Web 應用和服務。
儘管許多 PaaS 提供商提供類似的服務,但每個提供商都有獨特的細微差別和限制。用戶應測試潛在的提供商,以確保他們的服務滿足任何業務或技術要求,例如支持的語言和服務可用性。例如,Wasabi 將基於雲的對象儲存作為 PaaS 提供,而 OpenStack 和 Apache CloudStack 等開放平台使組織能夠建構自己的私有 PaaS 資源。
平台即服務包含哪些內容?
特定的 PaaS 功能可能因不同的供應商和產品而異。然而,PaaS 功能的核心套件通常包括基礎設施、開發工具、中間件、操作系統、數據庫管理工具和分析:
- 基礎設施。PaaS 包含 IaaS 包含的所有內容。這意味著 PaaS 提供商將管理伺服器、儲存、數據中心和網路資源。這還可以包括用戶用來與 PaaS 基礎架構和服務交互的 UI 或門戶。
- 應用程序設計、測試和開發工具。PaaS 為客戶提供建構和管理應用所需的一切。無論物理位置如何,都可以透過瀏覽器透過 Internet 訪問這些工具。具體的軟體開發工具通常包括但不限於調試器、源代碼編輯器和編譯器。
- 中間件。PaaS 通常還包括中間件,即彌合操作系統和最終用戶應用之間差距的軟體。因此,PaaS 訂閱者不必將其內部開發人員和資源用於建構中間件。
- 操作系統。PaaS 供應商提供用於運行應用,以及供開發人員建構應用的操作系統。
- 數據庫。PaaS 提供商通常會維護數據庫,並為客戶組織的開發人員提供數據庫管理工具。
- 監控和管理工具。PaaS 提供商通常會包含商業智慧服務,例如監控和分析,以幫助業務用戶了解 PaaS 的使用方式,並幫助解釋每次使用成本和使用特性。
誰負責監督組織中的 PaaS?
PaaS 的控制有時是一個角度問題,通常是提供商和用戶之間的共同責任。
PaaS 提供商實際上擁有並營運著 PaaS 平台。提供者擁有並運行底層基礎設施。他們負責建構、佈署、管理和維護 PaaS 產品中的軟體應用和服務。提供商必須確保 PaaS 正常運行,並遵守承諾的 SLA。當出現問題時,供應商必須排除故障並修復任何問題。
出於所有實際目的,PaaS 是用戶業務所依賴的第三方資源 —— 業務合作夥伴。在組織將建構自己的平台的私有 PaaS 的情況下,提供者和用戶或客戶是相同的。
但是對於無數尋求提高生產力,和擺脫本地基礎設施的組織來說,PaaS 是一個重大的範式轉變。使用 PaaS 的決定、採用 PaaS 的目標和期望、特定 PaaS 的選擇、對 PaaS 使用的持續監控,以及 PaaS 價值或成功的最終決定都是由業務領導者做出的。
考慮到採用 PaaS 的重要性,PaaS 的監督和管理很少是企業中單個人的角色。它通常取決於整個組織 IT 部門的協作努力:
- CIO/CTO 可以推動 PaaS 計劃,指導員工檢查和評估 PaaS 作為本地管理工具集的補充或替代方案。
- 軟體架構師和工程師可以辨識並幫助選擇特定的 PaaS,做為工作負載開發、現代化和整合的有意義的引擎。
- 開發人員使用 PaaS 產品,通常是參與 PaaS 評估和選擇的關鍵人員。
- IT 管理員可能參與 PaaS 管理,從用戶/客戶的角度負責 PaaS 設置、配置、安全和監控。
- 其他業務負責人,例如法律合規官,也可以參與 PaaS 決策,以確保 PaaS 的使用符合組織的業務連續性和監管要求。
評估和購買 PaaS 的最佳實踐
轉向 PaaS 可能會令人生畏。PaaS 的成功取決於對業務需求的敏銳理解、對 PaaS 產品和功能的清晰辨識,以及大量信任。一些實踐可以幫助組織評估和遷移到 PaaS:
- 了解需求。PaaS 模型究竟需要為企業做什麼?採用合適的 PaaS 將如何比傳統的本地工具集更好地使組織受益?例如,目標可能是改進和簡化 Java 軟體開發或促進新舊應用之間的複雜整合。商業領袖和決策者必須先知道他們在尋找什麼,然後才能找到。
- 貨比三家。有許多 PaaS 提供商和產品。每個 PaaS 產品的範圍、特性、功能和性能可能會有很大差異。例如,當需要 MWaaS 時,CPaaS 可能不會這樣做。嘗試一些不同的 PaaS 產品,看看哪些產品最適合手頭的任務。將幾個潛在產品列入候選名單,並在原理證明項目中對其進行測試。在這種 PaaS 評估中投入時間和精力,可以建立信心和經驗,防止買家以後後悔。
- 了解供應商。仔細看看 PaaS 提供商。採用 PaaS 基本上是在找一個商業夥伴。與供應商交談,了解他們的人員配備、業務歷史和模式、領導團隊、服務支持和 PaaS 路線圖。提供商及其 PaaS 會在兩年、五年或更長時間內出現嗎?PaaS 產品生命週期是什麼樣的?
- 了解細則。考慮成本、計費方案和支持機制。服務成本應易於理解,並以與業務一致的方式計費。此外,尋找 SLA 並仔細研究:你的業務可能依賴於 PaaS,而 SLA 是提供商在正常運行時間、可用性和爭議解決等問題上,對你做為客戶的唯一承諾。
- 考慮風險。採用 PaaS 總是存在風險。提供商可能會倒閉。未來可能會棄用和刪除關鍵功能。路線圖的承諾功能可能永遠不會實現。如果 PaaS 遇到服務中斷或不可用,你的工作負載會發生什麼情況?企業如何應對此類問題?PaaS 具有一定程度的鎖定,因此遷移到替代 PaaS 可能很困難,甚至是不可能的。
現代 PaaS 與傳統 PaaS
大多數 PaaS 產品的基本目的是簡化和簡化開發任務,但現代 PaaS 可以遠遠超越簡單的有用工具分類,創建一套緊密集成和互補的應用,專注於開發能力、效率編排和自動化。
例如,VMware Tanzu 應用平台有望提供一套高度整合的基於 Kubernetes 的應用佈署和基礎架構管理工具。這應該使 VMware 的雲原生 IT 自動化產品,能夠與 Kubernetes 容器編排平台整合。它將為開發人員提供一個全面的工作流程,以快速建構應用,並在 Kubernetes 上進行測試。
PaaS 行業成熟的另一個標誌,是外部整合和支援的興起。VMware Tanzu 應用平台等 PaaS 產品,還應支持其他管道工具和 Kubernetes 版本,例如 Jenkins 和雲託管的 Kubernetes 服務。此外,這些產品應支持更廣泛的編程語言,例如 Python、JavaScript、Go 和 .NET。
PaaS 市場和商業模式的未來
PaaS 已成為用於開發、運行和管理應用的具有成本效益,且功能強大的雲平台 —— PaaS 市場預計將在 2027 年之前獲得普及和成長。例如,IDC 預測雲和 PaaS 市場應該會出現從 2021 年到 2025 年,複合年成長率為 28.8%。
這種期望是基於企業加快應用上市時間、降低複雜性、擺脫本地基礎設施、建立協作(尤其是對於遠端和地理位置分散的團隊)以及簡化應用管理任務的需要。
PaaS 的擴展和成長也受到雲遷移和雲優先,或雲原生應用開發工作,以及其他新興雲技術(如物聯網)的推動。
隨著各種規模的企業尋求在不同的軟體應用之間實現現代化、連接和共享數據,並在整個企業及其客戶群中提供統一的工具,iPaaS 的作用預計也將在 2027 年取得可觀的進展。
上次更新時間為 2022 年 2 月
繼續閱讀關於什麼是 PaaS?平台即服務定義和指南
0 comments:
張貼留言