Docker好基友Joyent:你從未關(guān)注過(guò)的云方案
譯文【51CTO.com快譯】Joyent率先舉起了容器支持的大旗,而后又得到了Docker方面的認(rèn)證。盡管技術(shù)水平出眾,但像Joyent這樣一款獨(dú)立的公有云方案是否能夠在市場(chǎng)上闖出一片天地?
憑借著自己記者的身份,我得以接觸到技術(shù)業(yè)界當(dāng)中那些最具智慧的頭腦——而且不僅僅是拜讀他們的文字,還能夠與其面對(duì)面交流。今年10月,我更有幸在Couchbase Live NY大會(huì)上與Joyent公司CTO Bryan Cantrill直接溝通。
Cantrill是那種很有天賦的技術(shù)人員,他能夠在不自覺(jué)中將枯燥的專(zhuān)業(yè)內(nèi)容變得娛樂(lè)化,并在極為平常的表述中達(dá)成技術(shù)宣傳的目的。只要一開(kāi)口,他就能夠?qū)τ?jì)算機(jī)技術(shù)的發(fā)展歷史如數(shù)家珍,并很好地切合當(dāng)前的討論話題。上次遇到這么風(fēng)趣的技術(shù)牛人還是在我為JBoss效力的時(shí)候,Marc Fleury也擁有這樣的出眾魅力。
那些PaaS尚未成型的歲月
在分享與Cantrill的交流內(nèi)容之前,讓我們首先聊聊背景信息:2012年,我曾經(jīng)在一篇名為《我到底該選擇哪款PaaS方案?》的文章中提到,SaaS不會(huì)快速轉(zhuǎn)變?yōu)镻aaS。
而在那之后,Cloud Foundry用了很長(zhǎng)時(shí)間來(lái)重新編寫(xiě)并推廣PaaS方案,但其始終未能受到高度重視。紅帽公司的OpenShift實(shí)現(xiàn)了可觀的改進(jìn)成效,不過(guò)其并不屬于真正的公有云方案,而且直到今天也未能真正在世界范圍內(nèi)普及。我甚至都快忘記了Heroku的存在,目前提起云計(jì)算我們能夠想到的似乎只有Amazon以及新興的微軟與谷歌。
不過(guò)如今情況開(kāi)始有了轉(zhuǎn)變:Docker正在迅速興起。Docker允許我們?cè)谙硎艽蟛糠諴aaS優(yōu)勢(shì)的同時(shí),繼續(xù)保留對(duì)軟件層以及使用規(guī)范的控制能力(因?yàn)槲覀兌疾幌M诓渴饝?yīng)用時(shí)被服務(wù)供應(yīng)商所牢牢束縛)。
Node項(xiàng)目成員打造出的非Amazon云成果
盡管Cantril所在的Joyent公司向來(lái)以“Node.js項(xiàng)目成員”所建立而為人所知,但這家年輕的企業(yè)并沒(méi)有始終沉迷于過(guò)去的輝煌當(dāng)中。Joyent公司是一家云服務(wù)供應(yīng)商,其同時(shí)提供計(jì)算與存儲(chǔ)選項(xiàng),且擁有自己的多座數(shù)據(jù)中心。該公司還銷(xiāo)售與Cloud Foundry以及OpenShift相似的受支持開(kāi)源環(huán)境,但這套環(huán)境完全基于容器技術(shù)構(gòu)建而成。
用Cantrill的話來(lái)說(shuō),Joyent公司優(yōu)于或者說(shuō)至少走在了市場(chǎng)的前面:
" Joyent公司在不合適的時(shí)間點(diǎn)上選擇了正確的發(fā)展道路,而且該時(shí)間點(diǎn)還持續(xù)了相當(dāng)長(zhǎng)時(shí)間。我們是一家真正以容器技術(shù)為核心進(jìn)行產(chǎn)品構(gòu)建的企業(yè),而且堅(jiān) 信基于容器機(jī)制的虛擬化技術(shù)將大有可為。不過(guò)我們走得太遠(yuǎn),把市場(chǎng)遠(yuǎn)遠(yuǎn)拋在了身后。直到大概去年,整個(gè)市場(chǎng)才突然醒悟過(guò)來(lái)并意識(shí)到“嘿,容器技術(shù)是個(gè)好點(diǎn) 子,我們都應(yīng)該表示歡迎。” |
在Cantrill的表達(dá)當(dāng)中,我產(chǎn)生了一種強(qiáng)烈的既視感:將Docker與Solaris Zone聯(lián)系起來(lái)。作為Sun公司的前任員工,Cantrill當(dāng)然很清楚這段掌故,而且他自己也曾經(jīng)有過(guò)這方面的感受。不過(guò)Joyent公司不僅能夠準(zhǔn)確地定義什么是錯(cuò)的,更有能力弄清什么是對(duì)的。當(dāng)然,Cantrill也以非??陀^的態(tài)度承認(rèn)Joyent是一家知名度相當(dāng)?shù)偷墓性乒?yīng)商,而他也面臨著一場(chǎng)艱苦的影響力提升戰(zhàn):“我們不是Amazon,我們也不是OpenStack,我們?nèi)匀荒瑹o(wú)聞。”
但在另一方面,OpenStack本來(lái)也不是個(gè)值得效法的對(duì)象。Cantrill將OpenStack比作了當(dāng)初的Solaris CDE;雖然有一些企業(yè)試圖以其為核心進(jìn)行開(kāi)發(fā),但幾乎沒(méi)有任何一位參與者得到了理想的成果。而盡管OpenStack項(xiàng)目吸引到了遠(yuǎn)遠(yuǎn)超過(guò)CDE的支持者數(shù)量,但Cantrill認(rèn)為OpenStack的時(shí)代已經(jīng)成為過(guò)去:
我認(rèn)為人們當(dāng)下已經(jīng)開(kāi)始意識(shí)到這一點(diǎn)。OpenStack代表的是一波已經(jīng)過(guò)氣的技術(shù)革命。而我們正將精力更多集中在我們認(rèn)為將代表未來(lái)革命的成果身上。這在目前也許只能算是一種希望,但在明天卻可能呈現(xiàn)出一股容器技術(shù)浪潮,并體現(xiàn)為一整套基于全容器機(jī)制的堆棧。我們堅(jiān)信這一點(diǎn),而我們所開(kāi)發(fā)的軟件全部為開(kāi)源項(xiàng)目。
與其它廠商一樣,Joyent公司也同時(shí)擁有公有及私有云產(chǎn)品。Joyent公司的容器技術(shù)Triton能夠提供內(nèi)核原生容器功能,但同時(shí)亦支持Docker軟件包。Joyent方面還宣稱(chēng)其具備裸機(jī)運(yùn)行能力——畢竟Triton的開(kāi)發(fā)基礎(chǔ)正是擁有數(shù)十年發(fā)展成熟度的Solaris Zone。
考慮到用戶(hù)往往傾向于在Amazon環(huán)境之上運(yùn)行Docker鏡像,這類(lèi)容器型虛擬化方案本身也需要以虛擬化形式運(yùn)行??偠灾?,掏出錢(qián)包給AWS付錢(qián)吧!相比之下,Joyent不僅在CPU與資源使用成本方面低于Amazon,同時(shí)所需的資源總量亦將有所削減——畢竟我們用不著干將容器運(yùn)行在虛擬機(jī)之上這種沒(méi)必要的蠢事。
這是一套與EMC殊為不同的非Hadoop/非S3存儲(chǔ)方案
SAN實(shí)在是種很傻的事物。將我們的存儲(chǔ)資源從計(jì)算體系當(dāng)中各設(shè)備的每塊磁盤(pán)中剝離出來(lái)并散布到整個(gè)網(wǎng)絡(luò),這簡(jiǎn)直就是一套專(zhuān)用形式的客戶(hù)端-服務(wù)器計(jì)算機(jī)制。很明顯,我們應(yīng)該采用具備彈性的新型軟件設(shè)計(jì)方案,而對(duì)那些單純用磁盤(pán)堆疊并模擬而成的所謂“彈性”說(shuō)不(抱歉,戴爾,說(shuō)的就是你)。
而這正是Joyent公司走在時(shí)代前列的重要表現(xiàn)之一——同時(shí)也略微領(lǐng)先于HDFS、EMR以及S3——也就是Manta,一款集成有計(jì)算機(jī)制的對(duì)象存儲(chǔ)解決方案:
我將向大家列舉我們利用Manta所實(shí)現(xiàn)的具體效果,我們已經(jīng)將其引入日常工作,但市場(chǎng)對(duì)其尚未做好準(zhǔn)備——正因?yàn)槿绱?,我們并未?duì)其積極宣傳,因此客戶(hù)可能還接受不了這樣的方案??偠灾淖饔迷谟谔峁?duì)容器存儲(chǔ)資源進(jìn)行拆分的能力。如此一來(lái),我們就能夠擁有一套與S3類(lèi)似的對(duì)象存儲(chǔ)體系——但如果大家只希望對(duì)存儲(chǔ)對(duì)象進(jìn)行計(jì)算處理而非將其移動(dòng)到對(duì)象存儲(chǔ)之外,則能夠直接在對(duì)象所在的位置建立容器系統(tǒng)。
諷刺的是,我發(fā)現(xiàn)Cantrill似乎并不相信在一臺(tái)設(shè)備當(dāng)中塞進(jìn)大量磁盤(pán)驅(qū)動(dòng)器,而后通過(guò)網(wǎng)絡(luò)進(jìn)行連接,最終對(duì)所有接口進(jìn)行粘接的作法是什么好主意:
不,我認(rèn)為這種集中化存儲(chǔ)設(shè)計(jì)不是什么好東西……應(yīng)用程序能夠計(jì)算; 因此將存儲(chǔ)與計(jì)算資源硬性拆分開(kāi)來(lái)根本沒(méi)有必要。這種思路只是符合人們的思維習(xí)慣,而且確實(shí)能夠?yàn)橛?jì)算機(jī)制帶來(lái)一種比較良好的特性——即臨時(shí)性。一旦某臺(tái)設(shè)備出了問(wèn)題,大家可以將其啟動(dòng)另一臺(tái),因?yàn)橛?jì)算與存儲(chǔ)并非處于同一設(shè)備之中。這確實(shí)不錯(cuò),但好消息也就這么多了。畢竟計(jì)算資源在那、存儲(chǔ)資源在這的設(shè)計(jì)本身就存在弊端,而且需要強(qiáng)調(diào)的是,大家還需要為此對(duì)可能出現(xiàn)故障的組件進(jìn)行沒(méi)完沒(méi)了的優(yōu)化——但事實(shí)上,這些組件本身可以說(shuō)是我們能夠買(mǎi)到的最可靠的東西了。我得再說(shuō)一次,目前基礎(chǔ)設(shè)施當(dāng)中最不靠譜的東西就是傳統(tǒng)磁盤(pán)驅(qū)動(dòng)器,但它們?cè)谡嬲霈F(xiàn)故障之前都有質(zhì)量保證周期,這意味著我們至少能夠?qū)ζ渥龀鲚^準(zhǔn)確的更新管理預(yù)期。
在Manta的幫助下,大家可以通過(guò)API建立起存儲(chǔ)體系并運(yùn)行由R、Python、Node.js、Perl、Ruby、Java、C/C++等各類(lèi)語(yǔ)言編寫(xiě)而成的大規(guī)模并行流程。另外,Manta還支持流媒體。不過(guò)Manta有著自己的既定任務(wù),它不是Spark、當(dāng)然也不是Hadoop。
不過(guò)我們還要考慮到,歷史也許會(huì)在Joyent身上重演。如果沒(méi)有兼容性API以及強(qiáng)大生態(tài)系統(tǒng)的支撐,Manta也許最終只會(huì)成為另一項(xiàng)走得太快、導(dǎo)致市場(chǎng)無(wú)法跟上的早夭技術(shù)。很明顯,走得快一點(diǎn)不是壞事,但如果快到人們無(wú)法理解或者底層技術(shù)優(yōu)越性不足以構(gòu)建起擁有吸引力的生態(tài)系統(tǒng),那么消亡將只是時(shí)間問(wèn)題。
單單更好就夠了嗎?
當(dāng)初Joyent公司剛剛開(kāi)發(fā)出自己的容器技術(shù)時(shí),尚不存在任何既定的行業(yè)標(biāo)準(zhǔn)或者基于Linux的API。Docker的橫空出世創(chuàng)建出了客觀層面的執(zhí)行標(biāo)準(zhǔn),也使得人們開(kāi)始爭(zhēng)取投向容器技術(shù)的懷抱——而這又從另一個(gè)角度為Joyent創(chuàng)造了市場(chǎng)空間。
也許當(dāng)Spark成為業(yè)界領(lǐng)先的API時(shí),Manta也會(huì)擁有同樣的效果。之所以值得肯定,是因?yàn)镸anta確實(shí)擁有出色的設(shè)計(jì)且具備開(kāi)源屬性,因此它應(yīng)該能夠抓住相當(dāng)一部分用戶(hù)的眼球——畢竟它確實(shí)優(yōu)于HDFS、SAN或者其它現(xiàn)有圍繞虛擬化建立起來(lái)的規(guī)?;鎯?chǔ)方案。
不過(guò)生態(tài)系統(tǒng)的構(gòu)建在很大程度上屬于一項(xiàng)社會(huì)性任務(wù),而非單純的技術(shù)或者經(jīng)濟(jì)性事物。擁有更好的技術(shù)是否就足以幫助Joyent實(shí)現(xiàn)突破性的市場(chǎng)影響力?目前這家年輕的企業(yè)面對(duì)著眾多巨頭的壓迫:Amazon、Hadoop/Spark及其相關(guān)項(xiàng)目,而每一種方案都希望成為人們眼中的核心“混合云”實(shí)現(xiàn)途徑。所以,單單更好就夠了嗎?這一切還有待時(shí)間的檢驗(yàn)。
原文標(biāo)題:Joyent: The Docker-friendly cloud you’ve never heard of
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】