近年來(lái),"軟件定義"之風(fēng)在IT業(yè)界越刮越猛,從軟件定義網(wǎng)絡(luò)(SDN)、軟件定義存儲(chǔ)(SDS)到軟件定義數(shù)據(jù)中心(SDDC)、軟件定義基礎(chǔ)設(shè)施(SDI),各種產(chǎn)品和技術(shù)紛紛貼上"軟件定義"標(biāo)簽,甚至有人提出"軟件定義世界"、"一切皆軟件","軟件定義"儼然成為最先進(jìn)技術(shù)的代名詞。
面對(duì)不斷升溫中的"軟件定義"熱,我們?cè)撊绾卫斫馄渚,它的魅力究竟在哪里?如何從傳統(tǒng)的硬件定義世界演進(jìn)到軟件定義的新世界?日前至頂網(wǎng)記者獨(dú)家專訪了清華大學(xué)交叉信息學(xué)院助理院長(zhǎng)、助理教授、博導(dǎo)徐葳老師,就"軟件定義"相關(guān)話題進(jìn)行了探討。
更智能、更靈活、更便宜
在徐葳看來(lái)"軟件定義"之風(fēng)并非平地而起,而是因?yàn)?quot;軟件定義"本身的先進(jìn)性,是用戶需求的推動(dòng),它的流行帶有必然性。"因?yàn)榕c硬件相比,軟件更靈活,更容易創(chuàng)新,也更智能、更便宜。"徐葳表示。
徐葳認(rèn)為軟件定義大潮的最初興起與SDN不無(wú)關(guān)系。"早期的網(wǎng)絡(luò)設(shè)備都是專用硬件,比如硬件的交換機(jī)、路由器、硬件防火墻、入侵檢測(cè)設(shè)備等,成本高也不靈活,而且很容易被廠商綁定。后來(lái)就有人提出SDN了這個(gè)想法,Openflow就是這個(gè)想法下的產(chǎn)物。"
因?yàn)镾DN提倡控制與轉(zhuǎn)發(fā)的分離,打破了廠商對(duì)網(wǎng)絡(luò)硬件的壟斷,從而給網(wǎng)絡(luò)創(chuàng)新提供了一個(gè)非常好的思路。再加上當(dāng)時(shí)虛擬化特別火,而虛擬機(jī)之間的網(wǎng)絡(luò)連接沒有很好的解決方案。SDN借著這個(gè)勢(shì)頭很快就火起來(lái)了,然后軟件定義迅速蔓延到計(jì)算、存儲(chǔ)到整個(gè)數(shù)據(jù)中心。
如果要深究"軟件定義"熱的根源,徐葳認(rèn)為可以從以下幾個(gè)方面來(lái)分析:
首先,軟件比硬件容易開發(fā),容易創(chuàng)新。"從硬件變成軟件,發(fā)展就快了,價(jià)格就低了,功能就多了。這可能會(huì)帶來(lái)數(shù)據(jù)中心的技術(shù)從節(jié)能、效率、性能、容量等多方面創(chuàng)新,尤其是基礎(chǔ)架構(gòu)的智能運(yùn)維。"徐葳介紹說(shuō),他們就與百度合作通過(guò)軟件控制,能在同樣供電容量的數(shù)據(jù)中心中多擺放17%的機(jī)器。"這種好的軟件方案多了,大家必然要從過(guò)去又貴又難用的硬件方案轉(zhuǎn)移到軟件定義的方案。"
其次,硬件發(fā)展很快,性能越來(lái)越強(qiáng)大,為軟件定義提供了很好的基礎(chǔ)。因?yàn)榻裉烊绾纬浞掷糜布阅芤呀?jīng)不是最重要的,最重要的是如何能夠快速推出能用且便宜的解決方案,而軟件定義正好符合這個(gè)趨勢(shì)。
第三,現(xiàn)在很多計(jì)算任務(wù)都靠加速卡完成的,比如深度學(xué)習(xí)就用到GPU就會(huì)很慢。這些加速卡耗電且貴、體積又大,不可能每個(gè)機(jī)器上一個(gè)。而管理好這些異構(gòu)的資源,需要利用軟件定義計(jì)算的方法。
第四,軟件定義可以與開源軟件結(jié)合,從而推動(dòng)創(chuàng)新。因?yàn)槔密浖x,傳統(tǒng)沒能力做系統(tǒng)的廠商也可以用開源軟件做硬件了,這有力地推動(dòng)了創(chuàng)新。比如,在沒有軟件定義網(wǎng)絡(luò)之前,網(wǎng)絡(luò)領(lǐng)域就很少有新公司出現(xiàn),而現(xiàn)在新公司出現(xiàn)頻率大增。
"在軟件定義的世界里,一臺(tái)交換機(jī)、一個(gè)防火墻或者一個(gè)IDS就是一臺(tái)標(biāo)準(zhǔn)的x86服務(wù)器,其中的英特爾通用處理器就可以實(shí)現(xiàn)專用ASIC芯片的功能。而以前的網(wǎng)絡(luò)設(shè)備需要專用的ASIA芯片,研發(fā)成本很高,客觀上阻礙了創(chuàng)新。"徐葳說(shuō)。
實(shí)際上,我們也可以看到在軟件定義大潮中,英特爾也是一個(gè)積極的推動(dòng)者,不僅提出了SDI這樣的理念和方法論,還聯(lián)合VMware等合作伙伴大力推動(dòng)軟件定義在數(shù)據(jù)中心內(nèi)部的落地。
軟件定義需要硬件支持
因?yàn)?quot;軟件定義"具有很多明顯的好處,因此一經(jīng)提出很快就得到關(guān)注,并開始逐步落地。于此同時(shí),有很多項(xiàng)目也借助軟件定義大潮得到了很好的發(fā)展,OCP(開放計(jì)算項(xiàng)目)就是其中之一。
如今風(fēng)頭正勁的OCP是Facebook于2011年發(fā)起的開源硬件組織,其開源了包括數(shù)據(jù)中心、定制服務(wù)器在內(nèi)的一系列硬件設(shè)計(jì),短短4、5年時(shí)間就吸引了包括Google、蘋果公司、微軟等200多家企業(yè)加入。
對(duì)于OCP徐葳的理解顯然要比大多數(shù)人認(rèn)識(shí)更深入些。OCP基金會(huì)在全球認(rèn)證很多符合OCP標(biāo)準(zhǔn)的數(shù)據(jù)中心,目前徐葳所負(fù)責(zé)的數(shù)據(jù)中心是中國(guó)唯一獲得OCP認(rèn)證。徐葳認(rèn)為OCP與軟件定義是一對(duì)好搭檔。因?yàn)樵谕ㄍ浖x之路的過(guò)程中,設(shè)計(jì)出適合做軟件定義的硬件解決方案是最重要的,而這就是現(xiàn)在OCP做的事情。
"OCP無(wú)論是成功還是失敗,它注定會(huì)與跟軟件定義綁在一起的。OCP希望通過(guò)開源硬件的設(shè)計(jì)來(lái)提升數(shù)據(jù)中心硬件的發(fā)展速度,降低整體的硬件成本,增強(qiáng)硬件的可管理性。"徐葳介紹說(shuō),OCP造就了一批白牌硬件設(shè)備,無(wú)論是服務(wù)器、交換機(jī)還是存儲(chǔ)設(shè)備。但是白牌硬件廠商一直都不擅長(zhǎng)做軟件,所以單獨(dú)去買控制軟件就是唯一一條路。這就給軟件定義創(chuàng)造出一個(gè)市場(chǎng)。
另外,OCP倡導(dǎo)的是整機(jī)架部署,而且推行的都是超融合架構(gòu),磁盤分散在各個(gè)機(jī)器內(nèi)部,這樣在機(jī)架層面進(jìn)行資源的調(diào)配也比較容易,這也給軟件定義提供了更大的優(yōu)化空間。同時(shí)白牌機(jī)器便宜,給做軟件定義的企業(yè)留了一些利潤(rùn)空間。所以O(shè)CP對(duì)于軟件定義具有很大的促進(jìn)作用。
軟件定義落地是長(zhǎng)期過(guò)程
應(yīng)該說(shuō),目前軟件定義已經(jīng)被普遍接受,并正在逐步落地。但是徐葳認(rèn)為,軟件定義的成功還需要相當(dāng)長(zhǎng)的時(shí)間,因?yàn)樵谲浖x之路還面臨不少攔路虎。
第一,人的技能。傳統(tǒng)數(shù)據(jù)中心內(nèi)部的網(wǎng)管、系統(tǒng)管理、數(shù)據(jù)庫(kù)管理員和軟件開發(fā)人員等都有著比較嚴(yán)格的界定和不同的知識(shí)結(jié)構(gòu),工作很少有交叉。而現(xiàn)在,在軟件定義的世界里,我們可能希望網(wǎng)絡(luò)管理員能編寫SDN程序、存儲(chǔ)管理員理解Ceph里的復(fù)雜配置選項(xiàng),而做到并不容易。
第二,硬件,F(xiàn)在的軟件定義基本上是一種屌絲設(shè)計(jì),即按照現(xiàn)有的硬件功能來(lái)設(shè)計(jì)軟件,而不是真正的軟件定義。例如Openflow設(shè)計(jì)那么復(fù)雜,與兼容Broadcom的芯片有關(guān);Ceph設(shè)計(jì)得那么龐雜,也與要兼容各種服務(wù)器硬件有關(guān)(有盤多也有盤少的,有SSD的也有沒有的,有網(wǎng)速快的也有網(wǎng)速慢的)。種種硬件給軟件設(shè)計(jì)帶來(lái)了很大麻煩,解決這個(gè)問(wèn)題的除了在定制化硬件,未來(lái)在軟件定義大潮下這可能成為一種趨勢(shì)。
第三,可靠性和長(zhǎng)尾延遲,F(xiàn)在數(shù)據(jù)中心內(nèi)考慮不光是可靠性的問(wèn)題,還有長(zhǎng)尾延遲的問(wèn)題,因?yàn)槟壳败浖x的基礎(chǔ)設(shè)施之中很多采取Reactive的策略,就是發(fā)生了事件之后硬件不知道就去問(wèn)軟件控制器。這樣的策略可能會(huì)導(dǎo)致更多的長(zhǎng)尾延遲。未來(lái)軟件定義的架構(gòu)必須要解決這種問(wèn)題。
"目前,我們看到越來(lái)越多的計(jì)算、內(nèi)存和存儲(chǔ)、乃至整個(gè)IT基礎(chǔ)設(shè)施正在變成軟件定義的,未來(lái)肯定會(huì)更多。而隨著軟件定義越來(lái)越普及,它很可能將成為硬件提供的標(biāo)準(zhǔn)功能了,就像現(xiàn)在的BIOS,到那時(shí)或許就沒有軟件定義這種說(shuō)法了。"徐葳總結(jié)說(shuō)。