Tivoli Service Automation Manager 7.2.2 引入了擴展 的概念,該擴展是一組 TSAM 軟件組件,可以向 TSAM 平台添 加更多功能。一個擴展通常(但不限於)可以實現以下功能:
可以實現一個新的 IT 服務自動化解決方案,該解決方案在 TSAM 中稱為服務定義;例如,一個存儲即服務解決方案可 以為一所大學的學生提供主目錄。
可以向現有服務定義添加功能;例如,將開箱即用 TSAM 擴展為一個服務解決方案,使它能夠將除啟動磁盤以外的更多 磁盤連接到虛擬機中。
這些擴展是由 IBM 或客戶服務團隊在 TSAM 開發周期以外開發並發布的。由 IBM 開發的擴展是在為 TSAM 客戶免費提 供的 Integrated Service Management Library 中發布的;它們附帶了安裝和配置文檔,以及一個符合 IBM 標准的用戶指 南。IBM Tivoli Service Automation Manager Information Center 是獲取 IBM 發布的這些擴展的在線文檔的入口點。
在 IBM 發布的諸多擴展中,有兩個擴展允許管理網絡設備的配置,可以向使用 TSAM 創建的虛擬服務器項目添加安 全性、可擴展性和冗余性:
面向 Juniper SRX Firewall 的 IBM Tivoli Service Automation Manager 7.2.2 擴展
面向 F5 BIG-IP Load Balancer 的 IBM Tivoli Service Automation Manager 7.2.2 擴展
Juniper SRX Firewall 擴展的功能是在由 Juniper SRX 企業防火牆保護的 VLAN/子網中,通過一組默認規則自動限制 TSAM 項目中配置的虛擬服務器。在項目的生命周期內,雲管理員可以通過 Modify Firewall Rules 擴展提供的一個服務進 一步優化防火牆規則。在擴展的初始設置期間,可以根據客戶的需求對默認規則進行定制。
F5 BIG-IP Load Balancer 的擴展能夠將一個 “虛擬負載均衡器” 放入 TSAM 項目中已配置好的虛擬服務器中,從而增強服務器上安裝的 應用程序可擴展性和冗余性:通過創建一個 Load Balancer Policy,可以在 TSAM 項目的 VLAN/子網的公共 Virtual IP 地址 (VIP) 中發布應用程序。Load Balancer Policy 可以通過與應用程序相連的 VIP:Port 來識別,或者通過運行該應用 程序的 TSAM 項目的虛擬服務器集群來識別。
這些特性使企業客戶能夠向其分支辦事處、業務合作伙伴和客戶提供 分層式業務應用程序(如 J2EE 應用程序),並且這一過程非常迅速、安全,具有可重復、可擴展和冗余性。
在 使 用 TSAM 擴展來部署 J2EE 應用程序 中定義了一個場景,目標是將一個三層式 J2EE 應用程序安全地部署到雲中,並演示 如何在 TSAM 中設置和配置擴展,從而完成部署;我們建議您閱讀本文,更加全面地了解其中介紹的方法。
本文將 介紹如何根據您的系統要求調整負載均衡器的策略;如何在業務應用程序的工作負載發生變化時添加和移除應用服務器;如 何修改防火牆規則,以及您需要這樣做的原因。
快速場景回顧
客戶 ABC 是一家運行私有(企業內部)雲解 決方案的企業,基於 TSAM 7.2.2、Juniper SRX Firewall 擴展和 BIG-IP F5 Load Balancer 擴展。ABC 通過 TSAM 平台 為分公司、業務合作伙伴和客戶提供服務。ABC 特別倚重該平台的開箱即用功能,通過 http/https 標准協議向客戶提供 Web 應用程序。
ABC 使用的一個典型 Web 應用程序是一個帶有 http 服務器、應用服務器和數據庫服務器的 J2EE 應用程序。在傳統部署中,這些服務器在邏輯上是通過路由器和防火牆彼此隔離,路由器和防火牆限制網絡的連接和對服務 器的訪問。數據庫服務器通常從一個安全的存儲區訪問數據。
如果不下載 Firewall and Load Balancer 擴展的話 ,ABC 將不得不建立自己的流程來隔離不同網段上的服務器,以及平衡對應用服務器的請求,這些服務器通常被部署為一個 集群。但是 ABC 是一家明智的客戶,由於它已經具備 BIG-IP F5 和 Juniper SRX 網絡設備,因此決定設置 TSAM 擴展來 標准化其 Web 應用程序的布局。
現在,讓我們來探討一下負載平衡和網絡防火牆規則。
負載平衡簡介
BIG-IP F5 Load Balancer 的 TSAM 擴展提供了一些在業務應用程序的應用服務器之間平衡工作負載的服務。本文 的姊妹篇描述了初始部署期間實現這一目的所需的步驟(位於 使用 TSAM 擴展來部署 J2EE 應用程序);不過,該文章並 沒有詳細介紹負載均衡器策略的屬性。
雖然您在自己的測試實驗室中部署業務應用程序時保留了默認值,但是在將 它部署到客戶端時,需要更好地理解這些屬性的含義,因為選擇合適的負載均衡器策略會對性能和資源消耗產生重要的影響 。
因此,讓我們開始學習如何自定義負載均衡器策略。
自定義負載均衡器策略
完成初始部署後,您 可以使用 Modify Load Balancer Policy 服務隨時修改負載均衡器管理工作負載的方式,該服務實際上需要使用與 Create Load Balancer Policy 相同的參數(不同的是策略的 name 和 VIP:port 屬性不能修改)。
負載均衡器策略是由 BIG-IP F5 Load Balancer TSAM 擴展定義的內部工件,包含為 BIG-IP 設備實現最佳配置所需的信息。它的職責是盡可能 地簡化業務應用請求者的任務,然後將 BIG-IP 設備的復雜性隱藏到幾個直觀的參數中,這些參數允許擴展代碼自動執行 BIG-IP 配置步驟。
考慮到業務應用程序的請求者需要在不使用負載均衡器策略抽象的情況下執行操作,所以可以將 配置文件看作是一個設置容器,這些設置用於定義 BIG-IP 設備中網絡流量的行為(例如 http),每個設置支持一個特定 的特性。這些特性的例子包括:
向 HTTP 請求中插入標頭
壓縮 HTTP 服務器響應
應用程序身份驗證
連接池,等等
負載均衡器策略抽象根據以下內容自動識別出最適合 BIG-IP 設備的配置文件:
流量類型(圖 1 中的協議 1):HTTP、HTTPS、TCP 和 UDP。
虛擬 IP 地址的類型(圖 1 中的虛擬服務器類型):Standard 和 Performance。Performance 指定了一個 VIP,您需 要為其提高 HTTP 或第 4 層請求的處理速度。
您是否希望重用 BIG-IP 和平衡後的虛擬服務器(圖 1 中的連接池)之間的連接,這將通過最小化連接設置和拆除來降 低虛擬服務器負載(啟用這一選項將激活 F5 Networks OneConnect 特性,該特性將打開服務器端連接並形成連接池以進行 重用,從而優化網絡連接的使用)。
您是否希望客戶端請求在會話生命周期內或後續會話期間傳遞到項目中的同一個虛擬服務器(圖 1 的 Session Persistence)。
圖 1. 負載均衡器策略屬性
對於本文及姊妹篇中定義的標准化業務應用 程序,可以通過下面的內容設置一個負載均衡器策略:
Protocol:HTTP。
Virtual Server Type:在測試應用程序時使用 Standard 類型;在將其部署到客戶端時使用 Performance 類型。
Connection Pool:如果選擇的是 Performance VIP,則將自動選擇該選項,如果選擇的是 Standard VIP,則可以決定 是否使用該選項。
Session Persistence:該參數取決於業務應用程序的特征。如果需要設置,記住擴展代碼在 BIG-IP 設備上配置了 cookie 持久性文件,BIG-IP 設備使用客戶端計算機上存儲的 HTTP cookie 將客戶端重新連接到某個網站中此前訪問的均 衡虛擬服務器。
如圖 1 所示,負載均衡器策略傳遞了額外的信息:
BIG-IP 設備用於在虛擬服務器之間平衡工作負載的路由算法(圖 1 中的算法)可以是 round robin(循環)、least connection(最少連接)或 predictive(預測式)。對於任何客戶端請求,BIG-IP 都會運行該算法來選擇合適的虛擬服務 器以向其發送請求。為此,它需要獲得有關平衡後的虛擬服務器的監視信息和可用性信息,這些信息由所謂的監視器定期收 集。
擴展代碼使用健康檢查參數(圖 1 中的 Probe Protocol、Check Interval 和 Timeout)配置 BIG-IP 監視器。Check Interval(檢查間隔)指定了 BIG-IP 對虛擬服務器進行探測的頻率,而 Timeout(超時)指定了虛擬服務器響應監視器請 求的秒數;如果超過這一時間,則認為虛擬服務器停止運行,並且不會作為新連接的目標。
您可能會問,哪一種算法最適合本文定義的業務應用程序?這取決於應用程序的特征。
最簡單的算法是 round robin;BIG-IP 將從響應監視器的虛擬服務器的循環列表中選擇下一個服務器。
一種更高效的算法是 least connections;按照這種算法,BIG-IP 將保留每個均衡後的虛擬服務器處理的連接的統計數 據,然後向連接數最少的池成員傳遞一個新連接。
最佳算法是 predictive;按照這種算法,BIG-IP 將使用相同的分級方法,但是仍將進行趨勢分析,以確定節點性能是 否改進或退化。
使用的算法越好,用於執行計算所需的 BIG-IP 資源就越多。因此,您可能希望在測試業務應用程序時選擇 round robin 算法,在將其部署到客戶端時,則將負載均衡器策略改為 predictive。
負載均衡器策略屬於一個單一的 TSAM 項目,可以從一個項目中擴展到多個虛擬服務器。可以在一個項目中部署多個策略,但是每個策略都需要一個專門的 VIP:port 對來處理外部訪問。
現在,讓我們看看如何在工作負載增加時添加應用服務器,並在工作負載減少時移除 它們。
添加和移除應用服務器
隨著對應用服務器的請求逐漸增加,客戶端會發現響應時間變慢。您可以通過 運行定期的趨勢分析報告並及時添加應用服務器來解決這個問題。
您的業務應用程序的管理員可以通過使用下面的 服務產品實現這一目標:
TSAM Add Server to Project 服務:使用該服務為業務應用程序項目請求另一個應用服務器。
Modify Load Balancer Policy 服務:TSAM 提供了新應用服務器後,使用該服務將服務器添加到負載均衡器。在 Create Load Balancer Policy 窗口中,向新服務器的主機名添加一個勾號(參見圖 2)。
圖 2. 虛擬服務器的負載均衡器策略池
當出現相反的情況(您的趨勢分析報告表明 業務應用程序的利用率下降),您可能希望釋放資源,將它們用於 IT 環境中的其他用途,或降低數據中心的功耗。您可以 決定是否關閉某些應用服務器或釋放它們,這樣做也可以釋放虛擬機管理程序 (hypervisor) 的數據存儲中的空間。
如果業務應用程序的管理員決定關閉應用服務器,那麼會使用 TSAM Stop Server 服務,負載均衡器很快就會檢測 到服務器沒有響應(通過監視器)並停止傳遞連接。它會在服務器重啟後開始重新傳遞連接。
如果管理員決定徹底 從業務應用程序項目中移除應用服務器,則會使用下面這些服務:
Modif Load Balancer Policy 服務:使用該服務從負載均衡器中移除應用服務器。直接轉到第二個屏幕(參見圖 2), 去掉服務器主機名的勾號。
TSAM Remove Server from Project 服務:使用該服務解除服務器的配置。
TSAM 用於簡化雲計算的最佳特性之一就是能夠根據工作負載的變化自動執行管理任務,包括配置/解除配置服務器。我 們稍後將詳細討論這方面的內容。
自動應用服務器配置和解除配置
這個部分很有趣,它類似前一節的內容, 但是管理員不需要在每次工作負載變化時進行操作。生產 Web 應用程序所需的計算資源會經常變化(包括改變頻率和所需 資源的數量),資源量取決於所提供的服務器的類型。下面是一些示例場景。
一個在線的電子設備商店應用程序在聖誕期間會迎來交易高峰,而一年中的其他時間的工作負載則比較穩定,即使每年 的工作負載都會增加。
一個企業應用程序發現雇員在每個月的頭幾天出勤率達到高峰,而在每個月的其余時間出勤率幾乎沒有變化。
一個在線圖書館通常會在夏季遇到圖書借閱急劇減少的情況。
一個國際在線新聞網站在全球發售重要事件時會面臨不可預測的高峰訪問量。
系統及時、准確地進行響應,提供可用的計算資源來滿足應用程序的實際需求,這種能力對於維持與客戶的服務水平協 議 (SLA) 並優化資源的使用至關重要。
如前面的小節所述,TSAM 和 BIG-IP F5 Load Balancer 的 TSAM Extension 提供了相應的服務,可以響應工作負載的變化;然而,這些服務並沒有提供自動的或自調優的解決方案,從而在 無管理員人為干預的情況下重新配置業務應用程序。這些內容必須由客戶專門創建。
本節的目標是解釋使用公共 TPAE(Tivoli Process Automation Engine)和 TSAM API 以及其他工具可以實現多大程度的自動化。本節介紹了將自調優 功能添加到 TSAM 解決方案的幾種方法,但是本文不會對解決方案的細節進行深入探討,相反,本文指出了一些不同的可用 技術和一個通用的架構。
首先,我們將描述解決方案的方法和實現所需的組件。然後將這種一般方法轉化為兩種不 同的具體實現,這兩種實現采用了不同的技術。
圖 3 列出了解決方案的組成部分:
圖 3. 實現工作負載平 衡的自調優解決方案的組成
控制器驅動系統執行自調優操作,將業務應用程序要求的 SLA 與當前觀察到的行為進行比較,並決定要執行的操作: 它將決定何時配置或解除配置應用服務器,何時啟用休眠的應用服務器,以及何時關閉空閒的服務器。
資源監視器是收集 Web 應用程序及底層虛擬服務器的狀態的組件。這些是啟動控制器處理的關鍵輸入數據。為控制器提 供數據的模式可以基於定期的資源檢查,或可以由事件驅動;具體將根據監視器所采用的技術進行選擇。
資源管理器是一個制動裝置 (actuator),該組件負責配置/解除配置應用服務器並更新負載均衡器策略。本文討論的場 景中將使用 TSAM 和 BIG-IP F5 Load Balancer 的擴展。
下面提出了兩種解決方案,都需要 TPAE 定制和集成技巧 (Maximo Enterprise Adapter) 和基於 TSAM REST 的 API 技 能:
第一個解決方案利用 BIG-IP 設備監視器收集的數據實現控制器。該解決方案還要求具備獲得 BIG-IP 監視器數據的開 發技能。
第二個解決方案是一個事件驅動式控制器示例,基於 IBM Tivoli Monitoring (ITM) 產品。它也需要 ITM 技能來處理 事件(TEC 或 Omnibus)。
讓我們詳細了解這兩個解決方案。
利用 BIG-IP
圖 4 描述了在這種情況下如何實現通用解決方案。
圖 4. 工作負載平衡自調優解決方案:利用 BIG-IP 監視器數據
控制器在 TPAE 平台上實現,該平台使用預 調度的任務(圖中的 TPAE Cron Task)定期檢查資源的狀態,然後采取相應的操作。將對資源的檢查發送給 BIG-IP 負載 均衡器,並在控制器中包含一個支持庫,用它來訪問設備的 IControl 接口。
IControl 接口可以支持各種編程環 境(如 Java、.NET、Python、Perl),並允許以較為靈活的方式實現該解決方案。對於 Java 編程語言,支持庫為 JAR 文 件。
當控制器檢測到所監視的應用程序的統計數據出現報警值時,它會確定後續操作以維持系統的效率和可用性。 然後將調用 TSAM 的 REST API 接口並提交服務請求,完成配置任務。
利用 IBM Tivoli Monitoring
如圖 5 所示,解決方案依賴 ITM 代理監視應用服務器的狀態。
圖 5. 工作負載自調優解決方案:利用 ITM 事件
要實現此目的, 您需要在應用服務器上安裝 ITM 代理並進行相應地配置。可以在請求業務應用程序的 TSAM Project 時完成該配置,或通 過在用於實例化應用服務器的虛擬鏡像中嵌入 ITM 代理來完成該配置。統計數據隨後被上傳到 ITM 服務器並轉發給 OMNIbus,以便進行事件處理。
當事件到達 OMNIbus 後,可以通過一個定制的退出程序調用 TSAM REST API;甚至 可以利用 OMNIbus-Service Request 管理器集成來提交配置請求。
現在,讓我們看看另一個主要的問題:在需要為 給定的企業應用程序修改安全設置時,如何修改防火牆規則。
修改網絡防火牆規則
當您根據默認規則(在 TSAM Extensions 配置期間設置網絡模板時定義)部署業務應用程序時,TSAM Extension for Juniper SRX Firewall 將自 動設置防火牆規則。您不需要再次處理防火牆規則。
當然,這種場景符合實際情況嗎?許多情況下,您需要為給定 的業務應用程序項目修改安全設置。因此,您希望查看當前的設置,不是嗎?
TSAM Extension for Juniper SRX Firewall 提供了一個 Modify Firewall Policy 服務,它類似於負載均衡器策略。防火牆策略是由擴展定義的一個內部組 件,包括應用於 TSAM 虛擬服務器項目,更確切地說,該項目的子網/VLAN 的防火牆規則。每個項目都有自己的防火牆策略 ,您可以添加、修改或移除各個防火牆規則,如圖 6 所示。
圖 6. 針對業務應用程序項目配置的防火牆策略
防火牆 規則允許源子網發起特定的協議流量並到達目標子網。源和目標子網(圖 6)通常是使用 CIDR 符號(子網地址/識別子網 的 IP 地址的位數)指定的完整子網。不過,如果希望允許特定主機的流量,某個 IP 地址可以被同時指定為某個防火牆規 則的源子網和目標子網。
您可能會注意到,您無法指定規則來拒絕流量。擴展的一些要點是它具備以下能力:
簡化業務應用程序的請求者的工作
盡可能減少安全風險。
因此,防火牆策略始終包含一條無法改變的潛規則:拒絕所有流量。因此,您的管理員只能夠以例外的方式允許流量。 這是這一特性的一種簡單、低風險的實現。
為了進一步簡化管理員的工作,可以使用以下三種防火牆規則:
To Internet 規則:這允許從項目的某個應用服務器到 DMZ 的特定協議流量。
結束語
在本文中,我們解釋了如何借助 Juniper SRX Firewall 和 BIG-IP F5 Load Balancer 的 TSAM 擴展來 處理在雲中部署的 J2EE 業務應用程序的生命周期管理問題。我們特別解釋了如何恰當地調優負載均衡器來處理業務應用程 序的工作負載,如何通過添加和移除應用服務器來響應業務應用程序的利用率變化,最後我們介紹了如何高效使用防火牆來 鎖定對您的服務器的訪問。
使用 TSAM 擴展來部署 J2EE 應用程序 中描述了對業務應用程序的初始配置。您可以了 解如何創建由虛擬服務器組成的 TSAM Project,這些虛擬服務器隱藏在 BIG-IP F5 負載均衡器背後,並通過由 Juniper SRX 防火牆管理的 VLAN/子網進行限制。