您好,登錄后才能下訂單哦!
本文轉載自微信公眾號“ 鵝廠網事”(ID:tencent_network),作者:黃翔。
鵝廠是一個業務類型非常豐富的互聯網公司,涵蓋了大型社交流量平臺(微信/QQ)、在線游戲、公有云、媒體(新聞/視頻)、移動應用、開放平臺、互聯網金融等,不同類型的業務都有著自己的技術應用特點、業績目標、成本考量體系,從而產生了對后臺技術支撐能力的不同訴求。網絡作為基礎架構中的重要一環,也面臨著這些海量業務運營帶來的種種挑戰。好在鵝廠是一個專業技術能力較強、內部合作順暢的生態系統,將“不斷提升用戶體驗”作為統一的技術目標,很多事情就可以分布式合作去完成,基于這一特點,作為鵝廠基礎網絡平臺的架構師也深感幸福,因為可以更收斂、更聚焦的去解決一些有共性的重點問題——標準化的基礎網絡平臺。
怎么搭建這個龐大的基礎網絡平臺本身是一個非常復雜的議題,網絡技術本身在這其中可能只占據不到20%的分量,為了讓網絡規劃、建設、運營形成一個健康的體系,并不斷提升業務系統面向用戶的體驗,需要考慮非常多的問題:包括網絡技術選型、公司資源發放趨勢、端到端的運營體系、網絡技術發展趨勢、硬件供應鏈管理、綜合成本把控、迭代與穩定運營之間的Trade-off、風火水電、國內/國際通信環境等等因素,而這其中每一項幾乎都可以寫幾本書來講了。本文則聚焦于網絡本身,筆者爭取用通俗易懂的描述,簡單的分享一下鵝廠構建基礎網絡平臺的思路。
先看一張鵝廠基礎網絡平臺的整體架構圖(如下),網絡之所以會演進到今天這個樣子,主要是因為鵝廠網絡的價值主體是不斷構建和優化的兩個能力——“連接服務與服務的能力”與“連接服務與用戶的能力”,網絡架構的發展必須圍繞著兩個能力來演進。同時,再根據上層業務特點(離線/在線)、地理資源豐富程度(地/電)、ISP網絡布局、災備要求、綜合成本構成等因素,將整體基礎網絡平臺分為三大塊:
數據中心網絡聚焦于“連接服務與服務的能力”,在整個網絡投資板塊占據很高分量,通過多年的積累,數據中心網絡已經形成幾萬網元的體量。面對如此體量的網絡,一定是需要有一套嚴密的構建體系來支撐的,包括設計、建設、運營、供應鏈管理等環節,因為隨便一個錯誤意味著不可想象的影響范圍和返工量。按照常理來看,數據中心網絡是離業務最近的網絡,而如此大的體量應該是運營壓力最大的部分,其實這個問題在鵝廠并沒有想象的那么嚴重,前文提到過,鵝廠是一個專業能力較強、內部合作順暢的生態系統,經過了多年的磨合,上層業務和基礎網絡形成了很好的合作默契,業務系統架構(尤其是平臺級業務)的健壯性、容災設計、調度能力達到了非常高的水平,使得基礎網絡平臺的架構師可以用標準化、健壯性好的技術來滿足幾乎絕大部分業務對數據中心網絡的要求,從而可以有更多精力集中在數據中心網絡相關更底層、更專業領域內深耕細作。
關于鵝廠數據中心網絡的玩法,或者說要運轉數據中心網絡需要具備什么能力,將這些年的經驗和思路可以稍作總結如下:
· 數據中心網絡與基建環境(Campus/Building)深度結合進行整體設計和交付,采用多級CLOS方案進行Campus-level/Building-level的整體端到端設計,包括設備功耗規劃、設備上架布局、布線規劃、物理故障域規劃等方面,以達到綜合架構、建設、成本、維護上的最優解。要從方法論高度對數據中心組網的CLOS結構有深入研究(上圖是Sigcomm論文中G家的數據中心網絡的邏輯圖),這個議題其實沒有想象的那么簡單,是一整套綜合考慮交換機成本、光成本、風火水電環境、網絡技術等一些列問題的方法論體系,關于CLOS網絡怎么搭建,鵝廠架構師甚至總結出了一整套公式算法,后續會開設專題進行探討。
· 要對交換網絡體系架構有較深入的理解,這是網絡架構設計最基礎的技術儲備部分,無論是自研交換機還是商用交換機,都對技術開發、測試能力、基礎技術的掌握能力有較高的要求,這里面涉及的點包括交換芯片、光部件、系統協議棧、對SDK使用的積累等部分。
· 對行業現狀和趨勢的整體分析能力,對行業供應鏈的整體把控能力,并且可以針對行業環境的變化具備敏捷的適應能力。比如隨著服務器接入速率的不斷提高,在數據中心網絡總成本中,光的比重越來越高,要能提前洞察到這些趨勢和變化,并結合自身的情況調整戰略和架構。
· 海量標準化的數據中心網絡生產已經成為貫穿全年的常規工作,需要有一整套貫穿架構設計、建設、運營、擴容、資產、變更、退役等生命周期線上自動化管理工具系統,才能保證IDC生產業務的健康運轉,鵝廠在2014年重構了一整套這樣的工具系統,并不斷優化迭代,從架構設計到機房退役,都可以在線上完成。
· 運營工具平臺需要從多維度對數據中心網絡進行立體監控,包含了白盒監控方法,比如針對網元本身的告警管理與收斂;黑盒監控方案,比如Full-Mesh的Probe反映網絡健康狀況;還包括與上層業務之間的映射和互相聯動,比如鵝廠最大的流量平臺微信有大量的服務器和一整套網絡質量監控系統,與網絡平臺合作一同快速發現故障并聯動操作隔離。
· 對SDN方法論的正確使用,是需要根據場景來構建SDN體系的工作內容和效用,SDN在數據中心網絡更多的是針對大規模網絡的Routing適應性問題、集中鏈路狀態維護、擁塞管理、故障屏蔽等方面發力,非常有針對性的解決問題,而不是SDN for ALL。
邊緣網絡(海外)
邊緣網絡(Edge)聚焦于“連接服務與用戶的能力”,其主要任務就是能將鵝廠的服務以最短的路徑、最好的質量送到全球各地用戶的手上。國內的邊緣網絡普遍以靜態對接ISP的形式存在,海外則以BGP對接為主,本章節主要對鵝廠海外的邊緣網絡架構進行介紹。
海外ISP數量眾多,導致全球Internet是一個非常復雜的網絡環境,如果鵝廠所有的服務都是從海外的Data Center直接送給當地的幾個大ISP從而觸達全球每一位用戶的話,是非常難做到給各地用戶都提供非常好的網絡體驗的。鵝廠花了大力氣來解決這個問題:
· 鵝廠部署了很多資源來獲取全球用戶觸達鵝廠各地服務的探測和質量數據,作為業務開展和網絡加速的依據,從而可以制定出有針對性的架構方案和建設計劃。
· 邊緣網絡用于連接各個ISP,這個連接我們稱之為“出口”,出口的類型我們從架構上分為兩種:基于Region的主出口Edge,和用于區域網絡加速的Edge-POP。
· Edge作為基于Region的主出口往往靠近Data Center,連接了大量的ISP,作為該Region的缺省出口。
· Edge-POP作為區域加速的覆蓋點,其規劃和建設的節奏是綜合眾多依據來考慮的,包括當地網民數量、上層業務規劃、覆蓋質量、當地通信環境、綜合成本等因素。
· 所有的Edge和Edge-POP可以看成一整個資源池,承載于DCI網絡上面。
邊緣網絡在技術上也會遇到很多挑戰,即多出口管理能力、流量調度能力、故障恢復能力等。在很早的時候,管理多出口和調度流量還使用的是傳統的網絡手段,經常會因為某一個出口的質量惡化,鵝廠網絡工程師需要手工登錄到網絡設備上用腳本去調整路由策略,以牽引流量去往質量更好的出口,隨著出口數量的不斷增加,不管是在網絡規劃方面還是手工優化流量方面,都變的越來越復雜和力不從心。舉一個簡單的例子,當只有兩個出口的時候,規劃和優化都非常簡單,要么雙活要么主備,誰出問題就關掉誰,動態路由協議會自動收斂,看起來非常簡單,但試想當出口的數量有幾百個甚至上千個的時候,如何規劃這些出口的使用規則?正常情況下每個出口走哪些服務或者用戶的流量?故障或者質量惡化情況下這些出口之間的備份關系如何?還要結合帶寬、成本、互聯ISP網絡內部負載情況等因素來進行綜合考慮和設計,這個就變成了非常復雜的議題了,曾幾何時,鵝廠的出口網絡設備上有著幾千行的路由策略命令,有的跟規劃有關,有的跟優化有關,有的跟處理故障有關,網絡運營變的越來越復雜,而且出口的數量還在迅猛增長。
幾年前,我們就意識到如果不重構這一塊的設計,遲早有一天會玩不下去,正當SDN的浪潮席卷而來,我們借鑒了SDN的思路,并花了不短的時間來構建這一塊的能力,形成鵝廠網絡的一個非常重要的競爭力,這個能力的核心就是多出口的集中控制,我們內部稱之為 “用上帝視角來選擇出口和調度流量”。簡單的來說,我們將所有出口的帶寬、路由、流量、質量、成本、IP與AS對應關系等信息采集或輸入至中央控制系統中,再開發出一套符合我們業務要求的算法,實現集中計算,保證各ISP、各地的用戶都能以當下的基礎設施條件下,以最好的網絡質量訪來問鵝廠的服務,計算完成后再將執行策略下發到轉發設備從而牽引流量落地。目前,這一整套體系已經在現網落地,同時,我們還在這個平臺上構建了一套服務層,讓上層業務可以自行開發APP使用這套集中控制系統來實現自己的需求,比如在DDOS就近清洗與一鍵封堵方面、公有云客戶流量自動切換出口方面、平臺級業務區域質量優化方面等。
DCI廣域網絡
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。