隨著網路應用服務的普及與趨於多元複雜,過去以伺服器負載平衡(Load Balancing)為主要功能的產品,後來都逐漸發展成所謂的應用程式服務交付控制器(Application Delivery Controller),而且市面上多數相關產品,都是採用硬體設備的形式提供給用戶,F5公司BIG-IP系列產品就很典型。

等到最近伺服器虛擬化、雲端運算盛行,有些硬體出身的廠商也開始施行軟硬通吃的策略——除了提供用戶硬體設備之外,提供軟體為主的虛擬設備(Virtual Appliance),來因應虛擬化環境與雲端環境的應用,甚至也有可支應雲端多租戶服務環境的整合型設備,而Citrix的NetScaler VPX、SDX系列產品堪稱這類型ADC的代表,F5的BIG-IP系列產品也在2012年底,終於正式推出虛擬化版本。

就產品形式而言,我們這次測試的Riverbed公司的Stingray Traffic Manager(STM),本身就只提供軟體/虛擬化設備的安裝選項,完全沒有硬體的搭配,直接就能應用在一般的虛擬化環境,或伺服器代管服務業者與雲端服務供應商的環境下,因此這系列產品,也適用私有雲、公有雲或混合雲環境。

這套產品的前身,其實是Riverbed在2011年併購Zeus公司所取得的Zeus Traffic Manager,針對應用程式與網路的負載平衡應用,後來Riverbed將這套產品重新推出,並冠上Stingray的代稱(意思是魟魚)。

以最新版本而言,STM目前推出了9.4版,開始支援KVM、QEMU這類虛擬化平臺,同時在SSL網路流量的處理上,也支援Intel近期處理器內建的AES-NI指令集,以提升STM對於AES加密處理的性能。

提供豐富的應用程式網路流量管理功能,可選購WAF和網站加速模組

就功能而言,STM主要提供了以應用程式為中心的負載平衡與網路流量管理,這項產品所能針對的網路服務類型,包括任何基於TCP與UDP協定的應用(像是網站HTTP)、多媒體發布,以及基於XML所建構的Web Services。

而且,STM本身的運作架構可因應高可靠度的要求,延展性也很大,能處理大規模的網路流量,IT人員可在叢集內自行擴充更多的前端流量管理器,或後端伺服器,以因應連線需求增加。

同時,STM也提供專屬的TrafficScript腳本語言,提供程式化的規則執行環境(類似F5產品所用的iRules),同時可延伸運用到Java程式語言來擴充功能,讓IT人員能夠控制網路應用服務與使用者之間的連線互動方式,例如流量過濾、重新調整優先處理順序。

大部分ADC產品所具備的種種功能,STM也都一應俱全,像是網頁內容快取、SSL加解密與傳輸內容壓縮的卸載(offload)等,這些都是STM內建的基本功能。其他ADC產品具有的進階功能,像是全域負載平衡(GLB)、頻寬管理、服務等級監控、傳輸率塑型(Transaction Rate Shaping)、自動擴展應用程式規模(Application Auto-Scaling),則是在針對大型企業環境的軟體授權組態下才會提供。

若需要提升應用程式防護和網路傳輸速度,用戶還可選購兩種專屬功能擴充模組——應用程式防火牆Stingray Application Firewall,以及網頁內容傳輸加速Stingray Aptimizer,直接在STM上啟用。

產品授權方式較為單純,並可支援最多種虛擬化環境

由於本身是軟體形式的ADC,Riverbed STM使用等級的區分上比較單純。STM的授權組態類型主要依據企業規模做主要區分(有1000、2000、4000等三種主型號),再依照網路吞吐量組態(L、M、H)來細分。例如小型企業且平時所需的網路吞吐量若為10 Mbps以內,可採用STM 1000L這個組態。以最頂級的STM 4000系列而言,還多了吞吐量無上限的VH組態。

不論是哪一家廠商,ADC技術的關鍵是軟體平臺能夠提供足夠的功能,但其他廠商原本都是從硬體設備開始起家,後來才開始提供可獨立執行的軟體、虛擬化版本,好處是產品型號選擇夠多,但也顯得很龐雜。

例如,Citrix NetScaler包含4大類型產品,硬體(MPX系列)有21款機型、虛擬(VPX系列)4款、整合前兩者技術的設備12款,以及適用於Amazon AWS雲端服務環境3款。而F5 BIG-IP硬體系列有18款機型與11種不同功能的虛擬版本。相較之下,STM就產品型態而言,只有軟體,而且授權組態分為9種,較為單純。

