Docker容器對PaaS來說必不可少嗎?
譯文虛擬機和Docker Linux容器在改變運行、設計、開發和部署應用程序的方式。在近日于紐約召開的2014年Interop大會上,本人主持了一場專家小組討論會,幾家知名平臺即服務供應商的發言人熱烈探討了這個問題:下一代應用程序如何在改變PaaS。
這場為時1小時的討論會是為期半天的“云計算應用程序”(Cloud Applications)研討會的一部分,專家小組成員包括:ActiveState公司的產品管理副總裁Brent Smithurst,ActiveState開發了基于開源Cloud Foundry的Stackato PaaS;Engine Yard公司的產品管理副總裁Carl Meadows,Engine Yard是一款獨立的PaaS系統,使用開源代碼模塊;紅帽公司OpenShift PaaS的戰略主管Krishnan Subramanian,OpenShift PaaS是另一個開源項目;以及微軟Azure***技術官Mark Russinovich,主管微軟的PaaS解決方案。
平臺即服務結合了諸多工具、代碼工作流程、變更管理和代碼庫,它們通過PaaS系統,作為一項共享式服務來提供。
討論會一開始,每個專家小組成員回答這個問題:何謂下一代應用程序?他們的描述大致雷同:下一代應用程序更有可能由在PaaS系統上從事開發的團隊構建,而不是由頗有才華的開發人員單槍匹馬或成群結隊來構建。這些是用獨立的模塊化服務構建起來的組合式應用程序。在一些情況下,這些可能是微服務,每個微服務在各自的Linux容器里面運行,由開發系統提供的中間件和網絡接口聯系起來。下一代應用程序常常是用某一種動態語言編寫而成的,比如Ruby、Python、PHP或Node.js。它們可以在不同的基礎設施上移植,比如不同品牌的云架構。
這一切聽起來像是過高的要求。為了活躍討論氣氛,我問每個專家小組成員他們公司的PaaS系統是否滿足所有上述要求。Meadows、Subramanian和Smithurst給出了肯定的回答,他們分別以Engine Yard、Open Shift和Stackato為例。只有Russinovich給出了否定的回答,他表示要符合所有要求,仍存在太多的缺口,仍有太多的功能未實現。我覺得,后者給出的回答更坦誠。
2014年Interop大會PaaS專家小組討論
幾位演講者提到了Linux容器,于是專家小組討論了一種工作負載文件格式化和打包系統對PaaS來說是否必不可少。專家小組成員一致認為,為工作負載獲得的易于部署和可移植性讓容器成為PaaS的一個必要部分。其中就包括Russinovich,不過微軟的Azure PaaS目前并不支持Docker容器。但是容器可以在Hyper-V虛擬機里面的Azure基礎設施即服務(IaaS)上運行。
在專家小組討論會開始之前的采訪環節中,Russinovich提到了微軟與Docker達成了一項技術合作,這項合作項目已開展了數月。他還特別指出微軟很早參與了由谷歌創立的Kubernetes容器編配項目,這表明微軟對Linux容器頗有興趣。Russinovich并沒有直接這么表示,但我的解讀是,微軟似乎會在不遠的將來,力爭在其Azure PaaS上直接支持Docker。
Russinovich還特別指出,微軟為內部運營開發了自己的Windows容器系統,該容器系統在容器運行方面進一步加強了安全性和隔離機制。他表示,該系統名為DrawBridge。
各自公司的發言人表示,Engine Yard和Active State的Stackato早已支持Linux容器,不過聲明最有力的專家是紅帽公司的Subramanian。他說:“提供實際上不支持Docker Linux容器的PaaS好比在兜售騙人的萬靈油”,數字設備公司(DEC)已故的Kenneth Olsen在描述Unix的銷售時就曾炮轟“Unix是騙人的萬靈油”。
這四位專家都一致認為,PaaS不僅要成為一種開發平臺,還要成為一種應用程序配置管理和部署的平臺;這么做才能有助于它成為幫助IT人員讓開發和IT運營更緊密合作的系統。
在更接近DevOps(開發運營)這個目標時,PaaS還要更充分地利用開源代碼模塊,比如配置和部署管理器Puppet、Chef和SaltStack,以及Jenkins持續集成服務器。Meadows表示,Engine Yard是開源的堅定支持者。Smithurst表示,ActiveState的Stackato則基于開源Cloud Foundry系統。而說到業務立足于開發和銷售開源訂購服務,紅帽是世界上***的公司之一。
Russinovich指出微軟向來是一家專有性很強的公司,他表示,過去他公司在支持開源代碼方面有所選擇。但是Azure PaaS用戶有望看到它在未來的產品中接受更多的開源技術。Russinovich表示,Azure目前支持在其PaaS上使用開源Python、PHP和Java。
在介紹整個云計算應用程序研討會時,主席Bernard Golden(ActiveState Software的戰略副總裁)在強調下一代應用程序的重要性時,提到了Marc Andreessen的名言“軟件在蠶食世界”。但是用來構建這些應用程序的平臺其命運大不相同,居高臨下俯瞰市場的平臺***。AppFog在6月中旬被CenturyLink收購,價格沒有透過,但估計不會很高。CloudBees最近叫停了其運行時PaaS:Run@Cloud,致力于開發運營的一個階段:持續集成。2011年,Salesforce.com斥資2.12億美元收購了Heroku,后來聲明這個數字是“誤報”,其他PaaS初創企業沒有一家能賣到這么高的價位。
與此同時,兩個開源PaaS系統:Cloud Foundry和OpenShift繼續以相互競爭的方式,力求在開發群體當中得到更廣泛的使用。Pivotal將Cloud Foundry做成了Pivotal CF產品,ActiveState將Pivotal做成了Stackato產品,而OpenShift是紅帽的一款產品。Cloud Foundry在努力提供更全面的Docker支持,同時獲得了一大批公司的支持。紅帽的Open Shift早早進入了市場,一開始就支持Docker,現正在想方設法,擴大其官方支持公司的名單。
由于在越來越依賴軟件的經濟時代下,對軟件應用程序的需求日益增長,PaaS也變得日益重要。PaaS提供商在引入不同的語言、工作流程和系統以開發那些應用程序,并且往開發運營的方向,擴大覆蓋范圍。它們仍需要提供功能、仍需要填補缺口,但在接下來幾個月,這些PaaS平臺中的一個或多個可能會受到追捧,成為開發下一代應用程序的跳板。
布加迪編譯