領(lǐng)域備注:準(zhǔn)備好您的修補(bǔ)策略
最近,我和一位客戶偶然聊到一個(gè)有趣的 Service Pack 問(wèn)題。IT 團(tuán)隊(duì)決定將 SP2 應(yīng)用到其 SQL Server 生產(chǎn)服務(wù)器上。他們盡職盡責(zé)地工作:先將 Service Pack 應(yīng)用到測(cè)試環(huán)境中的服務(wù)器上,以確保使用 SQL Server 的應(yīng)用程序不會(huì)中斷。測(cè)試結(jié)果似乎非常理想。于是,他們通知了組織中的每一個(gè)人,并計(jì)劃好將此修補(bǔ)程序應(yīng)用到服務(wù)器的時(shí)間。
一切進(jìn)行得都非常順利。然后,他們繼續(xù)在測(cè)試階段將修補(bǔ)程序分發(fā)給服務(wù)器,***再在開(kāi)發(fā)階段真正實(shí)施。部署過(guò)程也完全符合標(biāo)準(zhǔn)。直到一位開(kāi)發(fā)人員嘗試打開(kāi)他的 Reporting Services 項(xiàng)目時(shí),才突然出現(xiàn)許多奇怪的小問(wèn)題。報(bào)告雖然打開(kāi)了,但部分報(bào)告不能使用。另一位開(kāi)發(fā)人員打開(kāi) Analysis Services 數(shù)據(jù)庫(kù)時(shí)一切正常,直到他嘗試打開(kāi)“計(jì)算成員”選項(xiàng)卡時(shí),才發(fā)現(xiàn)肯定是某些內(nèi)容出現(xiàn)了問(wèn)題。
您也許已經(jīng)猜到了問(wèn)題所在,服務(wù)器已經(jīng)接收到了 Service Pack,但是開(kāi)發(fā)人員并沒(méi)有接收到。由于安裝在桌面上的 SQL Server 客戶端工具被視為桌面部署的一部分,而不是服務(wù)器部署的一部分,因此這些工具不在升級(jí)范圍之內(nèi)。此外,要將 Service Pack 分發(fā)給開(kāi)發(fā)人員,還需要再對(duì)分發(fā)進(jìn)行一次測(cè)試和設(shè)置。(我們甚至不會(huì)提到一個(gè)事實(shí),即并非所有開(kāi)發(fā)人員都是循規(guī)蹈矩的 — 也就是說(shuō),一些開(kāi)發(fā)人員早已將策略沒(méi)有明確規(guī)定的 Service Pack 應(yīng)用到自己的桌面了。該部分完全可以再寫(xiě)一篇文章了)。
雖然現(xiàn)在已經(jīng)開(kāi)始采取措施解決這種雜亂現(xiàn)象,但是對(duì)該公司使用的一些分析型應(yīng)用程序的維護(hù)卻慢慢停頓下來(lái)。這種情況更加說(shuō)明 Service Pack 策略的不一致性及不明確性,同時(shí)也透露出部門(mén)與部門(mén)之間溝通的弊端。分發(fā) Service Pack 使生態(tài)環(huán)境更加安全,因此是非常重要的一個(gè)環(huán)節(jié)。
一些組織反對(duì)應(yīng)用 Service Pack,擔(dān)心 Service Pack 雖然能夠幫助解決漏洞,但分發(fā)此軟件會(huì)產(chǎn)生更多的沖突與困擾,會(huì)得不償失。其他組織根本就沒(méi)有策略,允許單個(gè)用戶和系統(tǒng)管理員隨意應(yīng)用或忽略修補(bǔ)程序。這樣就增加了維護(hù)任務(wù)本身的難度,因?yàn)樾扪a(bǔ)程序不一定出現(xiàn)在每一個(gè)服務(wù)器上。一些服務(wù)器受到全面的保護(hù),而其他服務(wù)器卻仍然保持安裝時(shí)的狀態(tài)。
大多數(shù)較大型和/或較復(fù)雜的 IT 組織都了解基礎(chǔ)結(jié)構(gòu)優(yōu)化模型,因此也都意識(shí)到自身應(yīng)該積極建立策略和實(shí)現(xiàn)程序,以防止這種情況發(fā)生。他們也知道可以把許多問(wèn)題自動(dòng)化,以避免出現(xiàn)這種窘?jīng)r。但是,最重要的是大家需要了解自己所做的哪些事情將影響其他人員和其他部門(mén),然后就是彼此溝通。
考慮 Service Pack 影響自己范圍的方式、思考與自己系統(tǒng)有關(guān)的部分事項(xiàng)以及了解自己使用的內(nèi)容比較容易;但是要越過(guò)個(gè)人領(lǐng)域,考慮外在更改所產(chǎn)生的影響,就比較困難了。有時(shí)候,我們?cè)趹?yīng)用 Service Pack 的時(shí)候,不免就會(huì)成為井底之蛙了。
幸好,這個(gè)問(wèn)題已經(jīng)輕松解決。原因是該公司的模型相當(dāng)成熟,確定問(wèn)題(重復(fù)一下,只有遵守規(guī)則的開(kāi)發(fā)人員才會(huì)遇到這個(gè)問(wèn)題,所以這在某種程度上有點(diǎn)令人費(fèi)解)后,就會(huì)立刻自動(dòng)分發(fā)修補(bǔ)程序。順暢的溝通再加上設(shè)計(jì)良好的系統(tǒng),使問(wèn)題可以在停機(jī)或中斷時(shí)間最短的情況下得到解決。
看來(lái)問(wèn)題的答案就是使我們的基礎(chǔ)結(jié)構(gòu)以及我們自身成熟起來(lái)。一個(gè)有效的 Service Pack 策略可以同時(shí)解決程序、產(chǎn)品以及人員方面的問(wèn)題。