服務(wù)項(xiàng)目:網(wǎng)站建設(shè)、仿站、程序開(kāi)發(fā)、APP開(kāi)發(fā)設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)設(shè)計(jì)、企業(yè)網(wǎng)站設(shè)計(jì)、電子商務(wù)網(wǎng)站開(kāi)發(fā)、網(wǎng)站維護(hù)、網(wǎng)站推廣、UX/UI 、HTML5、CSS3、JS / Jquery ...
四川???萍加邢薰?></a></div>
                    <div   id=四川???萍加邢薰? title=
四川???萍加邢薰?(開(kāi)發(fā)設(shè)計(jì)官網(wǎng))TEL : 15308000360 / QQ : 38585404

您的位置:首頁(yè) > 技術(shù)經(jīng)驗(yàn) > 網(wǎng)站運(yùn)維 > 正文

網(wǎng)站運(yùn)維之道 之自動(dòng)化管理
技術(shù)支持服務(wù)電話:15308000360 【7x24提供運(yùn)維服務(wù),解決各類系統(tǒng)/軟硬件疑難技術(shù)問(wèn)題】

在進(jìn)行這篇的扯淡之前,讓我想起了《太平廣記》里的一個(gè)《 板橋三娘子》的故事,姓趙的客商窺探到客棧老板娘三娘子在小箱子中取出小孩玩具大小的木頭牛,木頭人,噴口水,木頭人、牛開(kāi)始犁地耕作,撒一粒蕎麥種子,木頭小人種下,不一會(huì)兒,蕎麥長(zhǎng)成開(kāi)花結(jié)實(shí),木頭人收割,乃至磨成面粉。然后三娘子把木頭牛、人收入箱中,用得來(lái)的面粉做了數(shù)張面餅。多么好的一個(gè)自動(dòng)化場(chǎng)景呀。

自動(dòng)化的目的

自動(dòng)化管理是網(wǎng)站規(guī)?;蟊仨氁鎸?duì)的問(wèn)題。為什么要自動(dòng)化?肯定不是為了炫技,針對(duì)一個(gè)發(fā)展中的網(wǎng)站來(lái)說(shuō),自動(dòng)化的主要目的還是為了節(jié)省維護(hù)成本,提升運(yùn)維成熟度能力。另外一個(gè)經(jīng)常被忽略的收益是能讓運(yùn)維工作更有趣味性一些,不那么無(wú)聊,不無(wú)聊的有益副作用是減少人為出錯(cuò)的可能。

自動(dòng)化針對(duì)的范圍大致可以分為安裝自動(dòng)化、部署自動(dòng)化、軟件發(fā)布自動(dòng)化、升級(jí)自動(dòng)化、監(jiān)控自動(dòng)化等幾個(gè)方面。優(yōu)化自動(dòng)化? 別,這個(gè)稍微”高級(jí)”并且不靠譜了一點(diǎn)。

自動(dòng)化要解決的問(wèn)題是 N 次循環(huán)的過(guò)程,如果 N 不具備延續(xù)性,那么自動(dòng)化未必有必要。比如某個(gè)過(guò)程可能只是短時(shí)間內(nèi)需要臨時(shí)進(jìn)行幾次,是否有必要將其自動(dòng)化就有待于商榷。如果計(jì)劃和開(kāi)發(fā)自動(dòng)化過(guò)程的成本高于非自動(dòng)化成本就沒(méi)必要了。

開(kāi)發(fā)自動(dòng)化過(guò)程

如果看過(guò)古龍的小說(shuō),他曾經(jīng)描述過(guò)幾個(gè)有趣的懶人,懶人造了一些木頭人和機(jī)關(guān)來(lái)幫自己干一些不愿意做的事情。自動(dòng)化多少就是”懶人”要做的事情,因?yàn)閼新?,所以才?huì)想辦法節(jié)省時(shí)間和其他成本。一般來(lái)說(shuō),這個(gè)過(guò)程的開(kāi)發(fā)者也是使用者,所以沒(méi)必要一定要按照所謂的項(xiàng)目過(guò)程去走,但是開(kāi)發(fā)者必須能夠產(chǎn)出一份文檔給同團(tuán)隊(duì)的伙伴(如果有的話)。

