近幾年,“軟件定義”是一個很火的話題,仿佛一夜之間數(shù)據(jù)中心里IT基礎(chǔ)設(shè)施都被“軟化”了,而在這一過程中,傳統(tǒng)的硬件廠商無疑受到了強(qiáng)烈的沖擊。“軟件定義”不僅改變了傳統(tǒng)的IT架構(gòu)與部署、配置模式,也改變著整體的IT基礎(chǔ)設(shè)施的發(fā)展走向。雖然在數(shù)據(jù)中心里,“物理的存在”仍然必不可少,并決定了基礎(chǔ)的能力,但軟件定義的能量以及其所展現(xiàn)出的未來潛力已經(jīng)越來越被重視與認(rèn)可。
博科公司(Brocade)是業(yè)界著名的數(shù)據(jù)中心網(wǎng)絡(luò)解決方案提供商,較早之前,在它已經(jīng)取得了存儲區(qū)域網(wǎng)絡(luò)(SAN)交換機(jī)市場的絕對領(lǐng)導(dǎo)地位之后,大舉進(jìn)軍以太網(wǎng)領(lǐng)域,但很快就迎來了軟件定義網(wǎng)絡(luò)(SDN,Software Defined Network)的潮流。顯然,博科將與其他傳統(tǒng)網(wǎng)絡(luò)廠商面臨著同樣的問題——如何面對“軟件定義”的趨勢,并借助它讓自己獲得更好的發(fā)展,甚至進(jìn)一步確立自己的領(lǐng)導(dǎo)地位?
近日,筆者有幸與博科運(yùn)營商首席技術(shù)官兼首席科學(xué)家David Meyer進(jìn)行了深入的交流,他在不久前剛被任命為主導(dǎo)SDN控制框架的OpenDaylight項(xiàng)目技術(shù)指導(dǎo)委員會(TSC)主席,可以說是SDN領(lǐng)域中的重量級人物,同時也肩負(fù)著帶領(lǐng)博科走向SDN前沿的重任。
博科運(yùn)營商首席技術(shù)官兼首席科學(xué)家David Meyer
網(wǎng)絡(luò)的進(jìn)化狀態(tài)話題首先從網(wǎng)絡(luò)本身開始,我們都知道對于一個數(shù)據(jù)中心而言,其主要的IT基礎(chǔ)設(shè)施可以分為三大類:計(jì)算、網(wǎng)絡(luò)和存儲,在很多場合似乎人們更關(guān)注計(jì)算與存儲領(lǐng)域,而對網(wǎng)絡(luò)相對“冷淡”一些,但如今SDN的出現(xiàn)讓網(wǎng)絡(luò)開始與其他兩大硬件平臺并駕齊驅(qū),甚至有反客為主的趨勢,畢竟網(wǎng)絡(luò)是信息傳輸與IT功能節(jié)點(diǎn)(計(jì)算、存儲)的連接管道,作為博科運(yùn)營商首席技術(shù)官兼首席科學(xué)家,David Meyer顯然也是對網(wǎng)絡(luò)情有獨(dú)鐘。
“從我個人來看,網(wǎng)絡(luò)最讓我著迷的地方是這個網(wǎng)絡(luò)它無處不在”,David Meyer表示,“不管是我們現(xiàn)在說到計(jì)算機(jī)網(wǎng)絡(luò),還是說生物的網(wǎng)絡(luò),我們每天都要用到它。那么對于現(xiàn)在這個社會來說,這個數(shù)據(jù)網(wǎng)絡(luò)是非常重要的,尤其是我們現(xiàn)在提到的,大家比較看中的這個SDN 、NFV(網(wǎng)絡(luò)功能虛擬化),還有云技術(shù)。那么它們可以使我們現(xiàn)在這種網(wǎng)絡(luò),變得更加的快速,使它變成的更加的高效,這就是網(wǎng)絡(luò)的成就,也是對我來說是非常著迷的地方。”
不過,對于一個數(shù)據(jù)中心而言,計(jì)算、網(wǎng)絡(luò)與存儲是相輔相成,協(xié)同作戰(zhàn)的,從另一個角度講,也是協(xié)同進(jìn)步的。比如計(jì)算的虛擬化也必須會帶動存儲新一代虛擬化技術(shù)的誕生,并催生網(wǎng)絡(luò)虛擬化。對此,David Meyer表示認(rèn)同,“其實(shí)從我們傳統(tǒng)的這個角度來看,在傳統(tǒng)的物理網(wǎng)絡(luò)領(lǐng)域,其發(fā)展其實(shí)已經(jīng)是比較成熟的了。但我們現(xiàn)在進(jìn)入了一個新的階段,也就是軟件定義。在這一階段中,可以理解為硬件在應(yīng)用層面上的全面虛擬化,而這也是最令人著迷的演進(jìn),并且它的速度正在加快。”
現(xiàn)在,假設(shè)我們把計(jì)算、網(wǎng)絡(luò)和存儲單純的提取出來,如果我們把它放在一個分界線上,即物理和虛擬的。在物理的時代,這三大平臺已經(jīng)發(fā)展到一種極致。而現(xiàn)在正跨過這個分界線,向虛擬化進(jìn)軍,那么各自所獲得的成績?nèi)绾文? 對于過個問題,David Meyer很有興趣,他表示,“如果用擬人化來形容,網(wǎng)絡(luò)虛擬化也就是近幾年的事情,我個人認(rèn)為它確實(shí)處在一個嬰兒時期”,但他強(qiáng)調(diào),在發(fā)展的過程中,可能多種方法或多種路徑來復(fù)合加速這種發(fā)展 。比如在數(shù)據(jù)中心層面,就已經(jīng)開始為其做好相應(yīng)的準(zhǔn)備。“OpenStack就是這一典型的例子,它也是一個非常年輕的一種技術(shù),只有四年的時間?,F(xiàn)在非常熱的OpenDaylight,也是一個年輕的技術(shù),只有一年的時間。所以,就SDN總體來說,雖然正在快速的發(fā)展和演變著,但其實(shí)上非常年輕的,相對于現(xiàn)有物理網(wǎng)絡(luò)的成熟度,顯然還有很長的路要走。”
OpenDaylight體系架構(gòu)
對于存儲虛擬化,在David Meyer看來,其相對來說比SDN成熟一些,但也有限。相較而言,計(jì)算方面的虛擬化成熟度則是最高的,按David Meyer的比喻,如果SDN是嬰兒,那么服務(wù)器虛擬化已經(jīng)可以算是成年人了。“我們也可以到服務(wù)器有著類似的演化過程,在很長一段時間里,服務(wù)器虛擬化其實(shí)是不可用的,”David Meyer 表示,“它那時還是很笨重的,而現(xiàn)在借助新型的虛擬化容器,它的這個重量可能會更加的輕,跟之前相比也更加的簡便。還有更多的演進(jìn),許多公司都在做這方面的事情,所以說它是目前虛擬化中最成熟的,SDN的發(fā)展將與之類似,但會更快。”
軟件定義與軟硬件之間的關(guān)系回到軟件定義本身這個話題,我們又應(yīng)該如何定義它呢?在中國IT圈里,有一些人總結(jié)出了一個觀點(diǎn),就是說未來的一些網(wǎng)絡(luò)設(shè)備、存儲設(shè)備,可能都是定制化的X86服務(wù)器,通過X86在這一通用平臺上部署相應(yīng)的管理或功能性軟件,來具備相應(yīng)專用設(shè)備的能力。那么David Meyer又是如何看待這個問題的呢?
David Meyer表示, “對于X86服務(wù)器,在其上實(shí)現(xiàn)網(wǎng)絡(luò)的一些功能是沒問題的,比如負(fù)載均衡。但是有一些功能短期還是實(shí)現(xiàn)不了的,此外還有就是界面性功能,在將來也可能不太容易實(shí)現(xiàn)軟件定義。”對于原因,一方面就是物理與虛擬之間不可逾越的限制,另一方面則是性能方面的需求。顯然,這個問題要涉及到硬件與軟件之間到底是怎樣的關(guān)系。
David Meyer仍然先用計(jì)算來舉例,其實(shí)很多功能最開始就是通過軟件來實(shí)現(xiàn)的,因?yàn)楸容^容易,就服務(wù)器虛擬化來說,計(jì)算方面的資源虛擬化利用就是一個軟件的功能。“事實(shí)上,IT研發(fā)人員都是會根據(jù)需求慢慢的去發(fā)現(xiàn)一些功能,先做成一種軟件,然后看是否符合客戶的需求。那如果符合了之后我們再把它放在硬件上,從計(jì)算演化的歷史角度來看,其實(shí)軟件和硬件就是來回往復(fù)、交替前進(jìn)的,并沒有一個純粹的界線分明的定義。”
David Meyer 進(jìn)一步解釋,“最開始如果我們比較追求性能的話,那么可能更多的考慮的是用硬件實(shí)現(xiàn),如果我們考慮的是更高的系統(tǒng)靈活性,可能我們更多的考慮的是軟件的問題。”對此,David Meyer早前在思科的工作經(jīng)歷給了他深刻的印象,“當(dāng)時我們收集了一些客戶新需求,先做成一種軟件,我們叫這它Slow Pat,為什么叫這個名字呢?因?yàn)樗?dāng)時的運(yùn)行速度是很慢的,然后我們把這個軟件提交給客戶,看看是不是對方想要的,如果正是他們需要的,我們再把它放在硬件上去實(shí)現(xiàn)。”
總之,David Meyer強(qiáng)調(diào)所有的軟件都是建立在相應(yīng)的硬件基礎(chǔ)之上,它是離不開硬件的。所以說到軟件定義,我們還要看它要定義什么東西,有些東西如果更強(qiáng)調(diào)靈活性,那么就適合軟件定義,但它的前提是不能影響相應(yīng)的效率,否則可能還是硬件實(shí)現(xiàn)比較好,或者是放在一個更為強(qiáng)大的硬件平臺上來進(jìn)行軟件定義。無論是計(jì)算、存儲還是網(wǎng)絡(luò)均是如此。這就對應(yīng)了上文的話題——軟件與硬件的交替演進(jìn)。一開始人們可能在追求某個設(shè)計(jì)時,更多的是從靈活度上去考慮的,最終通過軟件來實(shí)現(xiàn)了這種靈活性,但是隨著這個軟件的演進(jìn),人們又可能會希望在速度、性能、功耗等方面的表現(xiàn)獲得進(jìn)一步提升,從而需要更好的硬件。因此,靈活性與性能,決定著軟硬件交替發(fā)展的主旋律。
這就引出了另一個問題,當(dāng)今的軟件定義更多的基于x86服務(wù)器來實(shí)現(xiàn),由于它的通用化、標(biāo)準(zhǔn)化而使其有著驚人的裝機(jī)量,并擁有強(qiáng)大的生態(tài)基礎(chǔ)環(huán)境,那么是不是可以說軟件定義就是為x86而生的呢?
“完全不是,”David Meyer給出了明確的回答,“當(dāng)前的軟件定義大多基于x86服務(wù)器,是針對當(dāng)前環(huán)境而言的,因?yàn)樗钠占岸雀撸珡脑砩现v,軟件與硬件之間是分開的,并沒有必然的限定關(guān)系,尤其是對于CPU來說。”
結(jié)合之前談到的軟件定義的靈活性與最終實(shí)現(xiàn)的效率、性能表現(xiàn)來對比,我們可以展開豐富的聯(lián)想,比如基于ARM的服務(wù)器,甚至是基于IBM POWER或Oracle SPARC服務(wù)器,都是可以實(shí)現(xiàn)所謂的軟件定義功能,比如將一臺雙插槽/2U的POWER服務(wù)器改裝成一臺存儲服務(wù)器或是一臺SDN設(shè)備,在技術(shù)上肯定是沒問題的,只是愿不愿意或值不值得這么做而已。
David Meyer對此表示贊同,不過更為現(xiàn)實(shí)的未來則是基于ARM服務(wù)器的軟件定義設(shè)備,尤其是網(wǎng)絡(luò)設(shè)備已經(jīng)走在了路上。“將來不可能所有的軟件定義的設(shè)備都是基于x86的,比如負(fù)載均衡、IPS(入侵防護(hù))、防火墻等,也都可以在ARM服務(wù)器上實(shí)現(xiàn),業(yè)界已經(jīng)開始著手這方面的應(yīng)用了。”