SDN技術為簡化接入網絡、支持應用創造了機會,但是大多數公司即便采用了SDN技術,但是對待網絡的態度仍然跟從前一樣,造成的結果是網絡仍然保持了原有的復雜性。容器管理平臺的興起也真正的從應用的角度對部署進行了簡化,SDN技術的應用無疑推進了簡化的進程。
SDN公司試圖解決的一個問題是防火墻規則爆炸問題,防火墻訪問控制表(ACLs)是出了名的難以理解和處理。例如,我在前東家供職的時候的一個用戶防火墻設備上有50000條防火墻規則,他們也不知道刪除任意一條規則是否會影響應用程序。負載均衡器也有類似于防火墻的這種問題。數以百計的應用程序產生上千條駐留在硬件負載均衡器上的規則,這很顯然存在問題。
解決這個問題的方法之一是創建網絡應用程序中心,許多IT網絡廠商宣稱構建了以應用為中心的基礎設施和網絡,他們對這個問題的看法就好像網絡管理員通過在運行應用程序的虛擬機中添加網絡對象如防火墻、負載均衡器、過濾器、包檢測,以創建一個應用程序的網絡流一樣。
上圖說明了網絡公司應用程序的創建過程,從外部開始,到防火墻,再通過負載均衡器(LB),然后到應用程序(虛擬機,VMs),然后到另一個數據庫(DB)。每組應用中的服務都是插入到網絡流中,這些服務需要編程和維護。通過使用SDN技術來解決這個問題,雖然靈活性得到了保證,但是網絡的復雜性并沒有根本改變。這種由硬件構成的網絡復雜性會轉變成一個非常難管理且十分昂貴的系統。
其他SDN公司嘗試通過更換硬件設備和虛擬機(VMs)來解決這個問題,在這種情況下,用戶得到的是一個VM運行應用程序,另一個VM運行防火墻或者包分析器。這解決了一些問題,但是也帶來了新的問題——現在網絡中有了更多的VMs,如何把這些VMs連接起來。
虛擬化革命簡化了系統部署,但是在網絡中添加了過多的OS終端。更多的虛擬機意味著需要更多的IP、子網,網絡也變得更加復雜,同時東西向流量也暴增,隨著新的廠商采取創建虛擬機來解決這個問題,成本也越來越高。
容器如何滿足應用的彈性需求如果將應用程序放到應用平臺,特別是容器管理的平臺而不是VMs,然后你就可以站在應用程序的角度開始考慮應用程序的網絡需求了。
從容器中運行的應用開始,并將之命名為“route”。
在上圖中,有兩個非常簡單的對象,對管理員和應用所有者來說非常容易理解。該平臺可以隱式插入應用所需的任何網絡對象。
通過直接將基于策略的網絡控制應用到應用程序中,很容易擴展或者縮小應用程序的規模,并自動添加或刪除網絡對象。
這個模型能夠在你添加更多復雜對象時更加容易擴展,如在這個模型中添加一個數據庫:
上圖所示看上去簡單的結構實際上是非常復雜的網絡拓撲結構,當應用平臺管理該平臺下的網絡對象,如軟件防火墻、過濾器、負載均衡器都可以神奇的不經過管理員就插入到網絡流量中。添加一個數據庫并且自動獲得一個過濾器。
這種類型的隱式網絡與容器管理平臺已經司空見慣了,這些平臺使用SDN技術與容器技術一起,同時還結合防火墻、負載均衡器、過濾器、服務發現以及其他一些網絡功能。當通過策略實現時,該平臺隱藏網絡的復雜性并創建應用程序編程人員可以操作和利用的易于部署、開發的網絡對象。容器+SDN+平臺+PaaS可以為應用程序創建一個新的范式。