我之前寫過一篇關于云計算價格戰的文章,當時提到基礎設施即服務(IaaS)提供商如何在競相讓自己脫穎而出:通過開發對開發人員友好的功能特性,以此提高用戶的靈活性。IaaS提供商的核心服務圍繞網絡、計算和存儲能力。所有IaaS提供商都提供價位相似的核心網絡、計算和存儲能力。讓它們與眾不同的是服務,這些服務通過抽象處理,將擴展、故障切換、調配和自動化等底層“IT管道”任務的復雜性隱藏起來,從而加快開發。
平臺即服務(PaaS)對底層應用程序堆棧進行抽象處理。有了PaaS,開發人員沒必要為管理操作系統、數據庫、應用服務器或編程堆棧而操心,可以致力于業務需求。雖然企業級PaaS一直遲遲沒有流行起來,但最近PaaS提供商卻大步前進,更多的企業開始考慮PaaS作為一種可行的選擇。阻礙企業采用PaaS的最大因素是什么呢?不是每種工作負載都適合使用PaaS。針對事務處理要求極高的工作負載,開發人員需要對應用程序堆棧擁有更大的控制權,目的是為了滿足預期的性能要求和服務級別協議(SLA)。如今,只有IaaS為開發人員提供了這種控制級別。
數據庫即服務(DBaaS)
IaaS提供商在添加許多新服務,以開發類似PaaS的功能,致力于簡化開發特定用例(use case)的工作。比如說,亞馬遜現在提供四種不同的數據庫即服務產品。RDS是一項托管數據庫服務,它為MySQL、SQL Server、甲骨文和Postgres等關系數據庫提供了自動擴展和自我管理能力。DynamoDB是一種高度可擴展的托管NoSQL數據存儲服務。ElastiCache是一項內存中緩存服務,只要調用API即可使用該服務,根本不需要安裝和管理高度可用的緩存技術。Redshift則是一種隨需應變、完全托管、按需付費的PB級數據倉庫。另一方面,谷歌提供了BigQuery,這項服務讓客戶可以針對TB級數據集運行類似SQL的快速查詢,并且在短短幾秒鐘內獲得查詢結果。谷歌還為Hadoop提供DBaaS功能。微軟的DBaaS是一種完全托管的SQL Server環境,而IBM的SoftLayer提供了BLU加速,這其實是一種托管數據倉庫技術,讓開發人員在一個小時內就可以建立起強大的數據倉庫。OpenStack是一種大受歡迎的開源IaaS替代方案,它在其Icehouse版本中發布了名為Trove的DBaaS。
應用程序服務
亞馬遜網絡服務(AWS)遙遙領先的一個方面是,交付易于使用的應用程序服務,那樣開發人員就能快速添加或擴展功能,比如搜索能力、工作流程、隊列、電子郵件、通知、支付、流媒體、內容分發功能(CDN )等等。而這些類型的服務添加到IaaS提供商的服務組合中后,PaaS和IaaS之間的界線變得更模糊。PaaS提供商需要加快PaaS在企業客戶內部的采用,免得IaaS提供商打造和增強足夠的功能、讓PaaS變得可有可無。微軟、谷歌、IBM和OpenStack也都在借助許多新的應用服務夯實各自的服務組合,但它們想趕上AWS還有很長一段路要走。
部署和管理服務
所有IaaS提供商現在都非常注重讓部署和操作任務更易于管理。AWS最近發布了與ElasticBeanstack服務和CloudFormation服務配套的OpsWorks服務。這些服務共同讓管理和調配等操作任務變得簡單化。為了增強托管服務能力,谷歌最近收購了StackDriver這款監控SaaS解決方案。預計谷歌會收購更多的企業,以便奮力趕上AWS及這個領域的其他廠商。微軟一直格外重視提供致力于方便開發人員使用的強大工具。微軟提供了一套強大的用戶界面(UI)和應用編程接口(API),以便管理網絡、成本分配、計費能力和部署,提供自動化監控和分析,以及更多功能。IBM DevOps服務提供了諸如Git主機托管、持續集成和部署自動化之類的功能。OpenStack提供了名為Heat的編配服務,這項服務類似AWS的CloudFormation,讓開發人員可以發布使用模板的組合式應用程序。
移動和游戲服務
現在,這方面才開始真正重視起來。移動和游戲應用非常耗費資源,而且需要大量的技術投入,才能滿足最終用戶在可擴展性和性能方面提出的要求。一些服務讓開發人員可以迅速將開發的應用投向市場,沒必要花數月時間來設計具有高擴展性的容錯架構,以處理龐大分布式網絡上的大量豐富媒體內容,比如AWS的AppStream,這是一項低延遲應用流服務,再比如Elastic Transcoder,這是一項易于使用、可擴展的媒體轉碼服務。微軟、谷歌和IBM都提供MBaaS(移動后端即服務)能力,但OpenStack在這方面處于落后的位置。
市場
上述所有IaaS提供商都提供市場能力。IaaS領域的市場就好比是蘋果的應用程序商店(AppStore)。現在第三方可以添加類似PaaS的功能,這些功能可“外掛”到采用按需付費的訂閱服務模式的IaaS產品上。隨著這些市場變得更成熟,IaaS提供商的產品開始看起來更像PaaS產品了。
結束語
PaaS解決方案提供了完美的抽象級別,可以將底層基礎設施和應用程序堆棧的復雜性都隱藏起來。IaaS提供商沒有試圖復制PaaS提供商提供的服務,而是根據客戶要求,將各項類似PaaS的服務添加到自己的服務組合中。久而久之,隨著PaaS和IaaS之間的界線變得進一步模糊起來,PaaS具有的價值主張可能被客戶所忽略。