天天看點

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:[email protected],緻力于開發營運的一個階段:持續內建。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平台中的一個或多個可能會受到追捧,成為開發下一代應用程式的跳闆。

布加迪編譯

英文原文連結:http://www.informationweek.com/cloud/software-as-a-service/are-docker-containers-essential-to-paas/a/d-id/1316220