2009-11-06 11:30 【大 中 小】【打印】【我要糾錯】
1. 降低IT變化成本的良方:IT紀律和IT自動化
如果IT組織對他們的應用交付和管理行動采用嚴格的紀律和自動化,那么可以消除大部
部分改變的成本。
1.1應用交付
很多應用故障是由于在開發(fā)和部署新應用和應用改變時缺少控制和紀律導致的。
如果不能正確控制應用的計劃,開發(fā)和部署,那么將導致:
●對其他組建或應用產生意外的副作用;
●由于不完善的版本控制,丟失改變的源代碼或其他程序;
●由于錯誤的優(yōu)化和沒有在上線的壓力下測試,出現上線的性能問題;
●由于費事且易于出錯的手工部署的錯誤,出現混合或不兼容的上線版本。
在應用生命周期的開發(fā)和部署階段,進行小心細致的計劃和控制可以消除這些問題。
1.2計劃
嚴格的應用交付開始于計劃。計劃中經常會忽略的幾個方面包括:
●影響性分析
●容量計劃
●高可用性計劃
如果沒有實施應用改變的影響分析,可能會導致意外的停機和性能問題。例如,為了滿足一個業(yè)務變化對數據庫模式作了一處簡單的修改,可能也需要對其他模塊進行改動。如果沒有注意到這些改變而沒有做相應的修改,就可導致錯誤的結果,糟糕的性能或應用的停機。這樣的問題通過對應用改變的影響作仔細分析就可以很好地避免。最有效的影響性分析最好是使用自動化工具,該工具可以理解源代碼和程序對象之間或其他應用組件之間的關系。
缺少容量計劃是另一個可能導致意外應用故障的問題。分析出在生產環(huán)境中可獲得充足應用性能所需要的處理器,內存和其他資源等是非常重要的。例如,如果不能提供足夠的計算資源處理預計的用戶數量,那么就可能導致應用的性能問題和停機。
最后,缺少為滿足高關鍵應用的可用性而必要的冗余和快速恢復機制計劃可能導致代價高昂和長時間的停機。某些故障是非常難以預料的。例如,硬件故障的發(fā)生通常沒有前兆,并發(fā)生在極不方便的時間。IT組織必須為這些故障作計劃,并且考慮高可用性體系結構和程序。
1.3開發(fā)
控制良好的開發(fā)過程為多種多樣的應用故障提供了重要防線。應該組織這些過程保證所有重要的開發(fā)任務,例如說明,編碼,優(yōu)化和測試,能夠正確執(zhí)行。好的過程也需要在相關步驟上作嚴格的評審。這保證正確的檢查和平衡能夠捕獲不適當或不正確的改變。版本控制是所有良好開發(fā)過程的關鍵環(huán)節(jié)。不充分的版本控制可能導致丟失源代碼的改變,模塊的混亂版本和喪失對運行的生產系統(tǒng)全面的信心。所有開發(fā)成果都應該在版本控制系統(tǒng)中仔細保留和管理,以防止覆蓋重要的改變。
功能的正確性,性能和擴展性的驗證應該緊密地集成在開發(fā)過程中。大多數開發(fā)組織能夠認識到驗證軟件功能正確性的重要性。而性能和擴展性的問題只是當在生產的負載下應用出現問題時才會注意到。這里需要特別強調的是,性能和擴展性需求應該在普通開發(fā)人員編碼和測試中驗證,同時也以應該在QA過程驗證。關鍵應用交易應該使用分析工具進行準確測量。而且,應用性能也應該在生產級別的壓力下測量。最好使用壓力測試工具可以幫助你進行自動測試仿真適當的用戶負載程度。
1.4部署
正確的控制也應該擴展到應用的上線部署階段。通常,一個應用的更新版本需要在不同的系統(tǒng)上同時部署。另外,也可能依賴系統(tǒng)軟件,運行時庫和其他共享組件的不同版本。因此,局部或偶爾的部署可能導致錯誤,故障或糟糕的性能。
圍繞部署的問題通常與手工部署有關,因為手工容易出錯。自動部署機制可以保證把正確的組件在正確的是件交付到正確的系統(tǒng),以防止部署的災禍。
2.管理上線應用在應用交付中再多的計劃和控制也不會消除應用的故障。即使最完善的質量控制過程也不會發(fā)現所有的缺欠。同時,最好的容量規(guī)劃過程也不會預見到意外應用的使用。因此,需要以及時和主動方式管理應用的可用性和性能。
早期的識別和解決方式的關鍵是減少應用問題的影響。通過正確的監(jiān)測,很多應用問題可以在停機前被發(fā)現和解決。
最終用戶的體驗監(jiān)測是應用監(jiān)測的重要部分。最終用戶的響應時間應該一直被測量,并與現有的服務等級協(xié)議比較,在問題變得嚴重之前,能幫助識別和解決性能變化趨勢。
時間應該一直被測量,并與現有的服務等級協(xié)議比較,在問題變得嚴重之前,能幫助識別和解決性能變化趨勢。
現在我們可以采用先進的技術幫助組織捕獲,分析和回放完整地最終用戶會話。這樣的數據對于再現和診斷與應用功能相關的問題而言是非常重要的。這些技術可以被用來分析電子商務和其他自助服務Web應用的可用性問題。
除最終用戶的體驗數據外,資源利用情況和性能數據應該根據應用技術棧的層次進行采集,包括Web Server,應用服務器,數據庫和網絡。這些數據可以在情況變得嚴重前提供有關問題的重要信息。例如,缺少一個索引導致的性能問題,只有在過量的表掃描時才能采集到特征數據。在對最終用戶產生嚴重影響之前,表掃描監(jiān)測應該很早就可以發(fā)現這個問題。與此類似,Java應用中的內存泄露問題往往很長時間都不會被發(fā)現,通過監(jiān)測內存使用就可以在災難之前發(fā)現這種問題。對相關組件(包括網絡,操作系統(tǒng),應用服務器,數據庫和應用等)的細粒度監(jiān)測和報警,通常可以在停機前發(fā)現應用的問題。
即使采用最好的,能夠盡早報警的系統(tǒng),有時應用也會很快出現問題,導致嚴重的性能下降甚至停機。這時,公司才會切實感覺到銷售額的下降或成本的顯著上升。不幸的是,在這種情況下,診斷問題是很困難的。在當前的復雜應用環(huán)境中,一個問題可能與很多變化的因素有關。下面是一些造成應用響應時間突然下降的可能原因:
更改應用代碼后未經優(yōu)化、未經優(yōu)化的SQL語句、意外刪除的索引、意外的數據庫資源競爭、Java內存泄露、Web服務器進程數量過多、網絡性能問題識別像上面的這些困難問題可能需要多種IT技術。重要的是技術人員應該方便地掌握恰當的數據以便快速縮小問題的可能性。技術人員應該能夠快速察看應用,應用服務器,數據庫,Web服務器,操作系統(tǒng)和網絡的性能和資源特征,并可將這些數據與具體的交易響應時間的下降相關聯(lián)進行綜合分析。擁有合適的工具以簡明的方式提供數據時快速解決問題的關鍵。
3.結論
商業(yè)組織必須不斷地適應變化的市場環(huán)境。這給IT部門帶來很大壓力,必須保證公司的應用系統(tǒng)可以支持全面的戰(zhàn)略方向。因此,將面對更為復雜的一個用環(huán)境。沒有正確的控制和管理,應用環(huán)境的持續(xù)改變將導致糟糕的應用性能和停機。對于一個組織來說,這些問題意味著銷售額和生產效率的大幅降低。Gartner估計任務關鍵應用的每小時停機成本是42,000美元。而通過在應用的整個生命周期(從開發(fā)到生產)中采用嚴格的方法,可以避免大量的損失。采用適當的工具,謹慎地控制工作流程可以俄日大多數IT部門節(jié)省巨額成本。
1、凡本網注明“來源:建設工程教育網”的所有作品,版權均屬建設工程教育網所有,未經本網授權不得轉載、鏈接、轉貼或以其他方式使用;已經本網授權的,應在授權范圍內使用,且必須注明“來源:建設工程教育網”。違反上述聲明者,本網將追究其法律責任。
2、本網部分資料為網上搜集轉載,均盡力標明作者和出處。對于本網刊載作品涉及版權等問題的,請作者與本網站聯(lián)系,本網站核實確認后會盡快予以處理。
本網轉載之作品,并不意味著認同該作品的觀點或真實性。如其他媒體、網站或個人轉載使用,請與著作權人聯(lián)系,并自負法律責任。
3、本網站歡迎積極投稿。