2019年6月,VMware 收購了多雲應用交付服務領導企業 Avi Networks,其主要產品是基於軟體的應用交付控制器 (ADC – Application Delivery Controller)。說起應用交付控制器可能很多人還不太瞭解,它的另一個名字叫負載平衡器,這個就人盡皆知了。VMware 完成收購之後,把 Avi Networks 的產品整合到了 NSX 產品家族,並且改名為 NSX Advanced Load Balancer。

 

負載平衡器的主要功能

典型的負載平衡器位於用戶端和應用之間,主要用於控制用戶端對於後臺應用服務的訪問,主要提供以下功能:

  • 動態流量分發:當業務的訪問量很大的時候,通常通過增加後端應用伺服器的數量來提高系統的業務處理能力,這時候就需要負載平衡器按照一定的規則把用戶端的服務請求平均分配給後端應用伺服器,這是負載平衡器最常見的應用場景。
  • 健康狀態檢查:負載平衡器把前端的服務請求轉發給後端,所以它對後端伺服器的健康狀態非常瞭解,如果後端有一台伺服器宕機了,負載平衡器就會把原來發給它的服務請求轉發給其他伺服器,由此實現了業務的高可用性。實際上,負載平衡器是應用高可用 HA 解決方案中的一個常見設計項目。
  • 高級安全特性:負載平衡器需要開放在公網上,這樣它才能被所有的用戶端訪問到, 而後臺應用服務一般都是在內網中,這樣也一定程度上提高了應用安全性。因為所有的訪問請求都要經過它,很多負載平衡器也內置了一些安全特性,如提供 Web 應用防火牆 WAF (Web Application Firewall) 等。
  • 提高新應用發佈的用戶體驗:現代應用涉及到的用戶數量龐大,為了保持良好的用戶體驗,往往採用藍綠發佈、金絲雀發佈這些手段來減少新版本發佈對於現有用戶的影響,這種場景下負載平衡器就起到了一個很關鍵的作用,它可以靈活控制服務請求在新舊版本之間的切換,簡化新版本的發佈過程和優化用戶體驗。

 

負載平衡器示意圖

 

傳統負載平衡器的局限

傳統的負載平衡器都是基於硬體的,雖然在性能上能夠滿足業務需求,但是也逐漸暴露出一些局限性:

  • 價格昂貴:硬體負載平衡器採用專用的硬體構建,普遍要比軟體的解決方案更加昂貴;並且為了搭建高可用解決方案,需要配置兩套硬體互為備份,這就更加增加了部署成本。
  • 缺乏靈活性:為了滿足業務高峰期的訪問需求,負載平衡器都需要按照峰值業務量來進行配置;但是在業務高峰期過去之後 (想想春運訂票和雙11購物節),花大價錢採購的硬體就只能閒置在那裡了。
  • 管理和配置複雜:傳統的負載平衡器都是需要管理員手工來配置的,每台負載平衡器需要逐一配置 (沒有工具),系統的軟體升級更是管理的一大負擔。

 

新一代軟體定義的負載平衡

基於 Avi Networks 技術的 VMware NSX Advanced Load Balancer 給我們帶來了新一代軟體定義的負載平衡器,採用的是控制平面 (控制器) 和資料平面 (服務引擎) 分開的設計,控制器負責管理和控制,服務引擎負責轉發網路流量。這種軟體的應用交付控制方案具有以下優點:

  • 配置簡便:管理員只需要在控制台上做一次參數設置,配置就會自動下發到各個服務引擎。
  • 彈性架構:當業務量上升的時候,控制器會自動地增加服務引擎來提升系統的處理容量;當業務量下降時,可以降低服務引擎數量來減少資源消耗。
  • 靈活性:基於軟體的架構讓使用者購買的處理能力可以在多個應用間共用,而不存在硬體方案所需要重新部署和配置的問題,大減少了處理能力閒置的情況。
  • 支援多雲環境:Avi 的方案不僅支持私有雲,也支持 AWS、Azure 等公有雲環境,可以靈活地在多雲環境下部署使用。

 

 

如果對 VMware NSX Advanced Load Balancer 有興趣的話,可以做一下雲中動手試驗 HOL-2037-91-NET – VMware NSX Advanced Load Balancer (Avi Networks) Lightning Lab,增加一些對於這個產品的感性認識。

 

擴展閱讀

VMware 和 Intel 攜手網路和安全轉型,共同打造虛擬雲網路 (Virtual Cloud Network),為數位化時代確定網路發展前景。虛擬雲網路基於運行在 Intel 架構上的 NSX 技術而構建, 跨資料中心、雲、邊緣環境和任意硬體基礎架構提供無處不在的基於軟體的網路連接,具有以下特點:

  • 跨雲的網路架構為用戶提供端到端的連接
  • 內置於基礎架構的原生安全性
  • 基於軟體而交付的網路具有最大的靈活性

利用這一平臺,無論應用運行在哪裡 (現場或是雲端),用戶都能夠保證應用架構的安全;並且統一所有分支機搆和邊緣環境的網路連接,以支撐業務運行。