管理Web應用程序的若干策略
從當前集成的J2EE應用程序到SOA的出現,企業Web應用程序變得越來越復雜、越動態并且對于企業的成功越來越重要。這個回報是巨大的,但是,由此產生的新的風險也是巨大的。IT團隊日益需要新的管理解決方案提供可見性、分析和所有層次的控制。這些層次包括從應用程序運行時間環境到數據和Web服務以及業務流程等。
什么是Web應用程序?
當前的Web應用程序有許多形式。Web應用程序可以是基于.NET或者Java的程序、一個Web服務、一個SOA組件、一個混合的應用程序或者通過獨立的業務功能編排的一個業務流程。Web應用程序可以使面向客戶的應用程序或者是一個后臺的應用程序。在一個制定的環境中能夠存在任何數量的這類應用程序。從而是管理這些應用程序非常困難。
業務流程映射
把業務流程映射到支持它的基礎的Web應用程序中是迫切需要的。這樣做能夠為評估一個特定的事務處理對一個業務流程的影響提供一個必要的環境。例如,一個提供實時訪問后臺數據的在線環境可以啟動一個Web服務。在晚上的一個批處理流程也可以啟動這個Web服務。實時的事務處理需要更高水平的服務,因為一個用戶一般要等待這個事務處理的完成,并且會擁有比那個批處理應用程序門檻更低的報警。只有理解IT到業務的映射才能讓管理工具理解這個Web服務的兩種不同的啟動方式。
跨層次的應用程序跟蹤
Web應用程序一般都調用多個應用程序組件,包括Web服務。Web服務可以接下來與其它Web服務或者應用程序組件對話。重要的是,這些Web應用程序的管理能夠跟蹤這個應用程序經過這些應用程序組件或者層次的狀況,以便全面了解這個應用程序以及應用程序的性能。否則,性能數據就必須以豎井的方式進行觀察,根據不包含應用程序環境的物理服務器的情況拼湊一個事務處理流。雖然這在某種程度上是有價值的,但是,以這種方式觀察數據會缺少必要的信息,看不到應用程序在事務處理過程中確實在做什么。
根本原因分析
在談到一個故障到底發生在什么地方的具體問題時,根本原因分析的需求是很明顯的。在管理一個Web應用程序的時候,迅速鑒別的能力是必須的,因為這個應用程序不可用的每一分鐘都會給企業帶來數千美元的損失。把Web應用程序與它運行的環境進行對照和比較的能力對于這個鑒別是非常重要的。事實上,一個Web應用程序的故障可能是由一個幾分鐘之前發生的并且現在已經被消除的一個故障引起的。把歷史數據與當前應用程序性能數據進行對照和比較的能力對于找出故障發生的確切地方是非常重要的。一個應用程序服務的請求隊列有時候會嚴重超過應用程序的負荷,這個服務器需要一段合理的時間才能處理這些請求。
監視最終用戶體驗
監視一個最終用戶的體驗通常以兩種方式發生:主動的和被動的。主動監視是一個產品執行所謂合成處理以衡量響應時間的地方。要確定這個故障是否與網絡有關,這個合成處理要從不同的地理位置運行,以查看這個故障是普遍存在的,還是僅僅與某一個互聯網提供商有關。被動的監視解決方案實際上是查看實時發生的事務處理,以確定網絡組件的整個響應時間是否在發生。這種類型的解決方案通常是與另一個解決方案一起使用的。另一個解決方案能夠通過計算兩者之間的網絡時間差衡量這個事務處理的基于托管的部分。這種被動的觀察或者訪問瀏覽器上的定時數據還可以用戶觀察客戶端技術運行的狀況,如鏡像負載等。
預防性的與反應性的管理
在每一個發生問題的情況下,無論是性能問題還是可用性問題,以預防性的模式工作或者以反應性的模式工作是不可避免的,特別是在你擁有包含Web服務的混合應用程序的時候。在Web服務級發生的故障可能會影響到一些獨特的事務處理,因為它們都依賴同樣的Web服務。這些類型的預防性的行動可能會提示這個系統它正在執行某種程度的內存管理和恢復,如果它確定一臺應用服務器的內存量很低的話。預防性行動的另一個例子是啟動一臺額外的應用服務器,如果它確定當前的應用服務器數量不能處理進來的工作量。同樣,如果它確定運行的應用服務器數量超過了處理當前的工作量所需要的服務器數量,那么,它就會關閉一臺或者更多的應用服務器。
Web應用程序的環境
一個Web應用程序只能在它的操作系統環境中進行管理。這就意味著如果一個應用程序出現了某種形式的問題,無論是與性能有關的問題還是與可用性有關的問題,根本的原因可能就是環境問題,也許是與服務器的CPU、輸入/輸出或者與內存有關的問題,或者是服務器本身的問題。不穩定的流程、過度的頁面調動和交換或者與輸入/輸出有關的數據庫操作都能夠對Web應用程序的性能產生影響,同時掩蓋問題的真正原因。
豐富互聯網應用程序及其對Web應用程序管理的影響
豐富互聯網應用程序能夠減緩應用程序的速度,因為它們是客戶端密集型計算或者傳送。這就使Web應用程序對于最終用戶來說似乎減慢了速度,與此同時,實際上服務器端也許沒有進行任何處理的操作。當一個Web應用程序使用大量的免費的這種技術設法讓一個Web應用程序看起來像一個桌面應用程序一樣的時候,就會出現這種情況。雖然這些類型的應用程序通常被看作是傳統的Web應用程序的開銷較小的替代方式,但是,如果返回的數據數量和大小超過一個網頁返回和傳送的能力,這些Web應用程序就會引起更多的網絡通訊量。
結論
調整業務流程使其與支持它的IT基礎設施一致比以往任何時候都重要。目前,這種事情主要以Web應用程序的形式出現,無論是傳統的應用程序還是能夠啟動一個或者更多Web服務的應用程序。許多因素正在推動越來越多的業務邏輯以Web服務的方式在網絡上應用。這些因素包括代碼再利用和組件化在業務環境中的技術產品的能力。這樣就產生了一個更難管理的動態的和復雜的環境。要使當地管理這些環境,必須要有能夠提供必要的可見性和控制以便提前管理這些環境的工具和流程。
【編輯推薦】