自動(dòng)化模式運(yùn)用于數(shù)據(jù)中心可行嗎
發(fā)布時(shí)間:2014-04-01 新聞來(lái)源:中國(guó)自動(dòng)化網(wǎng)
據(jù)自動(dòng)化英才網(wǎng)了解在IT界,特別是在數(shù)據(jù)中心架構(gòu)、建設(shè)和維護(hù)工作中的工作人員都表示,能夠從構(gòu)建新事物以及看著它們成功運(yùn)作中獲得滿(mǎn)足感。在數(shù)據(jù)中心的所有領(lǐng)域都是如此,從網(wǎng)絡(luò)到存儲(chǔ),大家喜歡構(gòu)建事物。
事物構(gòu)建完成之后,我們會(huì)開(kāi)始優(yōu)化它,并監(jiān)控一切以確保其正常運(yùn)行。在大多數(shù)情況下,這最終會(huì)涉及到一定程度的自動(dòng)化,而這正是工具箱腳本和開(kāi)發(fā)發(fā)揮作用的地方。通過(guò)編寫(xiě)一些代碼來(lái)取代手動(dòng)任務(wù),將其放入生產(chǎn)環(huán)節(jié),并移動(dòng)到下一個(gè)目標(biāo)。
理想情況下,工作人員應(yīng)該盡可能多地對(duì)代碼進(jìn)行錯(cuò)誤檢查,但很多時(shí)候,開(kāi)發(fā)人員并不會(huì)進(jìn)行真正的錯(cuò)誤檢查,這可能帶來(lái)巨大的災(zāi)難。
假設(shè)已經(jīng)部署了程序來(lái)調(diào)整負(fù)載均衡器,以及添加新的web服務(wù)器,我們真正要關(guān)注的是確保這些服務(wù)器上的應(yīng)用程序堆棧的穩(wěn)定性和正常運(yùn)行。我們編寫(xiě)了一些代碼,并將其放入到init腳本,讓每臺(tái)web服務(wù)器可以下載某些需要的變量因素,以便可以正常運(yùn)行。這又是簡(jiǎn)單的事情。我們可以自動(dòng)化anrsync或者scp進(jìn)程。我們可以非常快速方便地測(cè)試這個(gè)代碼。
但是,如果我們沒(méi)有對(duì)該代碼進(jìn)行足夠的錯(cuò)誤檢查,我們可能會(huì)發(fā)現(xiàn),在半年內(nèi),整個(gè)應(yīng)用程序開(kāi)始間歇性崩潰。也許文件名更改了,或者服務(wù)器被替換,或者某人更改了authorized_keys文件。這些都是看蘇無(wú)害的變化,當(dāng)這些web服務(wù)器啟動(dòng)時(shí),它們將無(wú)法訪問(wèn)它們需要的東西,從而無(wú)法正常運(yùn)行。
在這種情況下應(yīng)該會(huì)發(fā)生這樣的事情:服務(wù)器通過(guò)SNMP或者電子郵件顯示錯(cuò)誤,并不會(huì)打開(kāi)web服務(wù)。這個(gè)問(wèn)題將會(huì)顯而易見(jiàn),也許一些調(diào)試就可以解決。然而,如果服務(wù)器繼續(xù)打開(kāi)所有服務(wù),并加入到負(fù)載均衡組,它可能無(wú)法正常工作。
根據(jù)所遇到的實(shí)際問(wèn)題,這可能意味著新服務(wù)器上的所有服務(wù)都崩潰了,可能讓服務(wù)、內(nèi)容和應(yīng)用程序監(jiān)控框架無(wú)法檢測(cè)到攻擊。服務(wù)器可能看起來(lái)沒(méi)問(wèn)題,但實(shí)際并不是這樣。
如果這種影響相對(duì)較小,可能更加令人不安,這意味著通過(guò)該模版生成的新服務(wù)器啟動(dòng)時(shí),又會(huì)出現(xiàn)錯(cuò)誤報(bào)告,或者只會(huì)有小部分用戶(hù)受影響,因?yàn)橐呀?jīng)運(yùn)行的服務(wù)器沒(méi)有相同的問(wèn)題。這些問(wèn)題很難發(fā)現(xiàn)。筆者更愿意看到這樣的情況:?jiǎn)?dòng)十幾臺(tái)服務(wù)器、發(fā)現(xiàn)一個(gè)錯(cuò)誤、發(fā)送警報(bào),然后破壞應(yīng)用程序。與損壞的可能破壞數(shù)據(jù)庫(kù)的快速應(yīng)用程序相比,容量較低而減緩運(yùn)行的應(yīng)用程序更可接受。
這個(gè)問(wèn)題的關(guān)鍵是,看似微小的自動(dòng)化工作可能能夠完美地工作很長(zhǎng)的時(shí)間,但最終還是會(huì)帶來(lái)破壞。自動(dòng)駕駛儀是偉大的發(fā)明,但我們還是希望由人來(lái)駕駛汽車(chē),以確保事情的正常運(yùn)行。對(duì)于簡(jiǎn)單的自動(dòng)化任務(wù),我們應(yīng)該盡可能多地進(jìn)行錯(cuò)誤檢查,因?yàn)檫@和自動(dòng)化本身一樣重要。
筆者的一些自動(dòng)化腳本是25%的函數(shù)代碼,以及75%的錯(cuò)誤檢查和故障處理。當(dāng)自動(dòng)化腳本出現(xiàn)問(wèn)題時(shí),我們應(yīng)該將調(diào)試信息輸出到STDOUT。當(dāng)與cronjobs或啟動(dòng)腳本中的mail-E結(jié)合使用時(shí),調(diào)試到STDOUT能夠帶來(lái)簡(jiǎn)單的通知步驟。
自動(dòng)化確實(shí)能夠帶來(lái)很大的滿(mǎn)足感。我們能夠構(gòu)建一個(gè)機(jī)智的框架來(lái)簡(jiǎn)化一些工作,然后看著其運(yùn)作。但就像樂(lè)高車(chē)一樣,如果我們不重視,它最終將會(huì)碰壁。最好一開(kāi)始就做好規(guī)劃。
【打印】 【關(guān)閉】
分享到: | qq空間 | 新浪微博 | 人人網(wǎng) | 豆瓣網(wǎng) | MSN | 騰訊微博 |