技術雜談-再談軟硬SDN(2)

以下文章來源於微信公衆號:網絡裏賣藝的小青年 ,作者我就是那個KK

不好意思,本文有點長,需要閱讀10-15分鐘。

上一篇文章得到了很多朋友的反饋,軟硬SDN各自有各自的優勢和特點,對於之前的文字,有兩個反饋。

第一個是文字上的錯誤,在我的文章裏,提到了“據我所知,國內的AWS,Azure和GCP,國內的BAT,軟件SDN的方案還是居多”,此處有一個筆誤,這裏的國內應該改成國外,還有朋友提到,這些互聯網企業應該全部是軟件SDN的方案,在這裏採用這樣的理解,針對於雲的部分,比如業務開通,遷移,安全功能等建立這些內容,應該是軟件SDN來實現,針對於雲基礎設施裏面,關於多廠家硬件交換機的初次部署,自動化配置上線,以及監控的部分,應該是軟件自動化來完成,我把這種理解爲硬件SDN的提供的功能之一,這也是我爲什麼說軟件SDN方案居多,而沒有說全部的原因所在。

第二個是一個叫“二馬”網友的留言。

雲計算蓬勃發展,技術更新迭代,不僅需要團隊持續更新知識體系,也需要組織架構、管理模式作出相應調整,更需要工作思維轉變,以前各職能團隊自掃門前雪的情況需要突破,比如devops團隊,google的SRE,都是爲了打破原有原有豎井式職能團隊的隔閡,提高團隊協作效率。

我覺得這樣的思考非常有意義,雲的變化,技術往往只是工具,技術之外可能需要的更多。

好吧,言歸正傳,還是那句話,本文從大牛廠商的文章說起,再次強調,本文絕對不是針對或者否定特定廠家,還是前文那句話,結合原文延伸開來,給我們另一個視角去看待,山有南坡北北坡,橫看成嶺側成峯而已。

原文鏈接如下,建議大家耐心看看。
DCN 學院派丨數據中心網絡自動部署,軟硬SDN如何選擇?

本文的上半部分參考是原文的前三個層面,鏈接如下,溫故知新。
技術雜談-再談軟硬SDN(1)

下半部分,我們從性能開始。

● 談及性能

原文提出:

由於硬SDN在交換機硬件上甚至芯片上來處理,性能上確實遠勝軟SDN。軟SDN依賴的vSwitch也在持續往這個方向努力,比如疊加DPDK,智能網卡卸載等“圍魏救趙”方式,性能問題確實得到了一些緩解,各廠家數據普遍提升到十多G,但相比硬SDN能力仍然差距較大。有些卸載技術能否規模商用還沒有形成行業共識,有些還處在創新實驗階段,而且引入這些輔助技術時又擴展了軟SDN的配套邊界和複雜度,當然也增加了成本。

我們必須要肯定的一點,軟件SDN單純從性能上的考量,一定和硬件SDN存在差距,但是,是否硬件“遠勝”SDN,那可能就需要用數據來考量。以openstack爲例,早期爲什麼會使用硬件SDN,確實OVS本身的性能確實不讓人滿意,而硬件可以有效地承擔解決這個瓶頸。然而,時過境遷,各種技術類似於DPDK,SR-IOV,以及智能網卡的興起,軟件SDN從未停止性能上追求的腳步,在保留原有靈活性的同時,努力去滿足實際業務的需求,而且客觀的講,商用的案例比較一兩年前,已經不限於星星之火,如果按照以往標準,硬件SDN性能打5星好評,軟件性能一顆星的話,現在把軟件達到3.5甚至於4星都有可能,很多網卡,系統廠商的測試指標,以及公有云的商用案例已經說明了這些。

更主要的是:選擇任何一個技術,都是綜合性的考量,是性能和靈活性均衡的結果,在上雲的過程中,我們看到有案例是從軟件遷移到硬件,也有案例從硬件遷移到了軟件,也有硬件和軟件不斷地交替實現,恰恰說明了,不管是硬件還是軟件,都在性能這個層面上不斷的追求進步和完美,如同一個馬拉松的歷程,雖有短暫的差距,但是都在你追我趕的過程中。

