虛擬雲網路

網路虛擬化NSX 技術文章系列二百四十二: NSX Advanced Load Balancer:來談一談 Auto-Scale(二)

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

接續上篇,本篇我想和大家討論一下如何快速地進行『手動擴充』的條件。咦,和本系列文題目好像訴求不同。但去除『自動』這兩個字聽起來很性感,如果我們的商業目的是在需要時,於短時間快速地擴充業務處理容量,即使是有少部分地方得要管理者手動介入,應該都還是能符合企業需求的吧。

請先回想一下實際的每天狀況,企業的業務真的會毫無原因的突然超級大量往上衝,讓 IT 毫無準備只能眼睜睜看著環境被打垮嗎?或許偶而有,但絕大部分的時刻,我們是能『預先知道』在哪時業務量會大量增加的。每個月哪幾天是會員日,下週三可以開始預約熱門票券,下下週會有新促銷方案開賣。交易量會衝到多少或許難以預測,但許多時候,其實我們是能有一段前置量時間可以預先進行準備,而不是站在沙灘上不能動,眼睜睜看到大浪已經打到眼前。

假設你有一週。或是更短只有一天。此時我們要怎麼進行『手動橫向擴充』 (Manual Scale-Out/In)?如果大家的環境已經有NSX Advanced Load Balancer,而且已經虛擬化 / 容器化 / 運作在公有雲上,其實真的不會很麻煩啊。從兩個點來進行討論:

1. 負載平衡器容量的橫向擴充

這件事很重要的原因是很多交易瓶頸其實就是卡在前端的負載平衡器效能,比如說要進行 SSL-Offload,或把 Web-Application-Firewall開起來,連線量大時都相當吃資源。如果你的負載平衡器是硬體的,但買的不夠大台,估計容量會不夠,此時怎麼辦?不怎麼辦,快去借貨借個大台的啊!祝你在期限前能拿到貨、上架、接線、開始配置。總算趕上了,促銷活動結束了,記得機器要拆下來還人家喔。

我們在前面多篇的NSX Advanced Load Balancer網誌內不斷地強調,Avi方案兩個與傳統負載平衡器極為不同的核心差異在

  • 透過Active-Active架構,單個應用可以由多台負載平衡機器(在Avi內叫做『服務引擎』)上同時提供服務
  • Avi的控制器 (Controller) 可以指揮公私雲平台直接進行服務引擎的安裝與配置

以前提過了但再老調重彈。下圖內我們在Avi的管理介面內可以看到nginx-vs這個服務僅運作在Avi-se-orfrk這台服務引擎內。如果管理者覺得效能不太夠,此時可以『手動』啟動Scale Out的流程。

啟用Scale Out時管理者要求要建立新的服務引擎。此時,Avi Controller告知vCenter要做這件事,此時到vCenter介面內,可以看到一個新的虛機Avi-se-mtrtw開始自行部署了。這邊的動作是完全自動的,管理者不需要手動匯入OVA,不需要接網路配IP,不需要下額外的配置指令。

過了三分鐘,我們可看到nginx-vs這個應用已經是同時由兩個服務引擎同時提供服務了。

上面的整個流程要花多久?了不起五分鐘吧。在採用NSX Advanced Load Balancer這種軟體定義並完整整合雲平台的方案時,手動新增一台服務引擎也不過就是幾分鐘的時間,不需要去找設備找預算、上架、接線。即使明天新的產品就要上線,我們也有充裕的時間可以快速進行負載平衡構件的擴充,這和以前的傳統硬體架構,變更動輒要幾個星期甚至幾個月的時間來比較,已經是極大的改善了。

當然大家會說,底下得要先有虛擬化 / 公有雲架構,且有空置的容量,才能做到這邊的即時擴充啊?沒錯。這也呼應了在前篇我們談到的,為什麼把架構改成虛擬化、運作在公私有雲環境上如此的重要。這樣才有機會做到『即時取用』資源。

2. 業務機器的橫向擴充

前端負載平衡方案擴充了,但業務效能瓶頸也可能就是發生在後端機器本身的能力不夠啊。沒錯,因此底層架構上是否可以快速地建立業務機器當然也是相當重要的。這邊我不想多談,但相關的機制應該包括了

  • 怎麼在虛擬化資源池或公有雲內快速由樣本 (template) 產出虛機,並進行需求的自動客製化 (Guest OS Customization)
  • 透過組態管理工具比如說SaltStack / Ansible在虛機內安裝需求的軟體構件
  • 或更直接的,把業務機器做成容器image,在Kubernetes的Deployment內直接部署,以scale機制來新增或減少相關的pod
  • 最後,記得在前端負載平衡器的Server Pool內把擴充的業務機器加進來

也就這樣,要花多少時間?容器這種幾乎是秒級產生的就不談了,即使是個大虛機,從複製、作業系統客製化、軟體安裝等等動作,也就幾十分鐘而已吧。只要軟體架構有支持橫向擴充,方案採用虛機或容器,上述的作業就算要手動配置也不花太多時間啊。

先寫到這,但即使不斷強調,在已經轉移至虛擬化、軟體定義架構下,『手動橫向擴充』其實也不會花太多時間,大家應該還是覺得,這樣就是不夠帥,拿不到預算。所以下篇我們要進入本系列文的核心重點:如何進行Avi服務引擎的自動橫向擴充。

相关文章

评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.