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

以前我們在銷售負載平衡器的方案時,不同型號的Datasheet非常重要,在客戶的開標規格大家必須要列出買到的這台硬體可以提供的效能。比如說幾個重要的參數:SSL TPS (進行SSL加密交易時的每秒可新增交易量)、SSL Throughput (進行SSL加密交易時的可支持頻寬)、Concurrent Sessions per Second (同時可支撐連線數)等等。不同的原廠會針對客戶需求提出要採用哪種型號的設備,也會特別說明因為有哪些特殊硬體晶片的設計,所以自己設備的效能特別強大,等等。

 

也因此,不單純是在賣Avi的時候,我們以前在賣NSX Data Center方案時,到現在也都還會被客戶問到,軟體吃CPU的效能,要怎麼與硬體來比呢?專用晶片的效能一定更好啊。

 

對的,但這只有在『單一設備』的比較下。在現在的軟體定義方案,底層傳輸層可以隨需求擴張,甚至分散到多台來處理。單台防火牆的硬體效能很強又如何?如果一個機櫃40台vSphere都可以提供防火牆功能,哪種效能好?單台負載平衡器的硬體晶片很棒又怎麼樣?如果一個應用服務可以分散到十台伺服器/虛機上面做SSL加解密,哪個效能好呢?

 

在Avi方案內並不是在賣硬體。用戶購買了授權之後,可以用虛機、實體機、容器等不同的方式來進行部署,而部署的地點也可以是私有雲環境或公有雲環境。請大家想像下面的狀況:

 

  • 以Avi的文件,單一CPU核心約能夠處理每秒新增2,500個SSL TPS交易的要求(若採用ECC, Elliptic Curve Cryptography加密機制)

 

  • 既然我們沒有限定硬體,假設用虛機,那這個虛機如果是2個vCPU,就有5,000個SSL-TPS的運算能力,8個vCPU就可以支持每秒兩萬個新增交易,32個vCPU就是每秒八萬個。這代表著我們可以很容易去Scale-Up / Scale-Down Avi的服務引擎來因應應用的臨時需求

 

  • 更進一步,Avi方案可以透過Active/Active的機制讓一個應用需求的負載平衡服務,同時在多台服務引擎上運作。如果有兩台1-vCPU的虛機做A/A,就是5,000個SSL-TPS,9個虛機的推斷容量就是22,500個SSL-TPS了。這代表著我們可以很容易去Scale-Out / Scale-In 多個Avi的服務引擎來因應需求

既然不限定底層虛機/實體機的規格,又可以多台部署,我們就有可能打出很高的效能了。目前Avi自己的紀錄是在GCP可以打出12M SSL-TPS,4 Tbps流量的能力,請大家想像,如果客戶在短期內需要非常大量的交易量(短期促銷、節日搶票…),此時哪種做法比較好呢?

 

  • 購買一組很大很大很大的負載平衡器硬體,一年就用幾天

 

  • 在需要的時候,短期內以Scale-Up / Scale-Out的方式取得大量的負載平衡處理能力,需求結束後再Scale-Down / Scale-In 縮回來

 

Avi這種架構解決了一個很重要的負載平衡規劃問題:在應用上線前,其實沒人能抓準到底需求效能是多少。在之前的硬體架構,因為害怕設備買太差撐不了應用需求,因此大家即使預算不足,也仍然忍痛要買大台的設備,結果平時設備的利用率都很低。而反過來,可能一年就某幾天需求量特別大,超過了購買的硬體設備規格,此時我們也沒法去加點CPU加點RAM就提升硬體的效能,那怎麼辦,重買更大的嗎?

而在Avi的架構下,如果估算不對,初期配置的服務引擎太大,那此時只要把Service Engine縮小 (Scale-Down),然後把多出來的Service Core給其他應用使用就好了。而反過來,如果配得太小,此時原本投資的也不用丟掉,只要增加服務效能,無論是Scale-Up (提升CPU) 或是Scale-Out (增加服務引擎) 均可。這在現代的電商服務、Internet應用上,都應該會帶給客戶很大的好處。