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