search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

面對SDN,我們該怎麼辦?

引言:回顧SDN的發展歷史,可以發現:SDN作為一種新的網路體系結構,對網路學術圈和工業界都產生了深遠的影響。SDN並不是曇花一現的網路技術新概念,而是一場網路領域的技術變革。

我們將如何應對這場變革:SDN初學者如何入門和進階?網工如何在熟悉領域縱深發展?產品經理如何在SDN架構下設計下一代網路產品?創業者如何尋找下一個SDN殺手級應用?投資者如何找到SDN領域的獨角獸?這些問題依然值得討論。

本文相關圖書《重構網路:SDN架構與實現》。

所有新技術的入門都需要快速準確地理解三個問題:SDN是什麼?為什麼需要SDN?歷史起源?

中文好的只需要看衛峰兄的這本書就夠了《深度解析SDN:利益、戰略、技術、實踐》,通讀完此書就算SDN入門了。雖然有些信息稍顯過時,但依然是入門者的必備良藥,據說2017年會出第二版。英文好的可以閱讀《SDN A Comprehensive Approach》這本書。在現有的英文書籍裡面,個人認為這本是比較系統全面的入門級書籍。

澤衛:根據我過去的經驗教訓,切記在網路上閱讀大量碎片文章,這樣的入門學習非常不系統,對於後續的學習非常不利,會產生很多誤解。

入門之後如何縱深發展。澤衛:個人的經驗是:

「Learn SDN by the Hard Way」。什麼意思?簡單來說,就是笨辦法學習SDN,事實上要跨過任何新技術的門檻,一定不要想走捷徑。比如要深入學習SDN發展歷史,至少要弄清楚兩方面的內容:一是定義 SDN 概念和架構背後的人,以及推動SDN 架構走向成熟的標誌性事件;二是最初SDN借鑒了哪些關鍵的技術理念,SDN架構是如何在這些技術原理的支撐下發展起來的。只有一頭扎進去,踏踏實實弄明白每一點技術細節,才是最有效的學習思路。

當然這種說法還是有點虛。到底怎樣通過笨辦法來學習SDN?具體來說,我們需要系統地閱讀一本SDN技術書籍,同時需要系統地學習一門SDN課程。

進階的書籍強烈推薦澤衛和李呈的新書《重構網路:SDN架構與實現》,本書適合入門之後的學習,不但能幫助入門者梳理SDN領域的知識體系,而且能幫助進階者挖掘SDN領域更深層次的信息。對SDN領域的技術概念和知識體系進行了系統梳理。點擊閱讀原文了解這本書的詳細內容。

進階的課程我強烈推薦普林斯頓大學教授Nick Feamster在Coursera上的SDN開放課程:。

相比其他課程,小Nick教授(斯坦福大學SDN之父是大Nick教授)課程的每一部分都有明確的學習目標、課程視頻、實驗內容和相關論文。從2014年開始課程內容逐年更新,每一課時結尾都有Nick教授對相關業內人士的視頻採訪,比如Martin Casado和Jennifer Rexford等。

任何人都可以註冊學習本課程,2017年2月份將開始新的課程,如果你足夠努力,學完還能拿到一個結業證書。這個結業證書含金量較高,據我的了解,國內拿到這個結業證書的人非常之少,我自己也是屢屢堅持,屢屢半途而廢。對於專註SDN科研的入門者來說,我一直在努力推薦《SDN A Comprehensive Survey》這篇總論型論文,再次強調一下,這是目前最完整和全面的一篇總結型論文。這篇論文長達61頁,引用了579份參考文獻,從2014年開始每半年發布一個新版本,全面細緻地介紹了SDN科研領域的方方面面。國內很多SDN課題組,進組的學生人手一份。

澤衛:通過這篇論文的學習,可以快速梳理SDN領域的研究進展和現狀。只有這樣,才能清晰地結合自己的研究方向找到合適的切入點。以前會有SDN方向的學生諮詢:導師讓做做SDN,該怎麼選方向?我的建議是先看看這篇論文,然後自然就知道選擇什麼方向了。

不過,我個人對於國內SDN領域的科研有一個悲觀的論調:如果將SDN的研究分支比喻成一棵大樹,那麼這棵大樹已經枝葉繁茂了,所以留給國內科研機構的大機會已經不多了。也許更好的方式是結合自身在其他領域的積累,比如IoT、大數據、機器學習等,尋找SDN與原來研究領域的交叉點來做文章,或者將SDN理念和架構引入新的應用場景。

