定要注意,不同的配置管理或自動(dòng)化框架會(huì)采用不同的方式去審核一個(gè)基礎(chǔ)架構(gòu)或多個(gè)服務(wù)器、操作系統(tǒng)、應(yīng)用程序及其配置參數(shù)。通常,審核一個(gè)Web基礎(chǔ)架構(gòu)的所有方面需要耗費(fèi)大量的時(shí)間,但是與其當(dāng)出現(xiàn)問題時(shí)才考慮必須審核哪些東西,不如想好哪些是不能不審核的。假如,生產(chǎn)網(wǎng)站出現(xiàn)了一個(gè)嚴(yán)重問題??赡苓@個(gè)網(wǎng)站每月的用戶訪問量可達(dá)上百萬次,每年能夠產(chǎn)生50萬美元的收益。當(dāng)召集所有人開會(huì)時(shí)關(guān)鍵是要確定出現(xiàn)了什么問題,以及如何解決這個(gè)問題。這時(shí),問題可能就是由于應(yīng)用程序代碼的版本不一致而引起的。大多數(shù)編程語言都會(huì)在應(yīng)用程序的二進(jìn)制文件中使用一種配置清單文件來確定Web服務(wù)器或應(yīng)用服務(wù)器中所部署的應(yīng)用程序版本。
現(xiàn)在,一個(gè)中等規(guī)模的網(wǎng)站基礎(chǔ)架構(gòu)就可能包含50-1000Web服務(wù)器和應(yīng)用服務(wù)器。其中包含了大量的操作系統(tǒng)、應(yīng)用程序、配置文件和參數(shù),這時(shí)我們要逐一排查,才能確定可能導(dǎo)致問題和影響網(wǎng)站訪問體驗(yàn)的方面。
此刻應(yīng)該使用審核軟件來確定哪些服務(wù)器出現(xiàn)了問題。在該例中,某個(gè)應(yīng)用程序二進(jìn)制文件的版本不一致性是問題的根源。下一步就是確定哪一些Web服務(wù)器或應(yīng)用服務(wù)器出現(xiàn)了問題,這樣才能確定應(yīng)該從哪里開始解決問題。同樣,一些好的審核框架可以幫我們創(chuàng)建用于修復(fù)當(dāng)前服務(wù)器的補(bǔ)丁包,然后再將它們部署到所有確認(rèn)出現(xiàn)問題的服務(wù)器上。
審核過程中最難的一步是確定要審核哪些部分。這個(gè)過程取決于正在運(yùn)行的應(yīng)用程序類型、源代碼管理和部分方式、源代碼庫的類型、所使用的編程語言、操作系統(tǒng)及管理方式和業(yè)務(wù)需求。如果一個(gè)環(huán)境可以容忍較長的停機(jī)時(shí)間,例如那些不會(huì)產(chǎn)生收益的網(wǎng)站,那么它的審核要求肯定低于那些每小時(shí)能產(chǎn)生大量收益的網(wǎng)站。后面一種環(huán)境需要使用一種高度可控和自動(dòng)化的方法來確定出現(xiàn)問題的位置。
在一個(gè)完全虛擬化的環(huán)境中,所有應(yīng)用程序都運(yùn)行在一種虛擬化平臺(tái)上,只要有一個(gè)分配框架負(fù)責(zé)重新安裝虛擬服務(wù)器和重新部署應(yīng)用程序代碼,我們就沒有必要引入一個(gè)復(fù)雜的審核框架,也沒有必要花太多時(shí)間去確定發(fā)生問題的位置,除非這個(gè)問題總是頻繁地重復(fù)發(fā)生。如果完全重建一個(gè)服務(wù)器并部署應(yīng)用程序只需要8~15分鐘,那么就沒有必要去確定這個(gè)服務(wù)器所出現(xiàn)的問題。
然而,在一個(gè)固定的基礎(chǔ)架構(gòu)或者一個(gè)未使用服務(wù)器虛擬化的基礎(chǔ)架構(gòu)中,審核是非常重要的。在這種環(huán)境中,我們無法使用實(shí)時(shí)快照自動(dòng)回滾修改,也不能啟動(dòng)一個(gè)完全重建整個(gè)服務(wù)器及應(yīng)用程序的過程。
注意即使沒有使用虛擬化技術(shù),有一些配置管理框架仍然能夠保存數(shù)據(jù)庫的修改歷史記錄,并支持實(shí)時(shí)回滾修改。
與虛擬化環(huán)境相比,固定環(huán)境對于錯(cuò)誤的容忍度較小,因此它們必須確定需要審核哪些文件、配置和應(yīng)用程序。有一些方法可以解決很大一部分問題,如源代碼管理知識(shí)庫,但是它們無法解決由系統(tǒng)級配置變化引起的問題,如安裝內(nèi)核補(bǔ)丁,更新網(wǎng)卡、磁盤控制器的固件和設(shè)備驅(qū)動(dòng)程序,等等。這些修改通常會(huì)產(chǎn)生意想不到的結(jié)果,然后工程師必須自行分析哪些網(wǎng)卡出現(xiàn)了問題,然后才能在所有系統(tǒng)上逐一解決問題。
審核框架有以下優(yōu)點(diǎn):
尋找一些未知問題;
改進(jìn)系統(tǒng)與應(yīng)用程序的性能;
幫助Web基礎(chǔ)架構(gòu)從問題恢復(fù),避免出現(xiàn)幾小時(shí)甚至幾天的停機(jī)時(shí)間;
在網(wǎng)站設(shè)計(jì)Web基礎(chǔ)架構(gòu)出現(xiàn)問題時(shí),定位那些日志或監(jiān)控系統(tǒng)都無法定位的問題位置。
本文地址:http://www.khwajamoinuddinchishty.com//article/4513.html