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