● 開放和集成

文中提到:

企業市場細分市場衆多,不同企業對包括服務器的廠家和型號、虛擬化平臺、雲平臺等不同部件也有不同的喜好或經驗,二者誰更能匹配這種開放集成的訴求呢?由於軟SDN依賴服務器vSwitch,它需要配套底層平臺軟件,甚至匹配虛擬服務器型號支持。由於不同虛擬層軟件的差異性,導致了單個vSwitch產品無法通配所有虛擬層平臺而需要獨立配套的產品。硬SDN則避免了這些鎖定,由於控制點在硬件交換機,能普遍適應下層接入的IT資源生態,如不同廠家服務器和不同虛擬化平臺,以及雲平臺產品。

回到我的看法,如果我們按照整體規劃的邏輯,雲平臺是整體的調度-計算,存儲和網絡資源,虛擬化平臺去承載這些實現,SDN是介於雲平臺和虛擬化平臺之間,對上要可以和雲平臺有效溝通,對下需要和虛擬化準確實現,從雲平臺的角度,不管硬件還是軟件SDN集成,都是靠API的對接來完成,二者在實現上並無差異,而對虛擬化的平臺如openstack,或者k8s或者vmware的集成,軟硬件實現的落地點就不一樣。

軟SDN如下圖所示:

技術雜談-再談軟硬SDN(2)

軟SDN的目標是可以虛擬化網絡層統一部署,來實現一致性的網絡聯通以及管理,這就意味着,如果你希望實現軟件SDN,就需要對軟件SDN的適配程度(主要是操作系統以及內核,虛擬化平臺),具備一定的瞭解,同時也要考慮是否支持主流的平臺。

硬件SDN如下圖所示:

技術雜談-再談軟硬SDN(2)

硬SDN的目標是保持原有的虛擬化網絡層不變,通過硬件來實現網絡聯通和管理。而這也就意味着,如果是用硬件實現,在虛擬化網絡層的部分放棄了統一,仍然保留原有的部署,通過硬件交換機來實現對底層虛擬化的適配,相比較而言更爲簡單。

但是並不能說明硬件交換機可以適配所有的平臺,能適配所有平臺的條件是,虛擬網絡層不做任何的SDN動作,可以直接把流量透傳上來,而虛擬網絡層其實恰恰是執行網絡策略相對合理的位置。

前面提到,軟件SDN的目標是可以在虛擬化網絡層裏實現統一,也是有條件的統一,他的技術路線一定是先滿足大部分的雲平臺,進而考慮其他虛擬化方式,例如VMware,就需要考慮本身是私有化平臺,軟件SDN如何去與之適應,要採用什麼樣的方式與其兼容,這一點的思路和硬件SDN是一樣的。

因此,談到開放和集成,兩者的目的一致,各自有各自的實現方法,從我的目前的認知來說,各有千秋,說句牆頭草和事佬的話,軟也好,硬也好,各有各的門道兒。

但回到“鎖定”這事兒上,讓軟件SDN背上“鎖定”這個鍋,可能需要重新琢磨琢磨。

前文提到:硬件SDN的控制點在硬件交換機上,基於此我們在追問一下?

誰的硬件交換機呢??

參考一下前面硬件SDN的實現圖形,我們假定有三個虛擬化平臺,分別爲V1,V2和V3,假定硬件廠家爲一家A,此時所有的SDN設計都是V1-V3和A的對應,這個邏輯沒有問題,但是如果業務規模增長之後,對於硬件交換機的品牌,我們有兩種選擇:

  1. 依然選擇A家,這樣可以保證SDN對的一致性。
  2. 選擇增加B家,這時帶來的複雜的排列組合問題,V1-V3不僅需要和A家的SDN產生對應,也需要對B家的SDN產生對應,如果再加一個C家,組合更多。