我個人的觀察:2016年SDN-IoT領域和NetPL(網路編程語言)領域開始活躍起來,也許這兩個方向在未來兩年會成為SDN科研的熱門Topic。SDN將帶給我們最大的改變就是:從網路工程師轉變為網路開發工程師,把計算機科學中的系統經驗融合進網路系統領域(Bringing the best ideas in Computer Science tonetworking)。

Kyle Mestery(OpenStack Neutron項目核心成員,也是OpenDaylight OVSDB和OVS項目的貢獻者)認為網路工程師需要學習編程技能,去動手寫代碼。成為一名網路開發工程師,第一步就是掌握Linux方面的開發和實踐能力,動手參與主流的網路開源項目,比如開源軟體OpenFlow交換機Open vSwitch、開源控制器OpenDaylight及開源數據中心網路虛擬化項目OpenStack Neutron等。

Kyle:

Kyle總結了現有的主流網路開源項目使用的編程語言。從中可以看出,Python和Java編程語言值得學習。我個人是網路數據平面硬體出身,也學習了一些python語言知識,至少需要能讀懂這些開源項目的源代碼。

網路領域著名博主ScottLowe、Jason Edelman和Matt Oswalt在2015年合寫了一本書:《下一代網路工程師需要的網路編程和自動化技能》。他們寫這本書的目的是為了幫助網路工程師在SDN時代提升競爭力。他們認為網路工程師應該關注系統自動化部署技能,具體包括Linux操作系統基礎、Python編程基礎、JSON和XML等網路數據格式、持續集成和DevOps等。

斯坦福大學SDN創始團隊在SDN領域創辦了多個初創公司,比如被VMware收購的Nicra,被資本看好的BigSwitch,在P4推動下火的一塌糊塗的Barefoot。但是您可能不知道,大Nick教授的三個博士還在2013年悄悄創建了一個初創公司Forward Networks,這個公司的願景看著很虛:Bringing the best ideasin Computer Science to networking。當年OpenFlow剛出來的時候,很多人也這麼看。過去幾年的學習和失敗經驗告訴我,還是跟著大Nick走才是正道。

說了這麼多,簡單總結就是網路工程師趕緊學習計算機編程方面的技能和知識吧!網路系統工程師趕緊惡補計算機系統方面的技能和知識吧!如下是SDNLab的一個開源項目:SDN技能圖譜,大家可以對照一下,看看自己的知識體系還差哪些內容?

個人認為這三種人對SDN的理解和認知要求應該是一致的,尤其是產品經理和創業者。先說說我個人的兩次嘗試。

一次是在大公司內部尋找SDN產品的機會,當時確實選擇了一個很好的方向,現在看來也非常有價值,可惜在公司內部沒有獲得支持。現在回過頭來看,產品方向選對了,可惜整合資源的能力不足,另外插一句:千萬別相信什麼所謂的業界專家,14年我曾經將完整方案請教過一些人,都不看好。2016年卻有一堆人在做這個產品,因為終於看到了市場需求。

另一次是在小公司做SDN產品,一開始就選擇了一個很難做的方向,產品研發和市場開拓對小團隊來說都很難。結果可想而知,必然是失敗。那麼到底網路產品經理應該怎麼辦。我認為最重要的就是弄清楚為什麼需要SDN?不是你為什麼需要SDN,而是你的客戶為什麼需要你用SDN改造原有的產品和服務。

SDN給你的客戶能帶來什麼?更多的網路可編程能力,還是自動化的網路運維能力?這些才是你需要真正關注的。當然,要弄清楚這些絕非易事,「發現問題-用SDN更好地解決-快速推出產品方案」,要做到這一步,還很難。早期推SDN產品的大牛們一定深有感觸。

相比產品經理,創業者更需要步步為營,定義好產品,選好方向才是第一步。你需要足夠好的研發團隊,真正理解傳統網路和SDN的銷售團隊,而且你的產品推出時機要剛好一步不差。大河互聯就是其中做的比較好的。

之前其實跟很多對SDN感興趣的投資者都聊過。2015年之前國內投資者對國內SDN公司並不認可,雲杉網路的發展證明了這一點。當然也跟國內SDN初創公司質量不高有關。我個人觀點:投資者想找好的國內SDN公司,還是需要先梳理一下SDN發展過程中的美國初創公司,其實跟其他領域一樣,目前還是C2C(Copy to China)相對靠譜些。

大河互聯就是例子,雲杉網路也是例子。後面我會專門寫一篇有關SDN初創公司的文章,再詳細解釋。如下是之前一篇分析早期SDN初創公司的文章:

本文作者楊澤衛,相關圖書

《重構網路:SDN架構與實現》

,點此鏈接可在博文視點官網查看此書。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