考慮到多數(shù)的網(wǎng)站運(yùn)維可能都是在 Unix like 環(huán)境中的,而 Unix 的哲學(xué)思想之一就是”Write programs that do one thing and do it well”,每個(gè)過(guò)程只做一件事情就很關(guān)鍵,”功能單一的自動(dòng)化模塊”是有必要的,把不同的模塊拼裝起來(lái)再去完成更復(fù)雜的需求。

Unix 相比 Windows 來(lái)說(shuō),天生具備可自動(dòng)化能力。如 Shell/BASH(自動(dòng)化日常操作)、CronTab(自動(dòng)化任務(wù)調(diào)度) 、Expect (自動(dòng)化交互場(chǎng)景) 、rsync(數(shù)據(jù)遠(yuǎn)程同步)等 啊都是一些需要注意的技術(shù)內(nèi)容。

優(yōu)化自動(dòng)化過(guò)程

自動(dòng)化過(guò)程一般要有個(gè)生命周期,定期升級(jí)、優(yōu)化也是有必要的。面對(duì)不同的應(yīng)用場(chǎng)景應(yīng)該逐漸改進(jìn)自動(dòng)化的可用性。

示例:自動(dòng)部署 Linux

對(duì)于批量的 Linux 安裝,RedHat 提供有 Kickstart Installations 自動(dòng)安裝解決方案,不過(guò)該方案相對(duì)比較繁瑣,前不久推出的 Cobbler 是讓人眼前一亮的好工具(參見(jiàn) hutuworm 的介紹文章)。我一直懷疑 Cobbler 是中國(guó)人命名的項(xiàng)目,因?yàn)?PXE 發(fā)音為”pixie”(皮鞋),而 Cobbler 的中文意思是”補(bǔ)鞋匠”。

OS 安裝完畢之后的軟件安裝、更新是個(gè)麻煩事。在一個(gè) Linux 的環(huán)境中,SA 一定不要為軟件相互依賴性浪費(fèi)太多的時(shí)間。什么 YUM、APT、YAST 啊,能用就用上。別太迷信自己編譯軟件所能帶來(lái)的優(yōu)化收益,實(shí)際上犯錯(cuò)的幾率更大。達(dá)到某個(gè)規(guī)模后,本地建立、維護(hù)一個(gè)軟件資料庫(kù)(repositories)也是有必要的。

Linux 軟件安裝進(jìn)化之路:

手工預(yù)編譯-->RPM-->APT 等工具

已經(jīng)進(jìn)化到更好的階段了,沒(méi)必要還走著老路在原地折騰。

其他參考:Flickr 運(yùn)維曾經(jīng)采用 System Image 來(lái)自動(dòng)化 Linux 相關(guān)的的運(yùn)維工作。或許也可以嘗試一下。

在系統(tǒng)配置管理(別混淆到另一個(gè)配置管理上去)方面,其實(shí) cfengine 就挺好用的。更多類似工具參考這個(gè)比較列表。

標(biāo)準(zhǔn)化,減少后續(xù)維護(hù)成本是節(jié)省人力資源的一大法門(mén)。

自動(dòng)化的一些風(fēng)險(xiǎn)

必須要承認(rèn)的是,自動(dòng)化有的時(shí)候是容易帶來(lái)一些風(fēng)險(xiǎn)的,比如”沖掉”原有配置文件信息,不恰當(dāng)?shù)淖詣?dòng)化腳本給系統(tǒng)帶來(lái)額外負(fù)載等,在運(yùn)維過(guò)程中需要不斷總結(jié)經(jīng)驗(yàn)。(又落入俗套)

這方面值得推薦的一本書(shū)是《UNIX和Linux自動(dòng)化管理》,借鑒一下其中的思路和方法。

對(duì)了,補(bǔ)充一下前面的《板橋三娘子》的故事發(fā)展,三娘子的面餅如果被客人吃下,則會(huì)變成驢…… 同樣,自動(dòng)化有的時(shí)候會(huì)把人陷進(jìn)去的,運(yùn)維人不要變成自動(dòng)化的奴隸。



上一篇:消除小型 Web 站點(diǎn)單點(diǎn)故障(Single Point of Failure)
下一篇:網(wǎng)站運(yùn)維之道 之流程規(guī)范

相關(guān)熱詞搜索:網(wǎng)站運(yùn)維