由此產生的話題包括:

  1. A家的SDN軟件能夠兼容B家的硬件嗎?
  2. A家的整體SDN可以和B家的整體SDN實現網絡側的對接嗎?
  3. 在SDN業務邏輯實現上,其他網絡功能設備(如防火牆,路由器)可以是多品牌嗎?

這些或許都不是問題,因爲我說過,每一家的方案都有自己的優秀之處,用各種技術來將客戶的業務邏輯通過硬件SDN的方式呈現出來,就如同房子裝修一樣,如果想簡單易行,那麼就找一個裝修公司,所有的東西都全部交給他們搞定,或者直接買一個精裝修的房子,既有好處,也會有遺憾。

這些或者又都是問題,本身硬件SDN其天生的基因就是,軟件和硬件緊密集合,這也就決定了你無法在硬件上去靈活的選擇,我們不去評價商業利益和廠商策略,至少在技術實現的邏輯上,硬件SDN存在這樣的現狀,我們不應,也無需迴避。

而我的觀點還是很“中庸”,是否有更合適的“軟件”和“硬件”攜手的方案呢?我知道理想很豐滿,但我們不應因現實的骨感,而放棄對美好事物的追求。上一篇文章提到了AWS爲代表的國外雲企業,以及阿里云爲代表的國內雲企業,在他們公用雲的設計中,軟SDN負責雲網絡,硬SDN負責設備管理(而且是多廠家的模式),可以作爲我們架構設計的一個借鑑,我在京東上預定了本《企業數字化基石》的書,我希望從阿里的描述中學習更多,作爲後面文章的參考。

● 成本,以及場景

還是引用原文:

業界不少人認爲軟硬SDN之爭最關鍵的兩點便是可靠性和成本。性能問題最後歸到底也可以看爲成本的一個部分。在這場賽跑中,一邊是軟SDN通過服務器成本來置換網絡資源,包括性能疊加和規模管理引入的成本。另一邊則是網絡設備商的硬件能力提升快速消化掉硬SDN的成本。哪個效率曲線跑的快,哪個就更有優勢。這一點上,目前硬SDN有明顯優勢。從實際項目中取得信息看,硬SDN方案交換機已經基本消化了SDN的成本,和非SDN交換機的價格基本一樣,這得益於這幾年芯片集成能力飛速發展。反觀軟SDN,vSwitch的數量龐大加上運維年費,價格也並不便宜。

這裏關於硬件SDN的描述是非常準確的,尤其提到,隨着芯片能力的提升,我把這個話題延伸一下,總結起來可以是這麼幾句話。

  1. 10GE和25GE光模塊的成本下降,使得服務器側和交換機側在在網絡方面的整體成本下降。
  2. 從一個小技術點分析,VxLAN分佈式網關已經成爲交換機標配,芯片的快速迭代,使得最低的接入層交換機都可以幾乎具備SDN的全部功能。
  3. 所謂的SDN交換機和非SDN交換機,就是功能的支持能力,隨着時間的推移,兩者一定會趨於一致,如同過去所謂二層交換機和三層交換機的差異一樣,但是SDN和非SDN對的交換機價格差異是客觀存在,究竟是不是基本一致,差又差了多少,就要看市場的定價如何。

從分析成本而言,成本既包括產品購置的成本,也包括學習的成本,維護的成本,產品更新替代的成本,一個個掰開看, 硬件軟件之間,說不定誰貴誰便宜,即便把時間拉長也是如此,我覺得真的需要具體問題具體分析。

能夠考量成本最直接的方式是什麼?回報或許是一個考量,也就是ROI(投資回報率),在企業的IT投資裏面,ROI是相對較難評估的,因爲IT從來都是花錢的部門,如何評估直接帶來經濟效益呢?這個話題又太大了。

