本文是云杉網(wǎng)絡(luò)工程師張攀對(duì)當(dāng)前開(kāi)源網(wǎng)絡(luò)技術(shù)現(xiàn)狀的一些思考和探索。
開(kāi)放網(wǎng)元、釋放數(shù)據(jù)的價(jià)值從2012年開(kāi)始至今,網(wǎng)絡(luò)行業(yè)明顯是O字輩的天下。所有我接觸過(guò)了解過(guò)的組織和項(xiàng)目,都鮮有不含“Open”這個(gè)單詞的。
ONF/OPNFV/ONOS/ODL/OVS/OpenStack/OPEN-O……名單還可以變得更長(zhǎng)。但對(duì)在網(wǎng)絡(luò)行業(yè)語(yǔ)境中“開(kāi)放”這個(gè)詞的理解,以我的觀察,業(yè)界也是逐漸演進(jìn)的。最開(kāi)始的理解,是接口的開(kāi)放和統(tǒng)一,將鐵皮盒子打開(kāi),統(tǒng)一控制,所謂的“集中”與“解耦”,就是那個(gè)時(shí)候的SDN。所以有了當(dāng)時(shí)大熱的OpenFlow、有了ONF和ODL以及那個(gè)時(shí)候會(huì)議中密集的對(duì)SDN這個(gè)概念的討論和紙上談兵。
">
就像所有極端激烈的革命一樣,理想永遠(yuǎn)也填不滿橫亙?cè)诂F(xiàn)實(shí)之間的鴻溝。完全的集中和解耦在現(xiàn)實(shí)部署中遇到了很多無(wú)法解決的困難,在這里不再一一贅述。SDN在“激情燃燒”的歲月之后,又回到了“螺旋上升”的一般規(guī)律。這個(gè)時(shí)候的“開(kāi)放”,已經(jīng)不再僅僅是一個(gè)北向或者南向接口,它的含義變得復(fù)雜、多變而曖昧。
這個(gè)時(shí)候OPNFV/ONOS/Open-O作為后起之秀開(kāi)始嶄露頭角。而各廠的代表在會(huì)議上除了滔滔不絕地介紹自家的產(chǎn)品有多虛擬多靈活對(duì)接了多少開(kāi)源項(xiàng)目之外,還是不免露出諱莫如深的破綻。當(dāng)所有人都在談?wù)撘患碌臅r(shí)候,恰恰證明這件事正是缺失的那塊拼圖。在2016年之前,我們對(duì)“開(kāi)放”的理解,很多時(shí)候還停留在Teenage Sex的階段:所有人都在談?wù)摚瑓s沒(méi)人知道怎么做,但我們認(rèn)為別的人都在做,所以只能聲稱自己也在做……在我們真正達(dá)到一個(gè)新的階段之前,彎路其實(shí)也是必不可少的……
實(shí)際網(wǎng)絡(luò)用戶的需求,帶來(lái)了對(duì)技術(shù)的反思。如今所談的開(kāi)放,已經(jīng)拋棄了以前的那些技術(shù)上的繁文縟節(jié)和政治上的盤根錯(cuò)節(jié),而真正關(guān)注于網(wǎng)絡(luò)的細(xì)枝末節(jié)。它要將一張網(wǎng)絡(luò)中流轉(zhuǎn)的每一束流量,每一個(gè)報(bào)文,每一次以太網(wǎng)口的閃爍都展示給你。人們?cè)絹?lái)越明白,之前之所以說(shuō)網(wǎng)絡(luò)“封閉”,并不是因?yàn)闆](méi)有CLI的編程接口,并不是因?yàn)闆](méi)有x86和Linux服務(wù)器上的NFV,而是因?yàn)榭床坏降降资裁礀|西在網(wǎng)絡(luò)中流動(dòng),它們過(guò)去如何、現(xiàn)在如何、未來(lái)又將如何,無(wú)人知曉。封閉的不是網(wǎng)元,而是網(wǎng)線。而現(xiàn)在的開(kāi)放,就是要將網(wǎng)線中的流量一層層剝開(kāi)。剝出來(lái)的不僅僅是前端的一幅幅UI統(tǒng)計(jì)曲線,而是整個(gè)網(wǎng)絡(luò)中最基礎(chǔ)、也是最有價(jià)值的數(shù)據(jù)。依靠這些數(shù)據(jù)可以產(chǎn)生真正的價(jià)值。而開(kāi)放,就是要取得這些數(shù)據(jù)、分發(fā)這些數(shù)據(jù)、處理這些數(shù)據(jù)、總結(jié)這些數(shù)據(jù)。這里仿佛又回到了SDN最初給大家構(gòu)筑那幅愿景,唯一不同的是,這次已不再是一座空中樓閣。
開(kāi)源項(xiàng)目為什么做不好?業(yè)界對(duì)開(kāi)源的熱捧,給這些大名鼎鼎的項(xiàng)目籠罩上了一層不切實(shí)際的光環(huán)。單單從產(chǎn)品質(zhì)量上來(lái)講,開(kāi)源項(xiàng)目不必,也不能做好。因?yàn)橐坏┯幸粋€(gè)開(kāi)源項(xiàng)目可以滿足大部分客戶的需求,那么這個(gè)行業(yè)的生態(tài)就宣告終結(jié)。如果任何人都可以連上網(wǎng),點(diǎn)幾下鼠標(biāo),就可以免費(fèi)下載一個(gè)滿足需求的軟件,那誰(shuí)還會(huì)參與這個(gè)生態(tài)呢?生態(tài)越繁榮,開(kāi)源當(dāng)然也可以火爆,但還是說(shuō)明免費(fèi)的軟件有各種需要被填補(bǔ)的空缺。
在多數(shù)會(huì)議里,如果演講人是開(kāi)源軟件的“一線用戶”,那么很少會(huì)聽(tīng)到當(dāng)前那幾個(gè)熱門開(kāi)源軟件的好話,理由也多是不具備生產(chǎn)環(huán)境商用的能力和價(jià)值,存在各種各樣的坑和二次開(kāi)發(fā)的必要。在我看來(lái),現(xiàn)階段正是下一代商用產(chǎn)品青黃不接的時(shí)間段,這種時(shí)候,誰(shuí)都希望能開(kāi)展一場(chǎng)轟轟烈烈的開(kāi)源造神運(yùn)動(dòng)。即能拉幫結(jié)派,又能收到一些代碼、標(biāo)準(zhǔn)和市場(chǎng)的實(shí)效,為自家的商用產(chǎn)品鋪墊,何樂(lè)而不為呢?當(dāng)自家投入甚多的開(kāi)源軟件“商用版本”出來(lái)之后,再借著用戶習(xí)慣占領(lǐng)市場(chǎng),不是最有效的方式嗎?當(dāng)越來(lái)越多的廠商有了自己成熟的商用產(chǎn)品,那個(gè)時(shí)候再來(lái)看開(kāi)源軟件,恐怕只能用“有高潮就有低谷”來(lái)形容了。
但開(kāi)源并不僅僅是個(gè)炮灰的角色。很多大廠在介紹自己的商用產(chǎn)品的時(shí)候,總是不忘最后加上一句“回饋社區(qū)”來(lái)彰顯自己一覽眾山小的氣度。但這個(gè)鏈條往往到此為止,開(kāi)源社區(qū)的大部分價(jià)值,甚或最大的價(jià)值,還沒(méi)被攫取和利用。
在我看來(lái),開(kāi)源社區(qū),是最好的營(yíng)銷平臺(tái)、是點(diǎn)擊率最高的公眾號(hào)、是精準(zhǔn)投放的廣告渠道。很多廠商在開(kāi)源社區(qū)投入很大但宣傳的很少,或者宣傳方式有那么一點(diǎn)點(diǎn)簡(jiǎn)單粗暴。導(dǎo)致自己的貢獻(xiàn)要么說(shuō)出去讓人反感,要么說(shuō)出去沒(méi)人知道。如果能把自己的貢獻(xiàn)和參與以群眾喜聞樂(lè)見(jiàn)的方式投放出去,對(duì)技術(shù)知名度和品牌價(jià)值的作用,恐怕就像在北京買了一套房。畢竟開(kāi)源的本質(zhì)不是免費(fèi)而是匯聚。有匯聚就會(huì)有廣泛的聯(lián)系,有了聯(lián)系和交換,就有可能。
編程是一種心理活動(dòng)雖然上面談到了一些不一定經(jīng)得起時(shí)間考驗(yàn)的看法和見(jiàn)解,但無(wú)論是構(gòu)建網(wǎng)絡(luò),還是開(kāi)發(fā)一個(gè)產(chǎn)品,最終依賴的基石還是人。這幾個(gè)人組成的團(tuán)隊(duì)才是改變真正“make a difference”的土壤。他們的所思所想,他們對(duì)產(chǎn)品的投入和態(tài)度,將會(huì)唯一性地、長(zhǎng)時(shí)效性地,影響最終的產(chǎn)品。要想產(chǎn)品做得好,一定要先把團(tuán)隊(duì)建好。而對(duì)一個(gè)(技術(shù))團(tuán)隊(duì)來(lái)說(shuō),最重要的東西——很直觀的——就是編程開(kāi)發(fā)。
但我們對(duì)編程開(kāi)發(fā)的認(rèn)識(shí)還不夠深入。編程到底是什么?編程當(dāng)然是一件腦力、技巧與經(jīng)驗(yàn)相結(jié)合的活動(dòng),但這些并不是它的本質(zhì)。從根本上講,開(kāi)發(fā)編程是一種心理活動(dòng)。沒(méi)有人能不帶任何情緒地敲代碼,也沒(méi)有人能不把他的情緒敲到代碼里。很多時(shí)候,我們需要不斷地(自我)激勵(lì),需要不斷地獲得心理獎(jiǎng)賞和反饋,才能把這項(xiàng)工作做好。因?yàn)榕c其說(shuō)我們是搞定了Bug,搞定了算法,毋寧說(shuō)是搞定了自己的心態(tài)。對(duì)于穩(wěn)定心態(tài)來(lái)講,最有用的事,可能并不是懷有一個(gè)盲目的信仰,而是有一個(gè)完整的邏輯鏈條,能夠支撐這一行行代碼的意義。雖然這些可能只是一個(gè)小小的commit,但它可能代表的是一副網(wǎng)絡(luò)世界未來(lái)的景象。
包括我自己在內(nèi),很多時(shí)候也會(huì)埋首于一堆技術(shù)細(xì)節(jié)之中,而沒(méi)有抬頭看看的空隙。就像爬山,看不到山頂在哪,也不知道為什么要翻越這么多溝壑,再加上與一個(gè)行為方式完全“反人類”的計(jì)算機(jī)打交道,心理遭受的傷害可想而知。如果不及時(shí)“修復(fù)”,這種心理活動(dòng)最終都會(huì)反映在產(chǎn)品之上。而若是你理解了自己的產(chǎn)品,理解了它將會(huì)在這個(gè)行業(yè)里所起的作用之后,你不但可以知道為什么要前進(jìn),并且可以量化今天前進(jìn)了多少米,還能知道你在地圖中的絕對(duì)位置,那么在心理方面的準(zhǔn)備,就是足夠了,這也其實(shí)就是開(kāi)發(fā)一個(gè)好的產(chǎn)品的全部過(guò)程。
作者簡(jiǎn)介:
張攀,云杉網(wǎng)絡(luò)工程師,專注于x86網(wǎng)絡(luò)軟件的開(kāi)發(fā)與性能優(yōu)化,深度參與ONF/OPNFV/ONOS等組織及社區(qū),曾任ONF測(cè)試工作組副主席