最近,InfoQ約談了VMware云系統(tǒng)的CTO兼首席架構(gòu)師Derek Collison先生。他們談到了該公司的新款開(kāi)源PaaS產(chǎn)品——Cloud Foundry。
InfoQ:若面對(duì)一個(gè)架構(gòu)師或CIO,您會(huì)怎樣介紹Cloud Foundry呢?
Derek:Cloud Foundry是VMware的一款OpenPaaS,它支持多種框架、語(yǔ)言、云平臺(tái)及應(yīng)用服務(wù)。它也是一個(gè)分布式系統(tǒng),他為開(kāi)發(fā)者提供了應(yīng)用和服務(wù)的舞臺(tái),自己扛下了IaaS相關(guān)的通用的工作。該系統(tǒng)在設(shè)計(jì)時(shí)就已經(jīng)設(shè)計(jì)成可自愈的,并且在各層級(jí)都可水平擴(kuò)展,既能在大型數(shù)據(jù)中心里運(yùn)行,也能運(yùn)行在一臺(tái)桌面電腦中,二者使用相同的代碼庫(kù)。
對(duì)系統(tǒng)進(jìn)行擴(kuò)展不會(huì)導(dǎo)致正在活動(dòng)的用戶和應(yīng)用停止服務(wù)。由于系統(tǒng)與底層基礎(chǔ)設(shè)施間的連接是松耦合的,所以它能輕易地運(yùn)行在任意IaaS層之上。即便跨多個(gè)目標(biāo)云提供商,用戶與系統(tǒng)的交互也能保持一致,而且,人機(jī)交互基于人人都會(huì)實(shí)現(xiàn)的HTTP REST接口。此外,開(kāi)源也是一個(gè)優(yōu)勢(shì),對(duì)于那些想運(yùn)行自己的實(shí)現(xiàn),或基于Cloud Foundry的架構(gòu)和代碼進(jìn)行服務(wù)調(diào)用的架構(gòu)師和CIO來(lái)說(shuō),他們對(duì)此會(huì)感興趣的。
系統(tǒng)會(huì)為所有應(yīng)用程序?qū)嵗紤]負(fù)載均衡和高可用方面的事情。不論因?yàn)槭裁丛颍瑧?yīng)用程序崩潰了,系統(tǒng)都會(huì)自動(dòng)將它重啟。路由池會(huì)對(duì)多個(gè)應(yīng)用程序加以實(shí)時(shí)的負(fù)載均衡。擴(kuò)展和收縮非常快速且便捷,這為工程師和開(kāi)發(fā)者帶來(lái)了更多擴(kuò)展和高可用的選擇。訪問(wèn)服務(wù)、將應(yīng)用與服務(wù)綁定,這些工作都簡(jiǎn)單且直觀,應(yīng)用開(kāi)發(fā)者可使用多種不同的設(shè)計(jì)模式。對(duì)應(yīng)用和服務(wù)級(jí)安全的支持很廣闊,涵蓋了從多租戶的流程、文件系統(tǒng)和用戶級(jí)隔離到整個(gè)hypervisor一級(jí)的隔離。
InfoQ:人們?nèi)匀辉诠性坪退接性浦g爭(zhēng)論不休。你覺(jué)得Cloud Foundry對(duì)這一爭(zhēng)論會(huì)產(chǎn)生怎樣的影響呢?它會(huì)進(jìn)一步加劇這一爭(zhēng)論,還是會(huì)讓此爭(zhēng)論變得不再有意義呢?
Derek:我認(rèn)為爭(zhēng)論還是有意義的。驅(qū)使不同選擇的原因是有太多不同的情形及需求。有了Cloud Foundry之后,開(kāi)發(fā)效率和業(yè)務(wù)敏捷對(duì)選擇帶來(lái)的影響會(huì)降低,而業(yè)務(wù)決策對(duì)選擇的影響會(huì)增大,我們相信這是件好事。通過(guò)Cloud Foundry部署在公有云平臺(tái)上的應(yīng)用,若要將它移植到私有云實(shí)例之上,只需要花少許力氣,甚至不費(fèi)力。我們堅(jiān)信我們對(duì)Developer Rights的承諾,為用戶提供最廣泛的選擇,上至使用諸如Cloud Foundry之類的公共服務(wù),下到自建系統(tǒng),以及位于二者之間的任意形態(tài)。
在我們發(fā)布Cloud Foundry時(shí)候,將同一應(yīng)用分別部署到由我們自己的VSphere技術(shù)和我們的合作伙伴RightScale所支持的Amazon之上的Cloud Foundry之上。最后,我們將此應(yīng)用部署到運(yùn)行在一臺(tái)桌面電腦上運(yùn)行的私有云實(shí)例之上。從提供的服務(wù)以及用戶的交互模式上看,所有環(huán)境是一樣的,未改動(dòng)一個(gè)命令,系統(tǒng)代碼未作任何改動(dòng),應(yīng)用程序代碼也完全一致。
所以,不論是公有云、私有云亦或是混合云,Cloud Foundry都能作為提高開(kāi)發(fā)者生產(chǎn)率、業(yè)務(wù)敏捷以及使用OpenPaaS的起點(diǎn)。
InfoQ:您最希望社區(qū)為Cloud Foundry作出那些方面的貢獻(xiàn)?
Derek:我相信只要系統(tǒng)能滿足社區(qū)的需求,社區(qū)對(duì)它的擁護(hù)會(huì)像洪水般涌來(lái)。Cloud Foundry在某些方面支持個(gè)性化PaaS。起初,你將會(huì)看到各種語(yǔ)言、框架和服務(wù)。在這些領(lǐng)域,我們已經(jīng)看到大量的請(qǐng)求了,我們還希望這種趨勢(shì)可以驗(yàn)血。從長(zhǎng)期來(lái)看,我希望隨著框架和服務(wù)穩(wěn)定后,最大的貢獻(xiàn)將落到工具和管理方面。
InfoQ:Google App Engine不能支持所有標(biāo)準(zhǔn)代碼庫(kù)在其PaaS環(huán)境上運(yùn)行。Cloud Foundry上面部署的軟件有哪些內(nèi)置的限制呢?與完全掌控的基礎(chǔ)設(shè)施相比,哪些是不能在Cloud Foundry上做的事情呢?
Derek:我們正盡力讓大多數(shù)最新的應(yīng)用、服務(wù)和代碼庫(kù)能夠在不需任何修改的情況下直接運(yùn)行在Cloud Foundry上。我們事先申明“Cloud Ready”,這不應(yīng)該要求你完全重寫你的應(yīng)用。
不過(guò),的確有些是事情是辦不到的,比如綁定80端口,或?qū)?shù)據(jù)寫到你的應(yīng)用容器之外的一個(gè)任意目錄。此外,我們還會(huì)仔細(xì)監(jiān)控應(yīng)用程序的資源使用情況。不過(guò),如果你使用一些標(biāo)準(zhǔn)代碼庫(kù)、最新的訪問(wèn)數(shù)據(jù)庫(kù)的框架,或者你使用Redis做一些緩存,我覺(jué)得在云中做這些事情應(yīng)該是可能的,而且不需要太費(fèi)勁。
InfoQ:近期AWS的服務(wù)故障會(huì)影響架構(gòu)師對(duì)云解決方案的看法嗎?Cloud Foundry對(duì)移植性的承諾能否疏離與特定云供應(yīng)商之間的緊密關(guān)系呢?
Derek:AWS做了一次試驗(yàn),我們每個(gè)人都能從中學(xué)習(xí)并獲益。我們?nèi)匀惶幱谠萍o(jì)元的起步階段,而且,我們?nèi)孕枰獜膽K痛的經(jīng)歷中學(xué)習(xí)。Cloud Foundry表明了VMware實(shí)實(shí)在在地想定義一個(gè)OpenSaaS,為用戶提供靈活選擇(不論是云提供商:公用云、私有云和混合云部署,應(yīng)用框架和運(yùn)行時(shí),以及服務(wù))的努力。
有選擇是好事!