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