作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與新應用遞送方案的介紹與推廣。

在網誌系列文章內,前前後後我們花費了非常多篇幅與大家介紹NSX Advanced Load Balancer方案,從效益、使用場景、產品架構、名詞解釋、特定功能說明等,總共已經有五六十篇了吧。談那麼多當然是建議各位把資料中心內的應用遞送方案逐步轉向NSX Advanced Load Balancer,別一直把預算花在傳統方案上啦。但回到實務面,難道鼓吹這些,是要和大家強調這是個無敵產品,所有場景都適用,每個應用都可以跑的呱呱叫,毫無缺點,誰不用就是傻了嗎?

沒有啦。雖然NSX Advanced Load Balancer是個非常好的產品,但應用遞送一直是個成熟的市場,非常多尊敬的友商原本就做得相當好。但因應到核心應用逐步轉向敏捷式、流水線開發,且底層要能運作於不同環境(私有雲、公有雲)及不同平台(虛機、容器),需要時能快速擴充效能與更新版本。此時當然企業會發現,傳統的應用遞送方案在新需求上逐漸力有未逮。在前面的多篇文章內,我們和大家強調了採用NSX Advanced Load Balancer可以取得下圖內列出的多種好處,是傳統廠商不見得能做得很好的:

但接下來系列文章的重點要反其道而行,我想和大家談一談,哪些應用遞送的場景,是NSX Advanced Load Balancer方案『不適合』的。若我和客戶直接進行需求討論與方案規劃,卻碰到這些特定的場景,且用戶端的應用、環境無法改變,我也不會一直堅持非得把NSX ALB放進來不可,用傳統方案做也無妨。但當然,這樣的狀況並不會很多啦~~

細部列表一個個討論前,本文後續我想先強調一個觀念:NSX Advanced Load Balancer是一個提供應用遞送方案的『服務構件』。與傳統方案不同,NSX ALB的定位並不是一台『網路設備』。

以前當我們談到傳統應用遞送方案時,除了叫Load Balancer這些名稱外,常常出現的名詞是”Application Switch”,或中文也常常會說『七層應用交換器』。什麼意思呢?這隱含了,雖然這個設備可以提供應用層的服務,但它『先是一台交換器』。這個『網路設備』的意思是

  • 有固定的硬體規格:網卡有多少個多快、CPU/Memory/Storage數量、雙電源支持、LCD面板、設備管理機制
  • 採用特定硬體晶片提供運算降低CPU負載
  • 對應不同型號的設備,有明確的流量支持規格:設備Throughput、四層 / 七層連線數、新增連線數、加密效能
  • 支持完整的底層網路設備功能:包含二層交換器功能如VLAN / Trunking、三層閘道、動態路由協定支援、NAT機制等等

舉個例子。當我們角色是網路 Presale 工程師時,很常會協助客戶在RFP內做負載平衡方案的項次規格建議。下面是一個『模擬』的規格案例,雖然我猜想大家應該會覺得你曾經在什麼地方看過,但真的,不是你以為的那個案子啦:

由舉例內可以看到,在談到真正負載平衡的功能前,1~7項除了第3項外都是典型的『網路設備規格』。第三項則是針對上層應用網路流特別定義七層以及加密的處理能力,因為傳統網路設備通常僅需要處理到第三層或第四層而已。

看到這樣的規格後,網路Presale會做什麼呢?會開始去找各個廠商負載平衡器的Datasheet,找能夠對應上述規格的型號。這邊我就不方便把競爭友商的Datasheet或網站資料貼出來了,但我想大家應該可以很明確感受到,所謂傳統負載平衡器是『網路設備』是怎麼一回事。

但NSX Advanced Load Balancer不是一個網路設備。NSX ALB是一個提供應用遞送的『服務構件』:

  • 這個服務構件可以運作在實體機、虛機、公有雲等不同資源上。底層硬體的規格不同,處理效能就不同。
  • 所以此服務主要是使用CPU提供運算,並非特定硬體晶片機制
  • 這個服務構件是『可擴充』的,可利用底層多台機器來提供單一應用高效能服務。因此,單台構件的效能上限也沒那麼重要
  • 這個服務構件主要功能沒有包括擔任『網路交換器 / 路由器』這一項,設計上並不是用來作為底層網路架構的一環,或當作後端伺服器的閘道出入口

雖然都提供應用遞送功能,NSX Advanced Load Balancer與傳統硬體負載平衡器其實架構上真的是兩種不同的方案,真要說起來,NSX ALB還比較接近Reverse-Proxy方案的配置方式。這樣的設計差異讓NSX Advanced Load Balancer可以很容易地提供本文前面的新功能優勢,但同時在對於傳統應用的支援上,某些地方也並非強項。下篇內我會就哪些情境並非NSX ALB應用的最佳場景,與各位進行討論。