除了授權組態所對應的網路效能差異之外,STM對於虛擬化平臺的支援性也相當高,當今市面上通用的各種虛擬化平臺,像是主流的VMware vSphere、微軟Hyper-V、Xen,也包括QEMU和KVM,Riverbed都提供對應的映像檔格式,用戶可隨時從官網下載使用。單就VMware環境來說,就分別提供VMDK和OVF等兩種格式,對於Xen環境,也區分XenServer、Xen/Oracle的下載檔,因此在Oracle VM下也可以適用

若你想在雲端服務上使用STM,目前在Amazon雲端軟體市集AWS Marketplace中也有14種組態供租用,當中的STM軟體都是運作在Ubuntu 12.04版的64位元版Linux作業系統內,底層的虛擬環境則是執行在AMI(Amazon Machine Image)映像格式上。較特別的地方是,這裡可租用到免費的開發者版本(但AWS用量另計),以及比Riverbed現行軟體授權規模更小的500系列。

但值得注意的是,500系列並不是市面上使用規模最小的授權組態,Riverbed目前也是針對雲端服務供應商來販售400系列,原廠提供給我們的產品建議售價即是以此為準(CSP-400-L)。

運作架構獨特,分由虛擬伺服器與流量池扛起所有處理

STM本身提供了網頁管理介面,但想要設定組態,光看每一個項目名稱字面上的意思,很難搞懂之間的從屬關係與如何操作。例如,整個系統的最關鍵設定,是服務(Services)主項目下的流量管理IP位址群組(Traffic IP Group)、虛擬伺服器(Virtual Server)、流量池(Pool),若你不了解它特殊的運作架構,就很難著手設定。

簡而言之,流量管理IP位址群組所定義的項目,是用戶端所要連接的ADC設備的網路介面IP位址,屬於L3層級(網路層);虛擬伺服器則是進一步定義這些IP位址所使用的通訊埠與傳輸協定,屬於L4層級(傳送層);流量池則是定義後端應用伺服器的IP位址。

STM的運作方式相當特別,是以應用程式層級的Proxy角色來執行所有的處理作業。它會先接收各種用戶端連至特定(應用伺服器)IP位址與通訊埠的網路流量,而且解讀這些連線請求(Request),STM處理完請求後,會由STM叢集內部的一臺後端伺服器節點來改寫原先從用戶端發出的請求,並經由新建立的伺服器連線或持續連到伺服器的連線,將STM處理過的請求傳送到真正的應用伺服器本體,等到伺服器回應連線請求(Response),之後由STM後端伺服器節點解讀這些回應,接著再傳送到用戶端。

透過這種多層區隔的處理架構,STM執行的管理工作相當廣泛,像是網路流量的檢測、修改與路由,因此可同時進行許多連線請求的處理,舉凡SSL的加解密處理、網路服務維運的保護、TCP卸載、傳送速率控制,以及負載平衡、連線持續、頻寬調整等,對於後連線回應的處理,也支援內容壓縮、快取、服務等級監控等功能。

為了要實作這樣的架構,STM用兩個主要設定物件來對應相關的處理——虛擬伺服器和流量池。簡而言之,前者管理用戶端連線,後者管理伺服器連線,因此在STM的管理機制下,當用戶端電腦提出對應用程式伺服器的連線請求時,會依序經過STM的虛擬伺服器、流量池處理後,再傳至應用程式伺服器;而當應用程式伺服器回應請求時,相關的資料會由反方向依序傳回。

我們可以針對想要管理的網路服務,設定對應的虛擬伺服器項目,而每一組虛擬伺服器項目內容,涵蓋了對於特定通訊埠與通訊協定的流量管理,像是用戶端連線請求由哪一座流量池來處理、對SSL網路流量的解密,以及加速伺服器端回應請求的內容壓縮、快取功能,都是依據這裡的設定。

STM在虛擬伺服器所支援的網路協定類型也相當多元,不只是常見的HTTP、POP3、IMAP、LDAP、SMTP、FTP、DNS、Telnet,也包括網路電話、視訊會議經常應用的SIP協定,以及網路串流影音RTSP協定。

至於流量池,每一座都代表一群後端伺服器的節點,每個節點的內容是由伺服器名稱和通訊埠所構成。虛擬伺服器會將某些連線請求配置給一座流量池來處理,並由其中的多個節點來共同分攤連線請求的工作(亦即負載平衡),每個節點必須能使用虛擬伺服器的通訊協定,以便經由指定的通訊埠來接受請求。除了負載平衡之外,這裡也可以設定持續連線(Session Persistence)、SSL加密、自動擴展負載規模(Autoscaling)。

在設定上,另一個也很關鍵的項目是流量管理IP位址群組,主要是為了提供網路容錯能力,當中定義了一些IP位址,可跨叢集共用。與一般IP位址的差異在於,這樣的IP位址是指必須持續運作、維持高可靠度的伺服器網路位址。

