由于混合云服務(wù)和容器的普及,現(xiàn)如今的數(shù)據(jù)中心網(wǎng)絡(luò)比以往任何時(shí)候都更加難以被破解。但是如若遵循一條簡(jiǎn)單的路徑,IT人員就可以成功。
在不太遙遠(yuǎn)的過去,數(shù)據(jù)中心內(nèi)的流量轉(zhuǎn)發(fā)其實(shí)很簡(jiǎn)單。一個(gè)IP地址能夠與另一個(gè)IP地址互相通信。這些地址屬于端點(diǎn)——裸機(jī)主機(jī)或虛擬機(jī)與其他裸機(jī)主機(jī)或虛擬機(jī)的通信。這些IP地址之間的路徑被稱為數(shù)據(jù)中心交換機(jī)的路由和橋接表中的條目。
如果一位工程師需要解決兩個(gè)IP端點(diǎn)之間糟糕的性能或奇怪的行為,一個(gè)很好的出發(fā)點(diǎn)是通過查看這些表來了解構(gòu)建兩者之間的路徑。等價(jià)多路徑和多機(jī)架鏈路聚合增加了這個(gè)過程的復(fù)雜性,但總的來說,運(yùn)營商們可以精確地找出任何給定的數(shù)據(jù)中心通信經(jīng)過的確切路徑。
幾乎沒有使端點(diǎn)之間的流量復(fù)雜化。網(wǎng)絡(luò)地址轉(zhuǎn)換,加密或隧道很少出現(xiàn)。這些類型的功能往往位于數(shù)據(jù)中心邊緣,與可信邊界外的設(shè)備進(jìn)行通信。
彼時(shí)的數(shù)據(jù)中心網(wǎng)絡(luò)是很簡(jiǎn)單的,因?yàn)樾枨笠埠芎?jiǎn)單。
現(xiàn)代數(shù)據(jù)中心
現(xiàn)代數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)看起來有所不同,因?yàn)闃I(yè)務(wù)需求已經(jīng)發(fā)生了改變。曾經(jīng)相對(duì)簡(jiǎn)單的數(shù)據(jù)中心現(xiàn)在已然成為應(yīng)用程序運(yùn)行的統(tǒng)一基礎(chǔ)架構(gòu)平臺(tái)。數(shù)據(jù)中心作為一個(gè)整體運(yùn)行;其是應(yīng)用程序交付的引擎。
越來越多的基礎(chǔ)架構(gòu)對(duì)開發(fā)人員及他們的應(yīng)用程序而言是透明的。徹底的現(xiàn)代基礎(chǔ)設(shè)施是開發(fā)人員在其之上部署應(yīng)用程序的抽象。資源池是按需分配的,開發(fā)人員不必?fù)?dān)心基礎(chǔ)設(shè)施的問題。相反,基礎(chǔ)設(shè)施只是工作。
現(xiàn)代數(shù)據(jù)中心還以分布式方式處理安全性,與動(dòng)態(tài)的和拆除的工作負(fù)載相協(xié)調(diào)。不再需要通過中央物理防火墻來強(qiáng)制實(shí)施 安全策略。相反,構(gòu)建一個(gè)中央安全策略,并且一款安全管理器將該策略的相關(guān)部分安裝在受影響的主機(jī)、虛擬機(jī)或容器上。沒有基礎(chǔ)設(shè)施瓶頸阻塞點(diǎn),也沒有難懂的路由要求來實(shí)施這樣的策略。
在一個(gè)較高的層面上,我們一直在描述私有云架構(gòu)。以這種方式抽象的物理基礎(chǔ)設(shè)施允許一個(gè)更簡(jiǎn)單的與公共云的合作。因此,混合云架構(gòu)越來越受歡迎,其使得公眾云工作負(fù)載具備了與私有云工作負(fù)載相同的安全性和連接性。
分層
隨著混合云架構(gòu)成為新常態(tài),重要的是要注意這些趨勢(shì)對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)的影響。數(shù)據(jù)中心不再像以前那樣簡(jiǎn)單的是一個(gè)IP地址與另一個(gè)IP地址之間的通信了,當(dāng)在出現(xiàn)故障時(shí),路由和橋接表將協(xié)商離開。
提供現(xiàn)代數(shù)據(jù)中心靈活性的基礎(chǔ)架構(gòu)機(jī)制依賴于復(fù)雜的網(wǎng)絡(luò)。推動(dòng)這種復(fù)雜性是對(duì)工作負(fù)載隔離,實(shí)施服務(wù)策略和安全性的需要。因此,現(xiàn)代數(shù)據(jù)中心看起來更像一個(gè)層層的蛋糕,而不是大量的IP地址。
在我們的層級(jí)蛋糕的底部是底層網(wǎng)絡(luò)。這個(gè)網(wǎng)絡(luò)是所有其他網(wǎng)絡(luò)服務(wù)的基礎(chǔ)。這也是對(duì)網(wǎng)絡(luò)工程師們而言最熟悉的網(wǎng)絡(luò)。當(dāng)他們進(jìn)入他們的路由和橋接表時(shí),他們就看到了底層網(wǎng)絡(luò)——數(shù)據(jù)中心的基礎(chǔ)。
然而,底層網(wǎng)絡(luò)本身并不能提供混合云所需要的一切。一個(gè)日益增長(zhǎng)的需求是隔離的,其被稱為多租戶。一個(gè)租戶可以是一款應(yīng)用程序,也可以是一個(gè)業(yè)務(wù)單位或一個(gè)客戶。
一個(gè)租戶的流量通過虛擬可擴(kuò)展LAN(VXLAN)封裝技術(shù)與其他租戶的流量隔離。來自一個(gè)段的流量被封裝在VXLAN分組中,在該包裝器中通過網(wǎng)絡(luò)交付并且在另一側(cè)被解封裝。 VXLAN是第二層——覆蓋層,其在我們的基礎(chǔ)底層之上。
其不僅提供流量的隔離,而且VXLAN還可以用于通過網(wǎng)絡(luò)上的特定路徑路由流量。假設(shè)數(shù)據(jù)中心需要通過特定的防火墻和負(fù)載均衡器轉(zhuǎn)發(fā)流量。在現(xiàn)代網(wǎng)絡(luò)中,防火墻和負(fù)載平衡器可能作為虛擬化網(wǎng)絡(luò)功能而存在,可能存在于數(shù)據(jù)中心的任何地方。要將流量精確地路由到需要去的地方,VXLAN封裝可用于將流量流從設(shè)備傳輸?shù)皆O(shè)備,直到它們遍歷了所有必需的設(shè)備。
在我們的疊加層和底層蛋糕中,防火墻規(guī)則形成了另一層。一個(gè)中央策略管理器主機(jī)插入防火墻規(guī)則。每個(gè)主機(jī)最終都有自己的一組規(guī)則,用于控制進(jìn)出設(shè)備的轉(zhuǎn)發(fā)。被稱為微分段,這是一個(gè)確保可擴(kuò)展數(shù)據(jù)中心的安全的實(shí)用方法。
增加了更多的網(wǎng)絡(luò)復(fù)雜性的通配符是容器。容器集裝箱式網(wǎng)絡(luò)是一項(xiàng)新興的技術(shù),由命名空間、代理服務(wù)器和網(wǎng)絡(luò)地址的轉(zhuǎn)換使容器能夠與彼此以及外部進(jìn)行溝通工作,這是另一層。
數(shù)據(jù)中心操作運(yùn)營人員們的麻煩
現(xiàn)代數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)所帶來的復(fù)雜性對(duì)于數(shù)據(jù)中心操作運(yùn)營人員們而言是一個(gè)潛在的問題。大多數(shù)網(wǎng)絡(luò)問題都與連接或性能有關(guān)。兩個(gè)終端應(yīng)該能夠連接但卻未能連接是一類問題。但兩個(gè)終端連接之后不能按預(yù)期快速的實(shí)現(xiàn)通信則是一類不同的問題。
使用數(shù)據(jù)包走查方法(the packet walk method)來排除連接問題。從一個(gè)網(wǎng)絡(luò)設(shè)備到另一個(gè)網(wǎng)絡(luò)設(shè)備,遵循數(shù)據(jù)包到達(dá)其目的地所需的路徑。當(dāng)實(shí)際IP端點(diǎn)已知時(shí),這是直接的。
在現(xiàn)代數(shù)據(jù)中心中,底層用于傳輸VXLAN或其他覆蓋包。除此之外,我們添加防火墻規(guī)則,然后可能添加網(wǎng)絡(luò)地址轉(zhuǎn)換或代理服務(wù);數(shù)據(jù)包走查方法變得更加困難和充滿細(xì)微差別。為了診斷連接問題,數(shù)據(jù)中心操作運(yùn)營人員們需要知道數(shù)據(jù)包的來源和目的地——包括容器,虛擬機(jī)或裸機(jī)主機(jī),管理該數(shù)據(jù)包的防火墻策略,數(shù)據(jù)包封裝和要遵循的服務(wù)鏈。
假設(shè)操作運(yùn)營人員了解應(yīng)用程序的流程,并且是在一家扁平化結(jié)構(gòu)的IT企業(yè)中工作,這并不是那么糟糕。但是,這也并不容易。在橋接和路由表中查找介質(zhì)訪問控制和IP地址只是更精細(xì)的故障排除過程的一小部分。除此之外,現(xiàn)代基礎(chǔ)設(shè)施通常是短暫的,操作運(yùn)營人員們可以解決過去過的難題,但卻無法重建。
性能挑戰(zhàn)甚至更難診斷。管理既定通信的網(wǎng)絡(luò)設(shè)備的絕對(duì)數(shù)量可能涉及一款虛擬操作系統(tǒng)、一個(gè)虛擬管理程序軟交換、一個(gè)虛擬防火墻、機(jī)架頂部交換機(jī)、脊柱交換機(jī),然后反向一直到另一端點(diǎn)。
當(dāng)某些工作負(fù)載在公共云服務(wù)中時(shí),問題將變得更加復(fù)雜。將基礎(chǔ)設(shè)施或平臺(tái)即服務(wù)放在其中意味著添加高延遲和額外的隧道到我們的故障排除過程。
業(yè)界的響應(yīng)
我們被IP問題所困住了。由于我們堅(jiān)持使用IP,同時(shí)需要額外的功能,覆蓋層就在此發(fā)揮其作用了。覆蓋層讓我們能夠引導(dǎo)和隔離流量,而且該功能很重要。借助該功能,我們可以將我們的基礎(chǔ)設(shè)施作為資源池,隨意添加和減少容量。這個(gè)問題成為管理我們添加到我們的環(huán)境中的網(wǎng)絡(luò)復(fù)雜性的問題之一。
而網(wǎng)絡(luò)行業(yè)已經(jīng)通過幾種方式來應(yīng)對(duì)了這一挑戰(zhàn)了。第一是接受。如果我們認(rèn)可復(fù)雜性的存在,那么我們將提供工具,使我們能夠發(fā)現(xiàn)或可視化網(wǎng)絡(luò)上正在發(fā)生的事情。例如,思科為運(yùn)營商們提供了增強(qiáng)的工具,以便在基于應(yīng)用程序的基礎(chǔ)設(shè)施平臺(tái)上解決端到端連接問題。VMware公司最近收購了初創(chuàng)公司Arkin,Arkin公司提供了一款可視化的工具,將與防火墻策略以及VXLAN分段相關(guān)聯(lián)的工作負(fù)載,在GUI中與自然語言搜索引擎配合使用。
有效的故障排除和可視化工具已然成為現(xiàn)代數(shù)據(jù)中心平臺(tái)中越來越重要的優(yōu)勢(shì)。然而,一些人則反對(duì)通過創(chuàng)建避免覆蓋的轉(zhuǎn)發(fā)方案(如果可能的話)來對(duì)該復(fù)雜性作出反應(yīng)。
例如,Romana.io開源項(xiàng)目依賴于分層IP尋址方案,結(jié)合基于主機(jī)的防火墻規(guī)則來創(chuàng)建分段和中央安全策略。開源項(xiàng)目Calico也是類似的。 Romana.io和Project Calico都很有趣,因?yàn)樗鼈兲峁┝宿D(zhuǎn)發(fā)方案,能夠規(guī)模化擴(kuò)展到大型數(shù)據(jù)中心,同時(shí)仍然能夠處理安全和分段需求,而且在這一過程中不會(huì)進(jìn)行覆蓋。
也許最大的問題并不是如何處理網(wǎng)絡(luò)的復(fù)雜性,而是關(guān)于所支持的解決方案。有一種想法是,自動(dòng)化的應(yīng)用將降低人工成本。作為一名在IT基礎(chǔ)設(shè)施業(yè)界有著20年經(jīng)驗(yàn)的老手,我并不認(rèn)為這樣。巨大的復(fù)雜性當(dāng)然需要有很大的技術(shù)支持需求。當(dāng)這方面的魔法消失時(shí),企業(yè)組織不會(huì)希望像他們的供應(yīng)商那樣暫時(shí)擱置問題。他們會(huì)想要有專業(yè)人士準(zhǔn)確的知道系統(tǒng)的相關(guān)問題,并做好準(zhǔn)備修復(fù)。