在我看來,除了要講企業的整體收益納入到IT的投資回報中之外,還可能有如下幾個指標,例如IT規模增加的情況下,IT人員的成本是否線性增加,如果沒有增加,也是隱形的收入,所謂沒多花錢,就是省錢。再比如與以前業務的IT流程比較(這裏說的是傳統業務通過IT業務的實現,比如上線新產品,新系統等等),效率是提升了,還是降低了?是更靈活了,還是更復雜了?在樸素一點,IT人員做了這些,業務人員到底有沒有感到“舒服”了,自己運維是不是感到“輕鬆”了?這些隱形的東西,可以在實踐中,作爲成本考量的一些標準。

從成本的話題再回到場景的考量上,文中提到的這個場景的“錨定”,就需要我們進一步反思。

原文提到:

但具體到不同場景上,軟SDN展現了其靈活的用武之地。比如在一個不再增長的傳統業務數據中心,客戶無意過多投資網絡改造,而老舊的交換機不支持SDN,這時軟件SDN方式用服務器資源置換SDN能力會是一個好的選擇。畢竟對一個沒有增長的業務不必要去大動干戈。硬幣的另一面,如果預期業務要持續增長時,仍然建議採用硬SDN的方式來建設或逐步改造,時間越長回報越大。

在這個說法中,在傳統數據中心的場景下,建議使用軟件SDN去置換SDN能力,但是前文說道,硬SDN在成本上有明顯優勢,那爲什麼在老的數據中心場景下,又建議使用軟SDN呢?畢竟SDN這件事,不管軟件還是硬件,對於老的數據中心,都可能是“回爐改造”的過程,在前文中並沒有提到在傳統數據中心和新興數據中心的成本參考,而在後文又緣何要把軟SDN框定在傳統數據中心的“藩籬”之內?

如果是我的話,我可能要換個說法,各位看是否合適:

對於不再增長的傳統業務數據中心,業務已經固定,客戶無意過多投資網絡改造,老舊的交換機不支持SDN(其實這些年,這樣的數據中心似乎越來越少了),與其說大動干戈進行改造,不如保持不變,維持原有業務的連通性和邏輯,當新的數據中心建設完成之後,將業務遷移過去,慢慢完成新老交替。

而在新的數據中心建設中,投入資源去進行調研和學習,在瞭解自身能力半徑,確定業務發展的思路,雲平臺的選擇,技術發展上的方向之後,綜合考慮文中提到性能和靈活性,擴展性和穩定性,開放性和集成度,成本和收益的種種要素。

我相信,行業千差萬別,技術也層出不窮,但千變萬化之中,總有普適性的道理可以遵循,總有常規的邏輯可以分析,總有成功或者失敗的案例可供參考,而我們得出的結論並不是硬件SDN和軟件SDN誰更是主流。而是這個答案,能否幫助你在實際的業務中達到要求,解決問題,實現增長。

所以你要是問我的答案是什麼,對不起,我真的很難直接告訴你,因爲我的答案,未必就是你的,我也在不斷的學習,不斷推翻自己的結論。

在這個旅程中,我看到了互聯網公司對性能的要求,對靈活性的追捧,也看到了金融行業對穩定性的執着和對創新的渴望,我看到了製造業對物聯網,工業互聯網的思考,也看到了政府和公衆事業,對自我業務IT重塑的決心。

數字化醫療,新零售,無人駕駛,5G,各種新的業務場景帶來了企業數字化轉型的各種可能,這其中,有失有得,有固守,亦有革新,如果你讓我究竟SDN的路該如何走,那我們不如找個機會一起坐下來。

聊一聊,看一看……

PS:唉,寫到這裏,又超了不少字,很多人已經不愛看超過3k字以上的微信文章了,不過我也懶得再去爲了分割而分割,文字也是一個記錄,僅從記錄本身而言,多少字並無關係。下一期打算寫一些技術類的文章,還請大家多多監督,避免爛尾。

TF Live丨KK/建勳:多雲、SDN,還有網工進化論
技術雜談-再談軟硬SDN(1)


技術雜談-再談軟硬SDN(2)

技術雜談-再談軟硬SDN(2)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章