產(chǎn)業(yè)云化已經(jīng)是一個(gè)不爭(zhēng)的趨勢(shì),對(duì)于用戶來說,云計(jì)算彈性資源調(diào)度、敏捷開發(fā)和靈活部署等已成為企業(yè)必備之IT能力,若非如此,在互聯(lián)網(wǎng)+時(shí)代企業(yè)很容易被時(shí)代所拋棄。
企業(yè)上云和云原生應(yīng)用
但是企業(yè)如何云化?這并不是容易回答的問題。
首先對(duì)于初創(chuàng)企業(yè)?!拔艺J(rèn)為80%以上的初創(chuàng)公司應(yīng)該選擇公有云,道理很簡(jiǎn)單,初創(chuàng)企業(yè)沒有更多歷史應(yīng)用的包袱,應(yīng)用類型也比較輕量級(jí),選擇公有云可以節(jié)省成本和開支,簡(jiǎn)化運(yùn)維?!?Pivotal大中華區(qū)總經(jīng)理劉偉光說。
但對(duì)于行業(yè)高端用戶和大型企業(yè)客戶,無論從安全性,還是從行業(yè)管控需求考慮,公有云暫時(shí)沒有辦法滿足需求,用戶的選擇一定是自己建設(shè)私有云或者混合云。高端用戶構(gòu)建私有云,從行業(yè)應(yīng)用的角度首先面臨應(yīng)用上云的問題。
“在我們本地服務(wù)團(tuán)隊(duì)的幫助下,我們已經(jīng)成功幫助用戶把基于Web和面向移動(dòng)的多種應(yīng)用遷移到Pivotal Cloud Foundry(PCF)PaaS云平臺(tái)上,用容器的方式進(jìn)行部署,實(shí)現(xiàn)了應(yīng)用上云的目標(biāo)?!眲ス饨榻B說。
他表示:為上云而上云,有些問題并沒有解決,原因在于這些應(yīng)用是緊耦合的,因此沒有辦法實(shí)現(xiàn)云原生所具有的持續(xù)開發(fā)、 持續(xù)集成等特點(diǎn)。
“為上云而上元,只是應(yīng)用從一個(gè)地方搬到另外一個(gè)地方。盡管如此,這樣做還是有必要的,因?yàn)檩^之以往解決了應(yīng)用的資源彈性調(diào)度和部署的問題?!眲ス庹f。
劉偉光表示:“我給用戶的建議是:當(dāng)原有應(yīng)用搬到PaaS云環(huán)境上享受到基礎(chǔ)的云計(jì)算好處后,可以嘗試用云原生方法將應(yīng)用分模塊逐步重寫。然后比較一下二者之間的區(qū)別,用戶就會(huì)立刻體驗(yàn)到云原生應(yīng)用的優(yōu)勢(shì)和必要性?!?/p>
Docker和PCF的區(qū)別
如今越來越多的應(yīng)用開始部署在容器而不是虛擬機(jī)上,Docker對(duì)這個(gè)趨勢(shì)的推動(dòng)起到了很重要的作用。其中的原因在于Docker能夠提供更好靈活性和使用成本,如果應(yīng)用不多,并且面向的僅僅是開發(fā)者,Docker的容器封裝就是一個(gè)非常行之有效的技術(shù)。
PCF也是基于容器技術(shù)的PaaS平臺(tái),那么兩者的區(qū)別在哪兒呢?劉偉光對(duì)此進(jìn)行了詳細(xì)的說明:容器和PaaS的關(guān)系就好像發(fā)動(dòng)機(jī)與整車的關(guān)系。Docker是適合車迷DIY的“發(fā)動(dòng)機(jī)”,可以自行調(diào)校。PaaS則是適合真正客戶的“整車”平臺(tái)。
在核心容器技術(shù)的使用上,Docker和PCF都基于同樣的Build-To-Ship原則。但是在如何Build上,兩者選擇了不同的發(fā)展哲學(xué)。我們看到面向開發(fā)者的Docker在社區(qū)有成千上萬的Build出來的鏡像,但這些鏡像大都缺乏管理,很難直接投產(chǎn)使用。更重要的問題在于,因?yàn)镈ocker的鏡像構(gòu)建過于靈活,初學(xué)者經(jīng)常將系統(tǒng)源碼下載編譯打包等等步驟都納入Dockerfile進(jìn)行鏡像構(gòu)建,以為這樣才是正確的自動(dòng)化Devops方式,結(jié)果導(dǎo)致構(gòu)建鏡像時(shí)間越來越長(zhǎng),鏡像尺寸越來越大,最終無法使用。
PCF則按照構(gòu)建過程的穩(wěn)定性、變更責(zé)任體和變更頻率差別,設(shè)計(jì)了更符合企業(yè)過程的Build抽象。比如變更更少,歸屬基礎(chǔ)架構(gòu)的OS鏡像,PCF稱之為Stemcell;比如運(yùn)行平臺(tái)環(huán)境,JDK和Web服務(wù)器的封裝,PCF稱之為Buildpack。應(yīng)用真正的交付是打包文件,這個(gè)打包過程則應(yīng)該由Maven、Gradle或者Jenkins這樣的CI/CD工具完成。這樣的設(shè)計(jì),分工界面和管理更加清晰,更加符合企業(yè)管理的要求。真正實(shí)踐過Docker的開發(fā)人員,最終也會(huì)封裝出類似的抽象進(jìn)行管理。
要構(gòu)建企業(yè)級(jí)PaaS,就需要實(shí)現(xiàn)分布式容器環(huán)境的編排與調(diào)度管理。當(dāng)用戶有上百個(gè)應(yīng)用部署,就會(huì)有幾百個(gè)容器需要維護(hù)。對(duì)如此規(guī)模、動(dòng)態(tài)變化的容器環(huán)境進(jìn)行編排、管理,牽涉幾十種docker工具。既需要核心編排調(diào)度的“動(dòng)力總成”,如Mesos、Kubernetes、Marathon、Swarm等。還需要友好的用戶控制界面,方便用戶進(jìn)行一鍵式操作,最好還需要支持最流行的Rest API接口。當(dāng)前Docker生態(tài)中,這些能力還在逐步完善中,逐步考慮向企業(yè)應(yīng)用管理成長(zhǎng)。但在這個(gè)過程當(dāng)中也有相互的競(jìng)爭(zhēng),如Docker Swarm是Docker 公司自己發(fā)布的,和Mesos、Kubernetes是有一定的競(jìng)爭(zhēng)關(guān)系。Mesos也看到Docker日益平臺(tái)化的趨勢(shì),自己對(duì)容器的支持也更加多樣化。企業(yè)選擇這樣的平臺(tái),后續(xù)很可能面臨跑在路上臨時(shí)更換核心零件的問題
面向應(yīng)用的PaaS平臺(tái)更重要的是應(yīng)用服務(wù)能力。Docker生態(tài)圈在MySQl、RabbitMQ、Redis、GemFire、Cassandra等核心數(shù)據(jù)服務(wù),以及ETL、Batch、Sync、Stream等數(shù)據(jù)微服務(wù)、Spring、.NET應(yīng)用微服務(wù),以及平臺(tái)級(jí)配置管理、還有待成熟;而且,要求企業(yè)具備非常強(qiáng)的技術(shù)實(shí)力,才能依托自己的技術(shù)力量構(gòu)建Docker為基礎(chǔ)的PaaS平臺(tái)。
“對(duì)于像Google、Facebook、BAT這樣以自主研發(fā)為止的企業(yè),采取Docker的技術(shù)路線是完全可行的?!眲ス庹f。
“但對(duì)于傳統(tǒng)行業(yè)用戶來說,企業(yè)級(jí)用戶講究的是效益、時(shí)間、管理和維護(hù)成本。如果企業(yè)級(jí)用戶也選擇采用Docker技術(shù)路線,必須需要通過一組合七八種種不同的Docker生態(tài)圈的開源工具來完成企業(yè)IT管理開發(fā)的需求,其技術(shù)水平要求是非常高的,實(shí)施的復(fù)雜度也是前所未有和從來嘗試過的,同時(shí)意味著巨大的管理風(fēng)險(xiǎn)?!眲ス庵赋?。
劉偉光表示:與Docker相比,以Clound Foundry為基礎(chǔ)的PCF更適合面向企業(yè)的應(yīng)用。原因在于,PCF開發(fā)了大量的商業(yè)部件,同時(shí)提供PCF PaaS直接安裝部署、在線升級(jí)、配置的管理工具OpS Manager,實(shí)現(xiàn)了大量的企業(yè)級(jí)功能,以及大量服務(wù),如APM、日志聚合分析、MySQl、RabbitMQ、Redis、GemFire、Cassandra集中管理服務(wù)等、SSO服務(wù)、Spring微服務(wù)等。此外,由Greenplum數(shù)據(jù)庫、GemFire、 SQLFire、GemFire XD、HAWQ和HD共同組成Pivotal的大數(shù)據(jù)套件,可以和PCF實(shí)現(xiàn)非常好的集成。正是這些全面的功能和技術(shù)積累,我相信這也是像IBM,HP,GE這些具體企業(yè)為什么選擇Cloud Foundry的重要原因。
在全球,像福特,寶馬,奔馳這樣的大型汽車制造企業(yè),都在建設(shè)基于開放技術(shù)的新一代車聯(lián)網(wǎng),進(jìn)一步實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型, 所有的應(yīng)用都需要基于新的技術(shù)和敏捷開發(fā)的方法來構(gòu)建,在和全球大型企業(yè)合作的過程中,Pivotal Lab在軟件開發(fā)的過程中扮演了重要的角色,給予這些客戶提供了敏捷開發(fā)的咨詢和幫助。通過Pivotal Cloud Foundry來部署多種應(yīng)用同時(shí)將大數(shù)據(jù)的需求結(jié)合進(jìn)來,新的應(yīng)用都通過Springcloud來開發(fā)部署,真正實(shí)現(xiàn)了云原生應(yīng)用的大規(guī)模部署。,
劉偉光表示: Pivotal計(jì)劃將Pivotal Lab引入中國(guó),作為Pivotal幫助中國(guó)高端用戶互聯(lián)網(wǎng)+業(yè)務(wù)的轉(zhuǎn)型的重要舉措。
小結(jié)
所謂Docker與PCF PaaS之爭(zhēng),在劉偉光看來:二者之間是一種包容的關(guān)系,而不是競(jìng)爭(zhēng)關(guān)系。據(jù)介紹,Cloud Foundry基金會(huì)有幾十個(gè)成員,Docker公司也是成員之一,,也在不斷關(guān)注Cloud Foundry的生態(tài)圈的發(fā)展。此外Docker和Pivotal以及其他公司正在一起在建立未來容器的新標(biāo)準(zhǔn)RunC,在這個(gè)過程中,Pivotal的代碼共享占百分之五十,所以說Pivotal和Docker公司一直在緊密的合作。。
“在我看來,Docker和Pivotal Cloud Foundry是兩種不同設(shè)計(jì)發(fā)展思路,目前來看,Docker更加適合面向開發(fā)者,而PCF PaaS更加適合企業(yè)級(jí)的大規(guī)模應(yīng)用?!眲ス庹f。
蜂巢,中國(guó)最大的商用以及企業(yè)級(jí)自媒體聯(lián)盟。“來自IT的我”是蜂巢自媒體聯(lián)盟核心成員。
聯(lián)系客服