對話思科架構(gòu)師 ACI要打破什么?
思科ACI架構(gòu)從2013年底被提出到現(xiàn)在,走過了2個(gè)年頭。選擇它的客戶已經(jīng)近2000家,其中選擇其Nexus 9000系列的客戶有1700家,選擇了ACI核心應(yīng)用策略基礎(chǔ)中心APIC的用戶,根據(jù)思科最新透露的數(shù)據(jù)已經(jīng)有近500家。而且ACI的每次技術(shù)演進(jìn)總能牽動(dòng)產(chǎn)業(yè)的神經(jīng),即便是這樣,ACI的潛在價(jià)值還不為大多數(shù)用戶所知曉,尤其是中國用戶。思科ACI的系列文章《ACI是SDN技術(shù)嗎?》,這篇文章解讀了思科ACI對ONF白皮書《軟件定義網(wǎng)絡(luò):網(wǎng)絡(luò)新常態(tài)》中所提及的SDN諸多挑戰(zhàn)的理解,以及詳細(xì)剖析了思科各部分組件如ACI Fabric、APIC(應(yīng)用策略控制器),GBP(組策略模型)等組件的實(shí)現(xiàn)方法和功能。
但ACI真如文章所闡述的那樣,完全可以滿足SDN目前所有的需求?以及ACI如何做到后發(fā)先至?與其他SDN架構(gòu)相比,ACI自身的優(yōu)勢如何體現(xiàn)?ACI構(gòu)建之初的邏輯是怎樣的?等等話題,IT168獨(dú)家對話了思科大中華區(qū)首席解決方案架構(gòu)師馬元騏和思科大中華區(qū)數(shù)據(jù)中心交換機(jī)產(chǎn)品線產(chǎn)品總監(jiān)李少杰。
打破網(wǎng)絡(luò)架構(gòu)底層的束縛
在網(wǎng)絡(luò)基礎(chǔ)協(xié)議,以及架構(gòu)形成的過程中,有許多有趣的事情。比如早期的以太網(wǎng)等標(biāo)準(zhǔn),在其誕生之初并沒有被業(yè)界廣泛認(rèn)可,馬元騏談到,“當(dāng)初最不被看好的,反而衍伸為最后被廣泛使用的標(biāo)準(zhǔn),從而造成了網(wǎng)絡(luò)技術(shù)發(fā)展中產(chǎn)生了許多問題的來源。”這隱含的意思,就是在傳統(tǒng)網(wǎng)絡(luò)架構(gòu)中,基于物理設(shè)備、固定IP、VLAN域等已經(jīng)駕輕就熟的功能和手段,當(dāng)面臨云、虛擬化的時(shí)候,反而使得網(wǎng)絡(luò)成為了制約其發(fā)展的因素。
在ONF的白皮書中也做了這樣的闡述,如豐富的網(wǎng)絡(luò)協(xié)議和功能顯著提高了網(wǎng)絡(luò)復(fù)雜性,VLAN的隔離策略,降低了業(yè)務(wù)變更的靈活性;而當(dāng)虛擬機(jī)發(fā)生遷移的時(shí)候,在當(dāng)前網(wǎng)絡(luò)需要跨數(shù)百或數(shù)千網(wǎng)絡(luò)設(shè)備手動(dòng)配置安全和服務(wù)質(zhì)量(QoS)策略,工程繁雜,而且手工配置容易出錯(cuò);當(dāng)新業(yè)務(wù)需求來時(shí),要對網(wǎng)絡(luò)架構(gòu)進(jìn)行擴(kuò)展則意味著對端點(diǎn)、服務(wù)和帶寬等等大量的規(guī)劃和重新設(shè)計(jì)。
滿足云環(huán)境的基礎(chǔ)架構(gòu)要更加靈活、彈性、規(guī)模擴(kuò)展上更加簡單。馬元騏認(rèn)為“SDN誕生之初,公認(rèn)的是在廣域網(wǎng)中去調(diào)配路由的分配,而經(jīng)過這些年的發(fā)展,SDN依然沒有形成在數(shù)據(jù)中心中比較理想的實(shí)現(xiàn)模型。”馬元騏在判斷目前SDN還不夠完善的同時(shí),也隱約解釋了思科ACI后發(fā)的原因。因?yàn)橐獙⒁呀?jīng)廣泛使用的以太網(wǎng)、TCP/IP等技術(shù)標(biāo)準(zhǔn)打破,需要更多的思考。
所以思科希望將基礎(chǔ)架構(gòu),尤其是網(wǎng)絡(luò)底層的限制打破,特別是還要保證以太網(wǎng)、TCP/IP等邏輯還在。只是當(dāng)網(wǎng)絡(luò)對業(yè)務(wù)商業(yè)化實(shí)現(xiàn)造成困擾時(shí)間,將它們打破。他舉例道,“今天服務(wù)器、虛擬機(jī)到底配置了怎樣的IP,應(yīng)該處于哪個(gè)VLAN,這些對用戶都不重要。重要的是知道服務(wù)器A到服務(wù)器B之間應(yīng)不應(yīng)該產(chǎn)生關(guān)聯(lián),下一跳是連到服務(wù)器C,或者其他。來完成用戶的業(yè)務(wù)流程,中間是需要安全、策略來滿足它的條件,才是業(yè)務(wù)實(shí)現(xiàn)最重要的。”
ACI在構(gòu)建之初的邏輯就是,從應(yīng)用部署的邏輯性、關(guān)聯(lián)性來談底層架構(gòu)如何部署,ACI以這個(gè)為著眼點(diǎn)出來作為主要的設(shè)計(jì)理念。
打破策略變更的緊密耦合
傳統(tǒng)的網(wǎng)絡(luò)架構(gòu)到底有什么束縛?答案是,網(wǎng)絡(luò)協(xié)議和功能、轉(zhuǎn)發(fā)和策略的緊密耦合。因?yàn)檫@種耦合,策略中的變更可能會(huì)給轉(zhuǎn)發(fā)帶來不利影響。在現(xiàn)網(wǎng)環(huán)境中,最大的沖突產(chǎn)生在了系統(tǒng)應(yīng)用開發(fā)部門和IT運(yùn)維部門之間,而且這種沖突越來越無法調(diào)和。
系統(tǒng)開發(fā)人員會(huì)考慮功能模式是怎樣的?如何串接起來?有幾個(gè)功能組件與下一級的功能組件溝通,在系統(tǒng)應(yīng)用開發(fā)人員中就是這樣,他們對底層實(shí)現(xiàn)的IP、位置、VLAN這些根本不關(guān)心。而當(dāng)系統(tǒng)開發(fā)人員與IT運(yùn)維團(tuán)隊(duì)談的時(shí)候,往往遇到的反饋是VLAN只剩多少?IP網(wǎng)段只剩幾個(gè)位置?你的這些需求在現(xiàn)網(wǎng)無法實(shí)現(xiàn)。
所以,為了在數(shù)據(jù)中心基礎(chǔ)設(shè)施提供靈活性和簡單性,需要新的語言描述連接的抽象化意圖,以使最終用戶不需要豐富的網(wǎng)絡(luò)知識(shí)來描述連接的需求。此外,這個(gè)意圖應(yīng)該從網(wǎng)絡(luò)轉(zhuǎn)發(fā)語義中解耦,以便最終用戶可以描述策略,讓策略中的變更不會(huì)影響轉(zhuǎn)發(fā)行為。
所以思科提出了GBP的邏輯模型,全稱是(Group-Based Policy),基于組的策略。它分離了關(guān)于應(yīng)用連接要求的信息與關(guān)于底層網(wǎng)絡(luò)基礎(chǔ)設(shè)施的詳細(xì)信息。需要特別指出的是,思科創(chuàng)造了GBP的模型,還把它推送到了OpenStack和OpenDaylight中的工作項(xiàng)目中,OpenDaylight稱基于組的策略是“應(yīng)用為中心的策略模型”。而在思科ACI的邏輯實(shí)現(xiàn)上被稱為ANP(Application Network Policy)。
馬元騏提到,“ANP是思科在ACI中的策略實(shí)現(xiàn),GBP是思科將模型推送到開源社區(qū)的說法。也是希望開源社區(qū)能夠基于APIC獲得價(jià)值。”
GBP或ANP的優(yōu)勢在于:
1.更簡單的以應(yīng)用為中心的表達(dá)策略:通過創(chuàng)建策略來映射應(yīng)用程序語義,這個(gè)框架提供了更簡單的自我記錄機(jī)制來捕捉策略要求,而不需要非常了解網(wǎng)絡(luò)。
2.提高自動(dòng)化:分組結(jié)構(gòu)允許更高級別的自動(dòng)化工具簡單地同時(shí)操作網(wǎng)絡(luò)端點(diǎn)組。
3.一致性:通過分組端點(diǎn)和應(yīng)用策略到各組,該框架提供了一致的方法來處理策略變更。
4.可擴(kuò)展策略模型:由于這種策略模型是抽象的,沒有綁定到特定網(wǎng)絡(luò)部署,它可以簡單地捕捉連接、安全、QoS等。
▲圖:可更加直觀的理解GBP模型的實(shí)現(xiàn)。
理解了GBP,但它畢竟是一個(gè)邏輯,是一個(gè)模型。落實(shí)到實(shí)體上就是ACI的控制器APIC。APIC是通過基于組策略表示的基于策略配置的控制節(jié)點(diǎn),就是ACI架構(gòu)中的控制器。它的主要功能是為思科ACI架構(gòu)及設(shè)備提供策略控制和策略解析機(jī)制。有了APIC,用戶不再需要觸碰每個(gè)網(wǎng)絡(luò)元素以及手動(dòng)確保所有策略而得到適當(dāng)?shù)呐渲谩?/p>
馬元騏特別提到了APIC的幾個(gè)關(guān)鍵點(diǎn)。“其一APIC并不直接參與數(shù)據(jù)平面轉(zhuǎn)發(fā),因此集群中所有思科APIC元件的斷連并不會(huì)影響轉(zhuǎn)發(fā)功能,這提高了整個(gè)系統(tǒng)的可靠性。即便是APIC遭到安全威脅,那么除了新的策略和分發(fā)失效之外,其他數(shù)據(jù)轉(zhuǎn)發(fā)不受影響。其二APIC的可視化,透過APIC對底層的了解,讓用戶很直觀的了解的設(shè)備的等級、網(wǎng)絡(luò)的等級,應(yīng)用端到端等級,如掉包率增加了與否,延時(shí)增加與否等等。其三,APIC可滿足用戶當(dāng)前的應(yīng)用開發(fā)邏輯需求,隨后當(dāng)用戶梳理清楚自身的應(yīng)用模型后,用戶可以用自己定義的應(yīng)用模型轉(zhuǎn)述底層的基礎(chǔ)架構(gòu)該怎么支撐。其四,APIC在策略的下發(fā)方面可以通過圖形化的方式,也可以將APIC的邏輯釋放給用戶,由用戶通過開發(fā)腳本來進(jìn)行策略的下發(fā)。其五,關(guān)于OpFlex,它是思科專為交換基于組的策略信息而開發(fā)的新策略協(xié)議,它是南向API。Opflex是從邏輯到物理呈現(xiàn)的協(xié)議,是屬于APIC與物理設(shè)備溝通的對話機(jī)制,功能是將APIC的策略邏輯呈現(xiàn)在物理的Config上,物理設(shè)備也會(huì)反饋給APIC,邏輯功能是否能夠?qū)崿F(xiàn)。OpFlex也可用于其他的控制器。”
此外APIC還支持多租戶和基于角色的訪問控制,具體可參考《ACI是SDN技術(shù)嗎?》一文。
對于ACI的基礎(chǔ)Fabric,馬元騏也表達(dá)了對數(shù)據(jù)中心扁平化的見解。目前思科ACI有成功的在網(wǎng)案例,Spine-Leaf結(jié)構(gòu)中Leaf節(jié)點(diǎn)140臺(tái)的規(guī)模。
他談到,“在物理結(jié)構(gòu)上,目前Spine-Leaf的結(jié)構(gòu)跟傳統(tǒng)的三層結(jié)構(gòu)差異性并不大,其實(shí)只是視覺邏輯上的感受不一樣,為什么OSI二層結(jié)構(gòu)中需要那么多標(biāo)準(zhǔn)和協(xié)議?為什么談到高可用性就必須要主備,都以二為單位呢?其實(shí)組網(wǎng)協(xié)議和標(biāo)準(zhǔn)完全可以將這些拋開。那么二層的問題就會(huì)迎刃而解。Spine-Leaf是有固定的布線模型的要求,Spine與Spine之間不能有橫向連接,Leaf與Leaf之間中間不能有橫向連接,每個(gè)Leaf要能夠連接到每個(gè)Spine,這是數(shù)據(jù)中心網(wǎng)絡(luò)扁平化的絕對要求。這個(gè)是解決東西向流量增長的方法。這個(gè)模型是有數(shù)學(xué)模型可以驗(yàn)證每個(gè)硬件盒子上聯(lián)和下聯(lián)端口各有多少,可以算出拓?fù)浯蟾攀窃鯓拥摹?rdquo;
通過以上的介紹,用戶就完全可以從網(wǎng)絡(luò)功能的虛擬資源實(shí)現(xiàn)層面、控制器層面和基礎(chǔ)架構(gòu)連接層面完全理解思科在GBP、APIC和Fabric方面構(gòu)建ACI的想法了。#p#
打破業(yè)界對思科的固有認(rèn)知?
不管是封閉,還是ACI是硬件架構(gòu),是思科在面對用戶,面對市場,都會(huì)被每每質(zhì)疑的論調(diào)。雖然思科在公開或非公開的很多場合都會(huì)做出解釋,但往往會(huì)引來更多的解讀和批判。
在《ACI是SDN技術(shù)嗎?》一文中,對思科ACI的開放API、合作伙伴生態(tài)系統(tǒng)做了說明,引用到這里。后面還有思科二位專家的QA。
思科ACI支持可擴(kuò)展的合作伙伴生態(tài)系統(tǒng),其中包括4-7層網(wǎng)絡(luò)服務(wù);虛擬機(jī)管理程序;以及管理、監(jiān)測和云編排平臺(tái)。所有合作伙伴都使用思科ACI的開放API和開發(fā)工具包、設(shè)備封裝和插件,以及OpFlex。
開放API:思科ACI支持通過REST接口的API接入、GUI和CLI以及一些軟件開發(fā)工具包(包括Python和Ruby)。思科APIC支持跨HTTP/HTTPS的REST API,并綁定XML和JSON編碼。這個(gè)API同時(shí)提供類級別和樹級數(shù)據(jù)訪問。REST是分布式系統(tǒng)軟件架構(gòu),多年來,它一直是領(lǐng)先的Web服務(wù)設(shè)計(jì)模型,并已經(jīng)逐漸取代簡單對象訪問(SOAP)和Web服務(wù)描述語言(WSDL)等其他設(shè)計(jì)模型。
合作伙伴生態(tài)系統(tǒng)和OpFlex:南向API—OpFlex是開放的可擴(kuò)展策略協(xié)議,用于在策略控制器(例如思科APIC)和任何設(shè)備(包括管理程序交換機(jī)、物理交換機(jī)和4-7層網(wǎng)絡(luò)設(shè)備)之間的XML或JSON傳輸抽象策略。思科的合作伙伴包括英特爾、微軟、Red Hat、Citrix、F5、Embrane和Canonical,現(xiàn)在他們正與IETF和開源社區(qū)合作來規(guī)范OpFlex,并提供參考部署。
思科將APIC裝進(jìn)了盒子,部署在了其UCS服務(wù)器上。每當(dāng)思科要將其某項(xiàng)強(qiáng)大的功能和軟件綁定在硬件產(chǎn)品上時(shí),業(yè)界總會(huì)吹毛求疵一些。李少杰指出了幾點(diǎn),“其一,APIC部署在UCS服務(wù)器上,能夠給APIC更好的安全健壯性;其二,思科有UCS服務(wù)器產(chǎn)品,如果其他網(wǎng)絡(luò)供應(yīng)商有自己的服務(wù)器產(chǎn)品,相信也會(huì)是這種解決方案;其三,APIC從誕生之初就沒有考慮過APIC單獨(dú)提供;其四,將APIC單獨(dú)以軟件形式提供給用戶,完全沒有技術(shù)上的問題。如果用戶接受ACI概念,還會(huì)在乎一臺(tái)UCS服務(wù)器嗎?”
在與思科兩位專家的interview之后,思科又對“將APIC放在UCS中,以硬件形式提供”做了進(jìn)一步的郵件說明,回復(fù)如下:“在軟件領(lǐng)域的任何實(shí)現(xiàn)成果都極易受到安全威脅的影響。思科也確實(shí)考慮在軟件或者虛擬機(jī)環(huán)境中率先引入APIC控制器。然而,參與過alpha/beta測試的客戶們給出結(jié)論稱,思科需要提供更進(jìn)一步的保護(hù)手段、而非單純對底層操作系統(tǒng)及應(yīng)用程序進(jìn)行強(qiáng)化。APIC設(shè)備當(dāng)中通過TPM建立起基于硬件的安全密鑰機(jī)制,旨在進(jìn)一步鞏固這套控制器平臺(tái)。借助這種方式,利用代碼插入方式攻擊該控制器的行為將在很大程度上得到避免。”
不過,APIC或其他廠商的控制器是通過軟件提供給用戶,還是落到標(biāo)準(zhǔn)化的服務(wù)器上,最終還是由市場和客戶決定吧,思科做出了硬件方式的選擇而已。
木秀于林,風(fēng)必摧之;行高于人,眾必非之。當(dāng)記者提到業(yè)界的一些質(zhì)疑聲時(shí),二位專家是這樣解答的。
記者:思科ACI晚了嗎?
馬元騏:思科在前期一直在觀察SDN的發(fā)展,SDN最初的發(fā)展雖然很熱鬧,但缺少明確的方向性,思科不會(huì)為了搶市場的話語權(quán)而輕易說,網(wǎng)絡(luò)必須要向SDN轉(zhuǎn)變,而是要從思科所擁有的龐大客戶群的角度出發(fā)了解SDN的需求,呈現(xiàn)到底如何。現(xiàn)在我們后發(fā)先至了。
記者:ACI封閉嗎?
李少杰:首先要看ACI是否解決了客戶的問題,其次思科ACI的接口都是開放的,如果客戶有能力的話,完全可以做一個(gè)控制器來管理APIC都行。將GBP、Opflex推送給開源社區(qū)和標(biāo)準(zhǔn)組織就是最好的證明。
記者:怎么看待白牌交換機(jī)的發(fā)展?
馬元騏:白牌交換機(jī)如果沒有自研芯片和軟件就沒有未來,而這兩個(gè)方面是需要積累的。同時(shí),小型機(jī)轉(zhuǎn)向x86就是過往最好佐證。
李少杰補(bǔ)充:白牌交換機(jī)在初期也許可能沒有問題,但后續(xù)軟件版本的升級、維護(hù)和技術(shù)支持誰來保證?
記者:Opflex是私有協(xié)議嗎?
馬元騏:任何技術(shù)在它的成長和完善階段都可以認(rèn)為是私有協(xié)議,但隨著不斷成熟并商用,它的私有性會(huì)越來越弱化。
記者:中國用戶對ACI買賬嗎?
李少杰:目前在中國市場,在半生產(chǎn)網(wǎng)、實(shí)驗(yàn)局的用戶總計(jì)大概有20幾家。
結(jié)語:不管是SDN,NFV仍然還處于不斷完善和變化中,標(biāo)準(zhǔn)組織、廠商和用戶的磨合都讓這次深層次的架構(gòu)性變革走的踏實(shí)。我們觀察到,思科憑借ACI在SDN市場的影響力正在加大,客戶的選擇就是見證。采訪中思科還透露了ACI未來的發(fā)展方向,如更多的彈性,與Docker的結(jié)合,支持Openstack的后續(xù)發(fā)展,以及定義4-7層服務(wù)Service Chaining等等。
















 
 
 

 
 
 
 