特約通訊員 梁曉歡
Evolven“發(fā)布驗(yàn)證”服務(wù),為IT部署的成功保駕護(hù)航
特約通訊員 梁曉歡
在IT運(yùn)營領(lǐng)域中,許多原因都會(huì)導(dǎo)致部署的錯(cuò)誤和不準(zhǔn)確,實(shí)際運(yùn)營中常見的變更出現(xiàn)情境包括以下四類:
●變更未能在生產(chǎn)階段得到實(shí)現(xiàn)
●災(zāi)備失敗后的恢復(fù)工作
●部署過程中的變更遺漏
●自動(dòng)部署腳本中的一個(gè)錯(cuò)誤參數(shù),造成的配置錯(cuò)誤
在一個(gè)高節(jié)奏的環(huán)境中,會(huì)有大量的參數(shù)發(fā)生變化,這使得對(duì)錯(cuò)誤的檢測(cè)和確定工作變得非常繁重。即使我們可以列出所有的變更,要找出到底是哪一個(gè)變更,或哪一些變更導(dǎo)致了部署的失敗,也是非常困難的,需要花費(fèi)大量的時(shí)間和精力,效率非常低。因此,要確保部署的成功,就必須進(jìn)行發(fā)布驗(yàn)證。發(fā)布是IT日常運(yùn)營的一部分,尤其是隨著越來越多的企業(yè)開始采用敏捷的管理方法和持續(xù)交付的經(jīng)營模式,發(fā)布的完整性變得愈加重要。有許多問題都會(huì)影響到發(fā)布的完整性,例如,失敗的變更部署,不同環(huán)境之間固有的差異,缺乏對(duì)系統(tǒng)變更的整體視圖等。
為了處理屬性配置,應(yīng)用程序文件,數(shù)據(jù)庫架構(gòu)以及其它環(huán)境資源中所可能產(chǎn)生的各種變更,IT運(yùn)營必須確保發(fā)布可以得到智能的驗(yàn)證。這意味著在發(fā)布的整個(gè)生命周期中,從測(cè)試到生產(chǎn),我們都能可以捕捉到所有的變更,并對(duì)這些變更進(jìn)行分析,以確保發(fā)布的準(zhǔn)確、完整和合法。
在IT運(yùn)營中,貫穿應(yīng)用程序整個(gè)生命周期的發(fā)布驗(yàn)證,可以幫助我們提高發(fā)布的完整性。發(fā)布驗(yàn)證過程應(yīng)解決以下兩類問題:
●環(huán)境之間固有的內(nèi)在差異
●預(yù)期的部署結(jié)果與實(shí)際部署之間的偏差
然而,借助于Evolven公司的“發(fā)布驗(yàn)證”服務(wù),就可以成功地避免這兩類問題。在具體實(shí)踐中,需要將Evolven平臺(tái)系統(tǒng)集成到以下的操作步驟中:
(1)比較基線環(huán)境;
(2)修復(fù)有害的差異;
(3)部署;
(4)檢查目標(biāo)環(huán)境中類似服務(wù)器部署的一致性,以及目標(biāo)環(huán)境和先前的環(huán)境之間的連續(xù)性,例如,生產(chǎn)時(shí)的環(huán)境vs驗(yàn)證時(shí)的環(huán)境;
(5)分析結(jié)果,以確定有待修復(fù)的不一致性;
(6)回顧發(fā)布中針對(duì)風(fēng)險(xiǎn)性變更而準(zhǔn)備的物料清單。
盡管步驟2和步驟3是在部署之前就進(jìn)行的,扮演著事先檢查的角色,但還是需要對(duì)環(huán)境之間的一致性進(jìn)行持續(xù)的評(píng)估,將其作為一項(xiàng)定期的健康檢查,以確保生產(chǎn)之前的環(huán)境能夠充分地代表生產(chǎn)時(shí)的環(huán)境。
比較基線環(huán)境
存在時(shí)間很長的環(huán)境,會(huì)發(fā)生自然的漂移。通過對(duì)基線環(huán)境進(jìn)行比較,IT工作人員可以提高其識(shí)別由環(huán)境漂移所引致的風(fēng)險(xiǎn)的能力。這一步驟可以清楚地顯示環(huán)境一致性確認(rèn)的過程中哪一階段容易失控。
安裝了Evolven代理之后,IT運(yùn)營可以捕獲當(dāng)前運(yùn)行環(huán)境配置的準(zhǔn)確情況。然后,IT運(yùn)營商就可以對(duì)不同集合的環(huán)境進(jìn)行比較,從而能夠主動(dòng)地防止漂移:
●生產(chǎn)服務(wù)器相互比較
●驗(yàn)收服務(wù)器相互比較
●驗(yàn)收和生產(chǎn)之間的比較
●使用相同的方法,對(duì)生產(chǎn)前的環(huán)境和測(cè)試時(shí)的環(huán)境進(jìn)行比較
修復(fù)有害的差異
生產(chǎn)服務(wù)器與測(cè)試服務(wù)器比較圖
檢查系統(tǒng)發(fā)生的更改示例圖
完成了上述的比較工作之后,就可以為IT運(yùn)營提供所有的差異情況。這些結(jié)果可以傳遞給不同的運(yùn)營專家,以便審閱。針對(duì)環(huán)境類別,將差異情況進(jìn)行細(xì)分,從而讓IT管理者可以為各個(gè)不同專家團(tuán)隊(duì)(數(shù)據(jù)庫管理員,系統(tǒng)管理員,應(yīng)用程序服務(wù)器管理員等),創(chuàng)建單獨(dú)的差異情況集。然后,他們就可以設(shè)定哪些差異是預(yù)期會(huì)發(fā)生的,哪些差異是需要修復(fù)的。通過這一設(shè)定工作,就產(chǎn)生了三組數(shù)據(jù)差異集:有待修復(fù)的差異、預(yù)期的差異、可忽略的差異。
需要強(qiáng)調(diào)的是,針對(duì)出現(xiàn)的差異,所進(jìn)行的第一次分析是最為重要的。一旦建立了初步的評(píng)估之后,后續(xù)的工作,就只要對(duì)新出現(xiàn)的差異進(jìn)行審查,然后將審查結(jié)果添加到已有的差異分析結(jié)果中。
部署
隨著環(huán)境校準(zhǔn)的完成,環(huán)境就做好了部署的準(zhǔn)備。由于Evolven代理已經(jīng)實(shí)現(xiàn)了部署,因此它們可以自動(dòng)收集所有的差異情況。
在使用自動(dòng)部署工具時(shí),可以將Evolven集成到部署腳本中。要完成這一工作,需要增加一項(xiàng)Evolven掃描和報(bào)告操作,以作為部署的最后一步。在不使用自動(dòng)化部署工具時(shí),可以根據(jù)部署時(shí)間,讓Evolven運(yùn)行部署報(bào)告。
檢查一致性
作為部署的一部分,一致性檢查報(bào)告會(huì)跟蹤所有的變化情況,從而幫助IT確定所有的變化都是一致的。
對(duì)于運(yùn)營專家來說,審查跟蹤是非常有用的。他們每個(gè)人都可以查看他們負(fù)責(zé)的組件中(應(yīng)用服務(wù)器,數(shù)據(jù)庫,應(yīng)用程序)所發(fā)生的一切變化,從而確保在每一階段,都只發(fā)生了所需要的更改。由于Evolven代理對(duì)所有的變化都進(jìn)行了跟蹤,因此報(bào)告首先將顯示的信息就是所有發(fā)生更改的參數(shù),這些參數(shù)的過去值和當(dāng)前值。
此外,發(fā)布經(jīng)理也可以進(jìn)行一致性檢查。一致性檢查工作包含兩類內(nèi)容:兩個(gè)環(huán)境之間的一致性,一個(gè)環(huán)境內(nèi)部的一致性。針對(duì)不同的環(huán)境,應(yīng)分別建立分析方案。分析方案中創(chuàng)建的指令,可以確定哪些環(huán)境會(huì)進(jìn)入一致性檢查。
一致性檢查按實(shí)現(xiàn)方式可以分為兩類,一類是通過自動(dòng)部署實(shí)現(xiàn)的一致性檢查,另一類是通過手動(dòng)部署實(shí)現(xiàn)的一致性檢查。自動(dòng)部署的方式,就是將部署腳本添加到初始的一致性檢查結(jié)果中,從而創(chuàng)建一個(gè)完全自動(dòng)化的,能夠自我驗(yàn)證的部署過程。通過一個(gè)應(yīng)用程序接口,部署腳本就可以啟動(dòng)一致性檢查,掃描服務(wù)器發(fā)生的所有的更改內(nèi)容,將檢查報(bào)告郵件發(fā)送至相關(guān)人員,或儲(chǔ)存至本地文件系統(tǒng)。而在以手動(dòng)部署實(shí)現(xiàn)的一致性檢查中,進(jìn)行實(shí)際部署的工程師必須清楚地認(rèn)識(shí)到,部署的最后一個(gè)階段是運(yùn)行一致性檢查。他們?cè)诘顷憫?yīng)用程序之后,對(duì)當(dāng)前的配置進(jìn)行掃描和刷新,然后運(yùn)行一致性檢查,以確定哪些變更是一致的,哪些不是。檢查結(jié)果可以顯示在Evolven的用戶界面中,或?qū)⑵鋵?dǎo)出形成報(bào)告。
修復(fù)
一致性檢查的結(jié)果可以被劃分為:
●一致的變更:這一類更改都以同樣的方式被部署到所有的服務(wù)器上。
●不一致的變更:這一類更改,在不同的服務(wù)器上有不同的值。
不一致的變更應(yīng)由部署經(jīng)理進(jìn)行審查。一致性檢查報(bào)告應(yīng)顯示同一環(huán)境中以及不同環(huán)境之間的一致性更改。正如在基線環(huán)境比較這一步驟中所描述的,檢查結(jié)果應(yīng)該被劃分為待修復(fù)的差異,預(yù)期的差異和可忽略的差異這三部分。
分析結(jié)果
要對(duì)一組結(jié)果進(jìn)行分析,并不是一項(xiàng)簡單的任務(wù)。在這里,可以通過運(yùn)用一些重要的經(jīng)驗(yàn)法則,減少列表瀏覽時(shí)間,并放大關(guān)鍵性的差異。
●關(guān)鍵參數(shù)
借助于Evolven的內(nèi)置知識(shí)庫,參數(shù)被分別歸類,因此,搜索可以通過審查那些被標(biāo)為關(guān)鍵性的參數(shù)開始。
●自動(dòng)分組
自動(dòng)分組是一個(gè)非常強(qiáng)大的工具,它可以幫助工作人員同時(shí)對(duì)多個(gè)對(duì)象進(jìn)行快速地瀏覽和審查,并且根據(jù)相似性將一整列的更改和差異劃分為不同的小組。搜索工作的重點(diǎn)是那些較小的組,因?yàn)樗鼈兊膮?shù)非常的顯著,具有最大的危害性。自動(dòng)分組工具可以循環(huán)使用,將大的分組劃分為較小的,特別側(cè)重于那些具有更多異常參數(shù)、以及沒有相似更改的小組。
●不斷更新的預(yù)期差異列表
在審查結(jié)果時(shí),遇到不一致之處,則應(yīng)將其標(biāo)記為預(yù)期的差異。預(yù)期差異是指那些包含本地IP地址、計(jì)算機(jī)名稱、域名等信息的差異。之所以將這些差異稱為可預(yù)期的差異,是因?yàn)檫@些值的不同是由設(shè)計(jì)本身所造成的。每進(jìn)行一次一致性檢查,就會(huì)產(chǎn)生一個(gè)更清楚的報(bào)告。
●處理重寫配置
在將參數(shù)標(biāo)記為預(yù)期參數(shù)后,將會(huì)產(chǎn)生一個(gè)警告,是否溢出相同的值。一旦所有的預(yù)期差異都按這樣標(biāo)記,那就只剩下有待修復(fù)的差異。在理想的情況下,管理員希望可以修復(fù)所有余下的差異,但在實(shí)踐中,有些差異可以忽略,因此,差異可以按類別得到不同的處理。
Evolven的發(fā)布驗(yàn)證功能,可以對(duì)已審查的和已更改的內(nèi)容進(jìn)行比較和驗(yàn)證,識(shí)別出所有未被自動(dòng)部署工具實(shí)施的更改,提高運(yùn)營過程中各種指標(biāo)的有效性,保證發(fā)布能按正常的軌道進(jìn)行,并保持系統(tǒng)性能的穩(wěn)定性和優(yōu)越性。
Evolven是一種保護(hù)IT運(yùn)營環(huán)境的有效工具,它能從整個(gè)環(huán)境(從應(yīng)用程序到硬件)中收集詳細(xì)的配置信息,不僅能夠識(shí)別差異,還可以運(yùn)用先進(jìn)的分析技術(shù),幫助IT團(tuán)隊(duì)放大關(guān)鍵的差異。
一個(gè)參數(shù)的任何一個(gè)錯(cuò)誤的配置都可能產(chǎn)生巨大的影響,延遲發(fā)布過程,甚至對(duì)生產(chǎn)階段產(chǎn)生影響。Evolven能夠針對(duì)已發(fā)布的配置參數(shù),提供細(xì)度水平最高的可視性,確?,F(xiàn)場(chǎng)環(huán)境的完整性能夠得到保護(hù),以及整個(gè)執(zhí)行過程可以順利堅(jiān)持到整個(gè)發(fā)布計(jì)劃的成功完成。
總的來說,使用Evolven的“發(fā)布驗(yàn)證”服務(wù),IT團(tuán)隊(duì)可以獲得這樣的優(yōu)勢(shì):
●驗(yàn)證應(yīng)用程序部署和軟件部署中發(fā)生的更改,并知道這些更改被順利地實(shí)現(xiàn)。
●監(jiān)控并主動(dòng)檢測(cè)任何未經(jīng)授權(quán)的更改和配置漂移,防止停機(jī)。
●對(duì)突發(fā)事件進(jìn)行調(diào)查,減少事故的平均解決時(shí)間。
●幫助產(chǎn)品更快地到達(dá)市場(chǎng),將更多時(shí)間用于業(yè)務(wù)需求的支持。
(消息來源:Evolven公司)