AI技術(shù)撲面而來,其實(shí)我不知道AI究竟能給數(shù)據(jù)中心帶來什么,但有一點(diǎn)可以確認(rèn),腳本給數(shù)據(jù)中心帶來了變革,是數(shù)據(jù)中心自動化運(yùn)維的必要手段之一,也許腳本就是AI腳步到來的前奏。腳本化對數(shù)據(jù)中心來講意義非凡,其實(shí)數(shù)據(jù)中心里用腳本已經(jīng)幾十年了,在網(wǎng)絡(luò)監(jiān)控、信息采集、業(yè)務(wù)割接等方面應(yīng)用廣泛,只不過最近才有人將腳本的重要性再次強(qiáng)調(diào)出來,希望通過腳本可以做更多事情,希望將數(shù)據(jù)中心帶入自動化時(shí)代,用腳本來打天下。但腳本化并不是沒有缺點(diǎn),凡事都有兩面性,腳本化也一樣,本文就來談一談腳本化對數(shù)據(jù)中心的影響。
提升效率,將重復(fù)性的枯燥工作交給腳本
腳本化對于提升工作效率,減少人工收入成本方面非常的高效,人們只要將預(yù)定執(zhí)行的網(wǎng)絡(luò)命令提交給腳本軟件,由腳本軟件按照設(shè)計(jì)的時(shí)間和循環(huán),在確定的時(shí)間和確定的次數(shù)上在不同的設(shè)備上執(zhí)行不同的命令,一切都可以通過腳本程序來完成。比如:我們在定位網(wǎng)絡(luò)故障時(shí),需要確定一個(gè)具體報(bào)文在哪里丟掉了,就需要在所有的網(wǎng)絡(luò)設(shè)備上做流量統(tǒng)計(jì),如果我們提前做好流量統(tǒng)計(jì)的腳本,在所有設(shè)備上一下發(fā),立即就能知道故障點(diǎn)在哪里,可以節(jié)省很多時(shí)間,如果靠人手工登錄設(shè)備上去輸入,效率極低;我們在采集網(wǎng)絡(luò)設(shè)備端口流量時(shí),可以通過網(wǎng)管每分鐘或者每小時(shí)登錄設(shè)備采集一次,并將采集的數(shù)據(jù)反饋到監(jiān)控中心,這些工作都可以通過腳本完成。類似的工作還有很多,都可以通過腳本化來提升工作效率,腳本已經(jīng)成為數(shù)據(jù)中心不可缺少的一項(xiàng)運(yùn)維工具,這也催生了Perl、Python、TCL等腳本語言,懂得這些腳本語言的找工作時(shí)比較吃香。
自動化,釋放人力
腳本化第二大好處就是減少了人力投入,網(wǎng)絡(luò)設(shè)備和服務(wù)器有很多晦澀難懂的命令,不是專業(yè)選手很難記得清楚,通過腳本可以解決問題,將各種功能的命令寫到腳本里,當(dāng)需要的時(shí)候直接運(yùn)行相應(yīng)的腳本即可,還有一些業(yè)務(wù)變更和割接,也可以將具體執(zhí)行的命令通過腳本來完成,避免人為輸入出錯(cuò),小的變更甚至可以將操作直接給腳本來做,等時(shí)刻一到腳本自動執(zhí)行,不用人參與,這樣可以減少大量的人力投入。現(xiàn)在的數(shù)據(jù)中心規(guī)模越來越大,但實(shí)際從事數(shù)據(jù)中心運(yùn)維的人并沒有增加多少,這其實(shí)就是腳本的力量,有的數(shù)據(jù)中心還有自己的腳本開發(fā)團(tuán)隊(duì),專門開發(fā)設(shè)計(jì)各種腳本程序,將腳本提供給運(yùn)維的人員使用,極大地提升了運(yùn)維效率。現(xiàn)在很多人希望通過腳本化做更多的工作,讓整個(gè)數(shù)據(jù)中心運(yùn)維的工作能自動化,甚至AI化,這樣才能徹底釋放人力,未來這將是數(shù)據(jù)中心發(fā)展的重要方向。數(shù)據(jù)中心能自動化成什么樣不知道,能多AI化也不清楚,但有一點(diǎn)可以確認(rèn),就是數(shù)據(jù)中心更加離不開腳本,腳本化是當(dāng)前數(shù)據(jù)中心最需要的。
死機(jī)風(fēng)險(xiǎn)
腳本執(zhí)行起來對被執(zhí)行設(shè)備和執(zhí)行設(shè)備都有負(fù)擔(dān),如果設(shè)計(jì)的不合理,腳本長時(shí)間運(yùn)行就有死機(jī)風(fēng)險(xiǎn),這樣反而會增加隱患。比如:執(zhí)行腳本的命令太多頻繁,或者執(zhí)行的命令本身風(fēng)險(xiǎn)比較大,這樣在反復(fù)執(zhí)行的過程中,就可以觸發(fā)執(zhí)行命令的設(shè)備出現(xiàn)BUG,導(dǎo)致故障,本來腳本只是為了監(jiān)控?cái)?shù)據(jù)中心,采集一些數(shù)據(jù)信息,結(jié)果卻引起了故障。再有腳本跑久了,執(zhí)行腳本的服務(wù)器負(fù)載過大,也可能跑死機(jī),這樣之前采集的信息有可能會丟失,所有的努力前功盡棄。這樣講并不是不能用腳本,而是要謹(jǐn)慎地去使用它,科學(xué)地去利用它,避免因腳本使用不當(dāng)引入新的故障。現(xiàn)在的數(shù)據(jù)中心規(guī)模都很大,往往一個(gè)腳本要在數(shù)千臺設(shè)備上同時(shí)跑,一旦腳本本身出了問題,對數(shù)據(jù)中心就是災(zāi)難性的,所以對腳本化的使用一定要慎之又慎,它是一把雙刃劍,用的好可以披荊斬棘,用不好也可能傷到自己。
執(zhí)行非預(yù)期
在設(shè)計(jì)腳本時(shí),要在測試環(huán)境上多試多跑,反復(fù)確認(rèn)腳本的輸出結(jié)果是否符合預(yù)期,就算這樣,當(dāng)將腳本真正部署到數(shù)據(jù)中心設(shè)備上時(shí),依然經(jīng)常會出現(xiàn)意外的結(jié)果,所以要及時(shí)調(diào)整腳本。還有一些腳本的采集信息步驟過于復(fù)雜,每一步信息的采集都依賴上一步采集到的信息結(jié)果,每一步之間都有聯(lián)系,一旦順序跑錯(cuò),或者前一步運(yùn)行時(shí)間長一些,就會得不到預(yù)期效果,這種情況在數(shù)據(jù)中心里很多,我們經(jīng)常遇到問題,然后反查這些監(jiān)控腳本信息時(shí),發(fā)現(xiàn)采集的信息根本解決不了實(shí)際問題,腳本成了擺設(shè)。腳本要想真正發(fā)揮作用,就需要對腳本執(zhí)行的每一步認(rèn)真分析,看是否有必要,這也是為何很多大型數(shù)據(jù)中心都有自己的腳本開發(fā)團(tuán)隊(duì),他們專門針對數(shù)據(jù)中心的各種應(yīng)用設(shè)計(jì)實(shí)用的腳本程序,用于提升數(shù)據(jù)中心的工作效率,這種投入雖然會占用一定的人力成本,但給數(shù)據(jù)中心卻能帶來實(shí)實(shí)在在的好處,不然腳本化不徹底,不夠?qū)I(yè),在數(shù)據(jù)中心里就發(fā)揮不到關(guān)鍵作用。
數(shù)據(jù)中心實(shí)現(xiàn)全面腳本化部署,這是走向自動化的第一步,離AI的距離就進(jìn)一步。以往的數(shù)據(jù)中心也有部署各種腳本程序,但腳本的利用率不高,更多的工作還是依賴于人,工作極其低效。現(xiàn)在各種腳本語言非常豐富,執(zhí)行效率也很高,腳本才開始真正有了用武之地。腳本化是自動化和AI的先頭部隊(duì),要充分利用好腳本化,充分發(fā)揮腳本的作用,這將極大提升數(shù)據(jù)中心的運(yùn)營效率,對數(shù)據(jù)中心將產(chǎn)生深遠(yuǎn)的影響。