運(yùn)維的目標(biāo):運(yùn)維當(dāng)中重復(fù)著大量相同相似的工作,機(jī)器規(guī)模數(shù)量一上來,則需要考慮自動(dòng)化運(yùn)維,盡量做到第一次人工處理,后面都依賴腳本或者工具和WEB化來完成。這樣編寫shell、python腳本變得非常重要,不僅可以替代很多重復(fù)工作,而且提高效率和減少人工失誤率,我建議即使公司只有10臺(tái)服務(wù)器,最低標(biāo)準(zhǔn)也要腳本化。然而我發(fā)現(xiàn)工作中很多運(yùn)維人員編寫出來的腳本質(zhì)量太差,并且每個(gè)腳本都在重復(fù)很多代碼,用數(shù)據(jù)庫名詞來說就叫做冗余,這樣觸發(fā)我寫該文章的目的,設(shè)計(jì)腳本原子化(該名詞由騰訊某位大牛提出來的)
一、設(shè)計(jì)初衷
1. 運(yùn)維在日常的工作中可能會(huì)寫很多腳本來完成特定的一些功能,比如運(yùn)維A寫個(gè)版本發(fā)布的代碼,里面會(huì)有文件推送的邏輯,運(yùn)維B想實(shí)現(xiàn)一個(gè)遠(yuǎn)程腳本執(zhí)行的功能,可能在他的代碼里也有文件推送的邏輯。在沒有引入原子化設(shè)計(jì)的概念下,運(yùn)維人員用各自的方式來實(shí)現(xiàn)文件推送這塊的邏輯。這樣一來工作效率會(huì)很低,運(yùn)維人員都在重復(fù)的造輪子,而且這個(gè)輪子只適合他自己的業(yè)務(wù)場景