IT人員可以建立STM的叢集,以便分散連入STM的網路流量,並且在一臺STM故障時,可以自動轉移到叢集中的另一臺STM ,當STM要執行這種分配作業時,會參考的就是Traffic IP Groups。而在這樣的叢集內,STM對於高可靠度(HA)的實現支援許多模式,不論是 Active-Active、Active-Standby,或1+1、N+M都可以做到,而且雖然STM軟體本身分為32位元與64位元版本、也可運作Linux和Solaris等作業系統上,但運作在這些環境上的STM都可以加入叢集。

要注意的是雲端和非雲端的STM之間有別,不能加入彼此的叢集,需透過多站式叢集管理(multi-site cluster management)的方式進行。如果加入的叢集,STM是在不同平臺環境建立的,若同時又啟動應用程式防火牆,該防護功能將無法套用在這個叢集上。

提供專屬指令語言與Java API,來動態流量管理

相對於上述的「服務」設定,STM網頁管理介面上另一個名為型錄(Catalogs)主項目的作用,就顯得比較容易理解。這裡所謂的「型錄」,定義了許多集中管理網路流量的方式,當中有許多附屬在虛擬伺服器-流量池架構下的細部設定選項和類別,例如檢測網路流量與內容改寫的規則,以及監控流量池內個別節點或其他主機的組態。

以當中的規則型錄為例,包含的是針對虛擬伺服器的網路流量檢測規則,IT人員可以直接在網頁介面鍵入STM專用的TrafficScript程式碼,或是選擇輔助介面RuleBuilder來產生程式碼。

在這兩個選項下旁邊,都有英文的線上文件連結,點選後可彈出相關視窗供參考。以RuleBuilder來說,裡面提供了「情況」和「動作」兩大設定選單,若不熟悉TrafficScript,可以利用這種條件式的引導來建立流量管理規則。

想要控制個別的連線請求和回應,以便進行最佳化、設定路由與轉換,除了透過TrafficScript,用戶也可以利用所謂的Java Extensions的方式來建立(在TrafficScript呼叫Java API,可藉此擴充STM功能)。

TrafficScript也可以結合XPath這樣的XML文件內容查詢語言,來處理一些基於SOAP協定的Web Services,以便自動交換複雜資料,導引XML相關應用的網路流量。事實上,如果你想要控制整臺STM系統環境的運作,Riverbed也提供基於SOAP協定的控制API,因此任何支援SOAP協定的程式語言,像是Java、C#、Perl、Python都可以運用這組API。

能以圖表檢視即時網路流量狀態

完成相關設定後,我們可透過STM網頁介面的活動分析功能,檢視當前的網路流量狀態,像是頻寬、連線分割、網頁內容快取,管理者可選擇用圓餅圖、折線圖或對數圖來呈現。在這裡,系統管理者也可以瀏覽網路流量活動的歷史記錄。

整合公有雲和虛擬化平臺,便於自動擴展規模

在整合雲端服務平臺上,STM可支援Amazon EC2、Rackspace等兩大公有雲環境,以及VMware vSphere虛擬化環境(vCenter),透過API呼叫與預先設定的使用者登入帳號、密碼,即可自動在這些環境當中建立STM節點,以擴展負載平衡的使用規模。

提供服務設定摘要,可檢視目前虛擬伺服器與流量池設定

虛擬伺服器、流量池是STM建構最重要的設定項目,但彼此的關係與所屬的設定,也相當眾多而複雜,透過網頁介面的服務摘要資訊,對於不同虛擬伺服器與流量池之間的對應關係,以及所套用的流量處理規則,在此檢視可以一目了然。

整合地圖檢視,可觀察ADC在全球各地運作規模

STM的網頁介面在網路應用程式的監控上,提供整合世界地圖觀點的檢視方式,系統管理者可清楚看到不同虛擬伺服器在全球運作的狀況,如發現流量集中在特定地區,可藉此輔助用戶決定是否在當地租用ADC代管服務,以便就近支援。

內建專屬程式語言執行環境,強化網路連線管理能力

如同F5的Big-IP系列ADC產品,可運用iRules來擴充、自定網路流量管理功能,STM本身也提供TrafficScript的程式語言,但它並非TCL(Tool Command Language),不像通用指令碼語言會有一些額外的包袱,在執行效率上比較理想。


產品資訊 ●建議售價:採訂閱制,最低每月40美元起 【註:規格與價格由廠商提供,因時有異動,正確資訊請洽廠商。】●網址:www.riverbed.com ●原廠:Riverbed (02)2703-1179 ●建置平臺:軟體Appliance(Linux、Solaris)、Virtual Appliance(vSphere、XenServer、OracleVM、Hyper-V、QEMU/KVM) ●選購模組:網頁應用程式防火牆、網頁內容傳輸最佳化

【註:規格與價格由廠商提供,因時有異動,正確資訊請洽廠商。】

熱門新聞

Advertisement