大型網(wǎng)站運(yùn)維探討和心得
大型網(wǎng)站運(yùn)維探討和心得
一、什么是大型網(wǎng)站運(yùn)維?
首先明確一下,全文所講的”運(yùn)維“是指:大型網(wǎng)站運(yùn)維,與其它運(yùn)維的區(qū)別還是蠻大的;然后我們?cè)賹?duì)大型網(wǎng)站與小型網(wǎng)站進(jìn)行范圍定義,此定義主要從運(yùn)維復(fù)雜性角度考慮,如網(wǎng)站規(guī)范、知名度、服務(wù)器量級(jí)、pv量等考慮,其它因素不是重點(diǎn);因此,我們先定義服務(wù)器規(guī)模大于1000臺(tái),pv每天至少上億(至少?lài)?guó)內(nèi)排名前10),如sina、baidu、QQ,51.com等等;其它小型網(wǎng)站可能沒(méi)有真正意義上的運(yùn)維工程師,這與網(wǎng)站規(guī)范不夠和成本因素有關(guān),更多的是集合網(wǎng)絡(luò)、系統(tǒng)、開(kāi)發(fā)工作于一身的“復(fù)合性人才”,就如有些公司把一些合同采購(gòu)都納入了運(yùn)維職責(zé)范圍,還有如IDC網(wǎng)絡(luò)規(guī)劃也納入運(yùn)維職責(zé)。所以,非常重要一定需要明白:運(yùn)維對(duì)其它關(guān)聯(lián)工種必須非常了解熟悉:網(wǎng)絡(luò)、系統(tǒng)、系統(tǒng)開(kāi)發(fā)、存儲(chǔ),安全,DB等;我在這里所講的運(yùn)維工程師就是指專(zhuān)職運(yùn)維工程師。我們?cè)賮?lái)說(shuō)說(shuō)一般產(chǎn)品的“出生”流程:
1、首先公司管理層給出指導(dǎo)思想,PM定位市場(chǎng)需求(或copy成熟應(yīng)用)進(jìn)行調(diào)研、分析、最終給出詳細(xì)設(shè)計(jì)。
2、架構(gòu)師根據(jù)產(chǎn)品設(shè)計(jì)的需求,如pv大小預(yù)估、服務(wù)器規(guī)模、應(yīng)用架構(gòu)等因素完成網(wǎng)絡(luò)規(guī)劃,架構(gòu)設(shè)計(jì)等(基本上對(duì)網(wǎng)絡(luò)變動(dòng)不大,除非大項(xiàng)目)3、開(kāi)發(fā)工程師將設(shè)計(jì)code實(shí)現(xiàn)出來(lái)、測(cè)試工程師對(duì)應(yīng)用進(jìn)行測(cè)試。
4、好,到運(yùn)維工程師出馬了,首先明確一點(diǎn)不是說(shuō)前三步就與運(yùn)維工作無(wú)關(guān)了,恰恰相反,前三步與運(yùn)維關(guān)系很大:應(yīng)用的前期架構(gòu)設(shè)計(jì)、軟/硬件資源評(píng)估申請(qǐng)采購(gòu)、應(yīng)用設(shè)計(jì)性能隱患及評(píng)估、IDC、服務(wù)性能\\安全調(diào)優(yōu)、服務(wù)器系統(tǒng)級(jí)優(yōu)化(與特定應(yīng)用有關(guān))等都需運(yùn)維全程參與,并主導(dǎo)整個(gè)應(yīng)用上線(xiàn)項(xiàng)目;運(yùn)維工程師負(fù)責(zé)產(chǎn)品服務(wù)器上架準(zhǔn)備工作,服務(wù)器系統(tǒng)安裝、網(wǎng)絡(luò)、IP、通用工具集安裝。運(yùn)維工程師還需要對(duì)上線(xiàn)的應(yīng)用系統(tǒng)架構(gòu)是否合理、是否具備可擴(kuò)展性、及安全隱患等因素負(fù)責(zé),并負(fù)責(zé)最后將產(chǎn)品(程序)、網(wǎng)絡(luò)、系統(tǒng)三者進(jìn)行拼接并最優(yōu)化的組合在一起,最終完成產(chǎn)品上線(xiàn)提供用戶(hù)使用,并周而復(fù)使:需求->開(kāi)發(fā)(升級(jí))->測(cè)試->上線(xiàn)(性能、安全問(wèn)題等之前預(yù)估外的問(wèn)題隨之慢慢就全出來(lái)了)在這里提一點(diǎn):網(wǎng)站開(kāi)發(fā)模式與傳統(tǒng)軟件開(kāi)發(fā)完全不一樣,網(wǎng)站一天開(kāi)發(fā)上線(xiàn)1~5個(gè)升級(jí)版本是家常便飯,用戶(hù)體驗(yàn)為王嘛,如果某個(gè)線(xiàn)上問(wèn)題像M$需要1年解決,用戶(hù)早跑光了;應(yīng)用上線(xiàn)后,運(yùn)維工作才剛開(kāi)始,具體工作可能包括:升級(jí)版本上線(xiàn)工作、服務(wù)監(jiān)控、應(yīng)用狀態(tài)統(tǒng)計(jì)、日常服務(wù)狀態(tài)巡檢、突發(fā)故障處理、服務(wù)日常變更調(diào)整、集群管理、服務(wù)性能評(píng)估優(yōu)化、數(shù)據(jù)庫(kù)管理優(yōu)化、隨著應(yīng)用PV增減進(jìn)行應(yīng)用架構(gòu)的伸縮、安全、運(yùn)維開(kāi)發(fā)工作:
a、盡量將日常機(jī)械性手工工作通過(guò)工具實(shí)現(xiàn)(如服務(wù)監(jiān)控、應(yīng)用狀態(tài)統(tǒng)計(jì)、服務(wù)上線(xiàn)等等),提高效率。
b、解決現(xiàn)實(shí)中服務(wù)存在的問(wèn)題,如高可靠性、可擴(kuò)展性問(wèn)題等。
c、大規(guī)模集群管理工具的開(kāi)發(fā),如1萬(wàn)臺(tái)機(jī)器如何在1分鐘內(nèi)完成密碼修改、或運(yùn)行指定任務(wù)?201*臺(tái)服務(wù)器如何快速安裝操作系統(tǒng)?各分布式IDC、存儲(chǔ)集群中數(shù)PT級(jí)的數(shù)據(jù)如何快速的存儲(chǔ)、共享、分析?等一系列挑戰(zhàn)都需運(yùn)維工程師的努力。
在此說(shuō)明一下其它配合工種情況,在整個(gè)項(xiàng)目中,前端應(yīng)用對(duì)于網(wǎng)絡(luò)/系統(tǒng)工程師來(lái)說(shuō)是黑匣子,同時(shí)開(kāi)發(fā)工程師職責(zé)只是負(fù)責(zé)完成應(yīng)用的功能性開(kāi)發(fā),并對(duì)應(yīng)用本身性能、安全性等應(yīng)用本身負(fù)責(zé),它不負(fù)責(zé)或關(guān)心網(wǎng)絡(luò)/系統(tǒng)架構(gòu)方面事宜,當(dāng)然軟/硬件采購(gòu)人員等事業(yè)部其它同事也不會(huì)關(guān)心這些問(wèn)題,各司其職,但項(xiàng)目的核心是運(yùn)維工程師~!所有其它部門(mén)的橋梁。
上面說(shuō)了很多,我想大家應(yīng)該對(duì)運(yùn)維有一些概念了,在此打個(gè)比方吧,如果我們是一輛高速行駛在高速公路上的汽車(chē),那運(yùn)維工程師就是司機(jī)兼維修工,這個(gè)司機(jī)不簡(jiǎn)單,有時(shí)需要在高速行駛過(guò)程中換輪胎、并根據(jù)道路情況換檔位、當(dāng)汽車(chē)速度越來(lái)越快,汽車(chē)本身不能滿(mǎn)足高速度時(shí)對(duì)汽車(chē)性能調(diào)優(yōu)或零件升級(jí)、高速行進(jìn)中解決汽車(chē)故障及性能問(wèn)題、時(shí)刻關(guān)注前方安全問(wèn)題,并先知先覺(jué)的采取規(guī)避手段。這就是運(yùn)維工作~!
最后說(shuō)一下運(yùn)維工程師的職責(zé):”確保線(xiàn)上穩(wěn)定“,看似簡(jiǎn)單,但實(shí)屬不容易,運(yùn)維工程師必須在諸多不利因素中進(jìn)行權(quán)衡:新產(chǎn)品模式對(duì)現(xiàn)有架構(gòu)及技術(shù)的沖擊、產(chǎn)品高頻度的升級(jí)帶來(lái)的線(xiàn)上BUG隱患、運(yùn)維自動(dòng)化管理承度不高導(dǎo)致的人為失誤、IT行業(yè)追求的高效率導(dǎo)致流程執(zhí)行上的缺失、用戶(hù)增漲帶來(lái)的性能及架構(gòu)上的壓力、IT行業(yè)寬松的技術(shù)管理文化、創(chuàng)新風(fēng)險(xiǎn)、互聯(lián)網(wǎng)安全性問(wèn)題等因素,都會(huì)是網(wǎng)站穩(wěn)定的大敵,運(yùn)維工程師必須把控好這最后一關(guān),需具體高度的責(zé)任感、原則性及協(xié)調(diào)能力,如果能做到各因素的最佳平衡,那就是一名優(yōu)秀的運(yùn)維工程師了。
另外在此聊點(diǎn)題外話(huà),我在這里看到有很多人要sina、QQ、baidu,51.com等聊自已的運(yùn)維方面的經(jīng)驗(yàn),其實(shí)這對(duì)于它們有點(diǎn)免為其難:
a、各公司自已網(wǎng)絡(luò)架構(gòu)、規(guī)模、或多或少還算是公司的核心秘密,要保密,另外,對(duì)于大家所熟知的通用軟件、架構(gòu),由于很多公司會(huì)根據(jù)自已實(shí)際業(yè)務(wù)需要,同時(shí)因?yàn)樵嫘阅、安全性、已知bug、功能等原因,進(jìn)行過(guò)二次開(kāi)發(fā)(如apache,php,mysql),操作系統(tǒng)內(nèi)核也會(huì)根據(jù)不同業(yè)務(wù)類(lèi)型進(jìn)行定制的,如某些應(yīng)用屬于運(yùn)算型、某些是高IO型、或大存儲(chǔ)大內(nèi)存型。根據(jù)這些特點(diǎn)進(jìn)行內(nèi)核優(yōu)化定制,如sina就在memcache上進(jìn)行過(guò)二次開(kāi)發(fā),搞出了一個(gè)MemcacheDB,具體做得如何我們不談,但開(kāi)源了,是值得稱(chēng)贊的,國(guó)內(nèi)公司對(duì)于開(kāi)源基本上是索取,沒(méi)有貢獻(xiàn);另外,服務(wù)器也不是大家所熟知的型號(hào),根據(jù)業(yè)務(wù)特點(diǎn),大部份都是找DELL/HP/ibm進(jìn)行過(guò)定制;另外,在分布式儲(chǔ)存方面都有自已解決方案,要不就是使用現(xiàn)成開(kāi)源hadoop等解決方案,或自已開(kāi)發(fā)。但90%都是借鑒googleGFS的思想:分布式存儲(chǔ)、計(jì)算、大表。b、各公司業(yè)務(wù)方向不一樣,會(huì)導(dǎo)致運(yùn)維模式或方法都不一樣,如51.com和baidu運(yùn)維肯定區(qū)別很大,因?yàn)樗麄儤I(yè)務(wù)模式?jīng)Q定了其架構(gòu)、服務(wù)器量級(jí)、IDC分布、網(wǎng)絡(luò)結(jié)構(gòu)、通用技術(shù)都會(huì)不一樣,主打新聞門(mén)戶(hù)的sina與主打sns的51.com運(yùn)維模式差異就非常大,甚至職責(zé)都不大一樣;但有一點(diǎn),通用技術(shù)及大致架構(gòu)上都大同小異,大家不要太神化,更多的公司只是玩壘積木的游戲罷了,沒(méi)什么技術(shù)含量。
c、如上面所講,目前大型網(wǎng)站運(yùn)維還處于幼年時(shí)期理念和經(jīng)驗(yàn)都比較零散,沒(méi)有成熟的知識(shí)體系,可能具體什么是運(yùn)維,大家都要先思索一番,或壓根沒(méi)想過(guò),真正討論也只是運(yùn)維工作的冰山一角,局限于具體技術(shù)細(xì)節(jié),或某某著名網(wǎng)站大的框架,真正運(yùn)維體系化東西沒(méi)有,這也許是目前網(wǎng)上運(yùn)維相關(guān)資料比較少的原故吧;蛘咭彩菄(guó)內(nèi)運(yùn)維人員比較難招,比較牛的運(yùn)維工程師比較少見(jiàn)的原因之一吧。二、運(yùn)維工作師需要什么樣的技能及素質(zhì)
做為一名運(yùn)維工程師需要什么樣的技能及素質(zhì)呢,首先說(shuō)說(shuō)技能吧,如大家上面所看到,運(yùn)維是一個(gè)集多IT工種技能與一身的崗位,對(duì)系統(tǒng)->網(wǎng)絡(luò)->存儲(chǔ)->協(xié)議->需求->開(kāi)發(fā)->測(cè)試->安全等各環(huán)節(jié)都需要了解一些,但對(duì)于某些環(huán)節(jié)需熟悉甚至精通,如系統(tǒng)(基本操作系統(tǒng)的熟悉使用,*nix,windows..)、協(xié)議、系統(tǒng)開(kāi)發(fā)(日常很重要的工作是自動(dòng)運(yùn)維化相關(guān)開(kāi)發(fā)、大規(guī)模集群工具開(kāi)發(fā)、管理)、通用應(yīng)用(如lvs、ha、webserver、db、中間件、存儲(chǔ)等)、網(wǎng)絡(luò),IDC拓樸架構(gòu);
技能方面總結(jié)以下幾點(diǎn):
1、開(kāi)發(fā)能力,這點(diǎn)非常重要,因?yàn)檫\(yùn)維工具都需要自已開(kāi)發(fā),開(kāi)發(fā)語(yǔ)言:c/c++(必備其中之一)、perl、python、php(其中之一)、shell(awk,sed,expect.等),需要有過(guò)實(shí)際開(kāi)發(fā)經(jīng)驗(yàn),否則工作會(huì)非常痛苦。2、通用應(yīng)用方面需要了解:操作系統(tǒng)(目前國(guó)內(nèi)主要是linux、bsd)、webserver相關(guān)(nginx,apahe,php,lighttpd,java。。。)、數(shù)據(jù)庫(kù)(mysql,oralce)、其它雜七八拉的東東。。。系統(tǒng)優(yōu)化,高可靠性。。。這些只是加分項(xiàng),不需必備,可以邊工作邊慢慢學(xué),這些東西都不難。當(dāng)然在運(yùn)維中,有些是有分工偏重點(diǎn)不一樣。
3、系統(tǒng)、網(wǎng)絡(luò)、安全,存儲(chǔ),CDN,DB等需要相當(dāng)了解,知道其相關(guān)原理。個(gè)人素質(zhì)方面:
1、溝通能力、團(tuán)隊(duì)協(xié)作:運(yùn)維工作跨部門(mén)、跨工種工作很多,需善于溝通、并且團(tuán)隊(duì)協(xié)作能力要強(qiáng);這應(yīng)該是現(xiàn)代企業(yè)的基本素質(zhì)要求了,不多說(shuō)。
2、工作中需膽大心細(xì):膽大才能創(chuàng)新、不走尋常路,特別對(duì)于運(yùn)維這種新的工種,更需創(chuàng)新才能促進(jìn)發(fā)展;心細(xì),運(yùn)維工程師是網(wǎng)站admin,最高線(xiàn)上權(quán)限者,一不小心就會(huì)遺憾終生或打入十八層地獄。
3、主動(dòng)性、執(zhí)行力、精力旺盛、抗壓能力強(qiáng):由于IT行業(yè)的特性,變化快;往往計(jì)劃趕不上變化,運(yùn)維工作就更突出了,比如國(guó)內(nèi)各大公司服務(wù)器往往是全國(guó)各地,哪里便宜性?xún)r(jià)比高,就那往搬,進(jìn)行大規(guī)模服務(wù)遷移(牽扯的服務(wù)器成百上千臺(tái)),這是一個(gè)非常頭痛的問(wèn)題;往往時(shí)間非常緊迫,如限1周內(nèi)完成,這種情況下,運(yùn)維工程師的主動(dòng)性及執(zhí)行力就有很高的要求了:計(jì)劃、方案、服務(wù)無(wú)縫遷移、機(jī)器搬遷上架、環(huán)境準(zhǔn)備、安全評(píng)估、性能評(píng)估、基建、各關(guān)聯(lián)部門(mén)扯皮,7X24小緊急事故響應(yīng)等。
4、其它就是一些基本素質(zhì)了:頭腦要靈光、邏輯思維能力強(qiáng)、為人謙虛穩(wěn)重、親和力、樂(lè)于助人、有大局觀(guān)。
5、最后一點(diǎn),做網(wǎng)站運(yùn)維需要有探索創(chuàng)新精神,通過(guò)創(chuàng)新型思維解決現(xiàn)實(shí)中的問(wèn)題,因?yàn)檫@是一個(gè)處于幼年的職業(yè)(國(guó)外也一樣,但比國(guó)內(nèi)起步早點(diǎn)),沒(méi)有成熟體系或方法論可以借鑒,只能靠大家自已摸索努力。
三、怎樣才算是一個(gè)合格的運(yùn)維工程師
1、保證服務(wù)達(dá)到要求的線(xiàn)上標(biāo)準(zhǔn),如99.9%;保證線(xiàn)上穩(wěn)定,這是運(yùn)維工程師的基本責(zé)職所在。
2、不斷的提升應(yīng)用的可靠性與健壯性、性能優(yōu)化、安全提升;這方面非?简(yàn)主動(dòng)性、和創(chuàng)新思維。
3、網(wǎng)站各層面監(jiān)控、統(tǒng)計(jì)的覆蓋度,軟件、硬件、運(yùn)行狀態(tài),能監(jiān)控的都需要監(jiān)控統(tǒng)計(jì),避免監(jiān)控死角、并能實(shí)時(shí)了解應(yīng)用的運(yùn)轉(zhuǎn)情況。4、通過(guò)創(chuàng)新思維解決運(yùn)維效率問(wèn)題;目前各公司大部份運(yùn)維主要工作還是依賴(lài)人工操作干預(yù),需要盡可能的解放雙手。
5、運(yùn)維知識(shí)的積累與沉淀、文檔的完備性,運(yùn)維是一個(gè)經(jīng)驗(yàn)性非常強(qiáng)的崗位,好的經(jīng)驗(yàn)與陷阱都需積累下來(lái),避免重復(fù)性范錯(cuò)。
6、計(jì)劃性和執(zhí)行力;工作有計(jì)劃,計(jì)劃后想法設(shè)法達(dá)到目標(biāo),不找借口。7、自動(dòng)化運(yùn)維;能對(duì)日常機(jī)械化工作進(jìn)行提煉、設(shè)計(jì)并開(kāi)發(fā)成工具、系統(tǒng),能讓系統(tǒng)自動(dòng)完成的盡量依靠系統(tǒng);讓大家更多的時(shí)間用于思考、創(chuàng)新思維、做自已喜歡的事情。
以上只是技術(shù)上的一些層面,當(dāng)然個(gè)人意識(shí)也是很重要的。
四、運(yùn)維職業(yè)的迷惘、現(xiàn)狀與發(fā)展前景
運(yùn)維崗位不像其它崗位,如研發(fā)工程師、測(cè)試工程師等,有非常明確的職責(zé)定位及職業(yè)規(guī)劃,比較有職業(yè)認(rèn)同感與成就感;而運(yùn)維工作可能給人的感覺(jué)是哪方面都了解一些,但又都比上專(zhuān)職工程師更精通、感覺(jué)平時(shí)被關(guān)注度比較低(除非線(xiàn)上出現(xiàn)故障),慢慢的大家就會(huì)迷惘,對(duì)職業(yè)發(fā)展產(chǎn)生困惑,為什么會(huì)有這種現(xiàn)象呢?除了職業(yè)本身特點(diǎn)外,主要還是因?yàn)閷?duì)運(yùn)維了解不深入、做得不深入導(dǎo)致;其實(shí)這個(gè)問(wèn)題其它崗位也會(huì)出現(xiàn),但我發(fā)現(xiàn)運(yùn)維更典型,更容易出現(xiàn)這個(gè)問(wèn)題;
針對(duì)這個(gè)問(wèn)題我談一下網(wǎng)站運(yùn)維的現(xiàn)狀及發(fā)展前景(也在思考中,可能不太深入全面,也請(qǐng)大家斧正補(bǔ)充)
運(yùn)維現(xiàn)狀:
1、處于剛起步的初級(jí)階段,各大公司有此專(zhuān)職,但重視或重要承度不高,可替代性強(qiáng);小公司更多是由其它崗位來(lái)兼顧做這一塊工作,沒(méi)有專(zhuān)職,也不可能做得深入
2、技術(shù)層次比較低;主要處于技術(shù)探索、積累階段,沒(méi)有型成體系化的理念、技術(shù)。
3、體力勞動(dòng)偏大;這個(gè)問(wèn)題主要與第二點(diǎn)有關(guān)系,很多事情還是依靠人力進(jìn)行,沒(méi)有完成好的提練,對(duì)于大規(guī)模集群沒(méi)有成熟的自動(dòng)化管理方法,在此說(shuō)明一下,大規(guī)模集群與運(yùn)維工作是息息相關(guān)的如果只是百十來(lái)臺(tái)機(jī)器,那就沒(méi)有運(yùn)維太大的生存空間了。
4、優(yōu)秀運(yùn)維人才的極度缺乏;目前各大公司基本上都靠自已培養(yǎng),這個(gè)現(xiàn)狀導(dǎo)致行業(yè)內(nèi)運(yùn)維人才的流動(dòng)性非常低,非常多好的技術(shù)都局限在各大公司內(nèi)部,如google50萬(wàn)臺(tái)機(jī)器科學(xué)的管理,或者國(guó)內(nèi)互聯(lián)公司top10的一些運(yùn)維經(jīng)驗(yàn),這些經(jīng)驗(yàn)是非常有價(jià)值的東西并決定了一個(gè)公司的核心競(jìng)爭(zhēng)力;這些問(wèn)題進(jìn)而導(dǎo)致業(yè)內(nèi)先進(jìn)運(yùn)維技術(shù)的流通、貫通、與借簽,并最終將限制了運(yùn)維發(fā)展。
5、很多優(yōu)秀的運(yùn)維經(jīng)驗(yàn)都掌握在大公司手中;這不在于公司的技術(shù)實(shí)力,而在于大公司的技術(shù)規(guī)模、海量PV、硬件規(guī)模足夠大,如baidu可怕的流量、51.com海量數(shù)據(jù)~~~~這些因素決定了他們遇到的問(wèn)題都是其它中/小公司還沒(méi)有遇到的,或即將遇到。但大公司可能已有很好的解決方案或系統(tǒng)。發(fā)展前景:
1、從行業(yè)角度來(lái)看,隨著中國(guó)互聯(lián)網(wǎng)的高速發(fā)展(目前中國(guó)網(wǎng)民已躍升為全球第一)、網(wǎng)站規(guī)模越來(lái)越來(lái)大、架構(gòu)越來(lái)越復(fù)雜;對(duì)專(zhuān)職網(wǎng)站運(yùn)維工程師、網(wǎng)站架構(gòu)師的要求會(huì)越來(lái)越急迫,特別是對(duì)有經(jīng)驗(yàn)的優(yōu)秀運(yùn)維人才需求量大,而且是越老越值錢(qián);目前國(guó)內(nèi)基本上都是選擇畢業(yè)生培養(yǎng)(限于大公司),培養(yǎng)成本高,而且沒(méi)有經(jīng)驗(yàn)人才加入會(huì)導(dǎo)致公司技術(shù)更新緩慢、影響公司的技術(shù)發(fā)展;當(dāng)然,畢業(yè)生也有好處:白紙一張,可塑性強(qiáng),比較認(rèn)同并容易融入企業(yè)文化。
2、從個(gè)人角度,運(yùn)維工程師技術(shù)含量及要求會(huì)越來(lái)越高,同時(shí)也是對(duì)公司應(yīng)用、架構(gòu)最了解最熟悉的人、越來(lái)越得到重視。
3、網(wǎng)站運(yùn)維將成為一個(gè)融合多學(xué)科(網(wǎng)絡(luò)、系統(tǒng)、開(kāi)發(fā)、安全、應(yīng)用架構(gòu)、存儲(chǔ)等)的綜合性技術(shù)崗位,給大家提供一個(gè)很好的個(gè)人能力與技術(shù)廣度的發(fā)展空間。
4、運(yùn)維工作的相關(guān)經(jīng)驗(yàn)將會(huì)變得非常重要,而且也將成為個(gè)人的核心競(jìng)爭(zhēng)力,具備很好的各層面問(wèn)題的解決能力及方案提供、全局思考能力等。
5、特長(zhǎng)發(fā)控和興趣的培養(yǎng);由于運(yùn)維崗位所接觸的知識(shí)面非常廣闊,更容易培養(yǎng)或發(fā)揮出個(gè)人某些方面的特長(zhǎng)或愛(ài)好,如內(nèi)核、網(wǎng)絡(luò)、開(kāi)發(fā)、數(shù)據(jù)庫(kù)等方面,可以做得非常深入精通、成為這方面的專(zhuān)家。
6、如果真要以后不想做運(yùn)維了,轉(zhuǎn)到其它崗位也比較容易,不會(huì)有太大的局限性。當(dāng)然了,你得真正用心去做。7、技術(shù)發(fā)展方向、網(wǎng)站/系統(tǒng)架構(gòu)師。
五、運(yùn)維關(guān)鍵技術(shù)點(diǎn)解剖1、大規(guī)模集群管理問(wèn)題
首先我們先要明確集群的概念,集群不是泛指各功能服務(wù)器的總合,而是指為了達(dá)到某一目的或功能的服務(wù)器、硬盤(pán)資源的整合(機(jī)器數(shù)大于兩臺(tái)),對(duì)于應(yīng)用來(lái)說(shuō)它就是一個(gè)整體,目前常規(guī)集群可分為:高可用性集群(HA),負(fù)載均衡集群(如lvs),分布式儲(chǔ)、計(jì)算存儲(chǔ)集群(DFS,如googlegfs,yahoohadoop),特定應(yīng)用集群(某一特定功能服務(wù)器組合、如db、cache層等),目前互聯(lián)網(wǎng)行業(yè)主要基于這四種類(lèi)型;對(duì)于前兩種類(lèi)似,如果業(yè)務(wù)簡(jiǎn)單、應(yīng)用上post操作比較少,可以簡(jiǎn)單的采用四層交換機(jī)解決(如f5),達(dá)到服務(wù)高可用/負(fù)責(zé)均衡的作用,對(duì)于資源緊張的公司也有一些開(kāi)源解決辦法如lvs+ha,非常靈活;對(duì)于后兩種,那就考驗(yàn)公司技術(shù)實(shí)力及應(yīng)用特點(diǎn)了,第三種DFS主要應(yīng)用于海量數(shù)據(jù)應(yīng)用上,如郵件、搜索等應(yīng)用,特別是搜索要求就更高了,除了簡(jiǎn)單海量存儲(chǔ),還包括數(shù)據(jù)挖掘、用戶(hù)行為分析;如google、yahoo就能保存分析近一年的用戶(hù)記錄數(shù)據(jù),而baidu應(yīng)該少于30天、soguo就更少了。。。這些對(duì)于搜索準(zhǔn)備性、及用戶(hù)體驗(yàn)是至關(guān)重要的。
接下來(lái),我們?cè)僬務(wù)勅绾慰茖W(xué)的管理集群,有以下關(guān)鍵幾點(diǎn):I、監(jiān)控
主要包括故障監(jiān)控和性能、流量、負(fù)載等狀態(tài)監(jiān)控,這些監(jiān)控關(guān)系到集群的健康運(yùn)行,及潛在問(wèn)題的及時(shí)發(fā)現(xiàn)與干預(yù);
a、服務(wù)故障、狀態(tài)監(jiān)控:主要是對(duì)服務(wù)器自身、上層應(yīng)用、關(guān)聯(lián)服務(wù)數(shù)據(jù)交互監(jiān)控;例如針對(duì)前端webserver,我們就可以有很多種類(lèi)型的監(jiān)控,包括應(yīng)用端口狀態(tài)監(jiān)控,便于及時(shí)發(fā)現(xiàn)服務(wù)器或應(yīng)用本身是否crash、通過(guò)icmp包探測(cè)服務(wù)器健康狀態(tài),更上層可能還包括應(yīng)用各頻道業(yè)務(wù)的監(jiān)控,常用方法是采用面業(yè)特征碼進(jìn)行判斷,或?qū)χ攸c(diǎn)頁(yè)面進(jìn)行簽名,以網(wǎng)站被黑篡改(報(bào)警、并自動(dòng)恢復(fù)被篡改數(shù)據(jù))等等,這些只是一部份,還有N多監(jiān)控方式,依應(yīng)用特點(diǎn)而定,還有一些問(wèn)題需解決,如集群過(guò)大,如何高性能的進(jìn)行監(jiān)控也是一個(gè)現(xiàn)實(shí)問(wèn)題。b、其它就是集群狀態(tài)類(lèi)的監(jiān)控或統(tǒng)計(jì),為我們合理管理調(diào)優(yōu)集群提供數(shù)據(jù)參考、包括服務(wù)瓶頸、性能問(wèn)題、異常流量、攻擊等問(wèn)題。II、故障管理
a、硬件故障問(wèn)題;對(duì)于成百上千或上萬(wàn)機(jī)器的N多集群,服務(wù)器死機(jī)、硬件故障概率是非常大的,幾乎每時(shí)每刻都有服務(wù)硬件問(wèn)題,死機(jī)、硬盤(pán)損壞、電源、內(nèi)存、交換機(jī)。針對(duì)這種情況,我們?cè)谠O(shè)計(jì)網(wǎng)站架構(gòu)時(shí)需要充分考慮到這些問(wèn)題,并將其視為常態(tài);更多的依靠應(yīng)用的冗余機(jī)制來(lái)規(guī)避這種風(fēng)險(xiǎn),但給系統(tǒng)工程師足夠?qū)捲5奶幚頃r(shí)間。(如google不是號(hào)稱(chēng)同時(shí)死800臺(tái)機(jī)器,服務(wù)不會(huì)受到任何影響嗎);這就是考驗(yàn)運(yùn)維工程師及網(wǎng)站架構(gòu)師功能的地方了,好的設(shè)計(jì)能達(dá)到google所描述自恢復(fù)能力,如gfs,糟糕的設(shè)計(jì)那就是一臺(tái)服務(wù)器的死機(jī)可能會(huì)造成大面積服務(wù)的連鎖故障反映,直接對(duì)用戶(hù)拒絕響應(yīng)。
b、應(yīng)用故障問(wèn)題;可能是某一bug被觸發(fā)、或某一性能閥值被超越、攻擊等情況不一而定,但重要的一點(diǎn),是要有對(duì)這些問(wèn)題的預(yù)防性措施,不能想當(dāng)然,它不會(huì)出問(wèn)題,如真出問(wèn)題了,如何應(yīng)對(duì)?這需要運(yùn)維工程師平時(shí)做足功夫,包括應(yīng)急響應(yīng)速度、故障處理的科學(xué)性、備用方案的有效等。
III、自動(dòng)化
自動(dòng)化:簡(jiǎn)而言之,就是將我們?nèi)粘J謩?dòng)進(jìn)行的一些工作通過(guò)工具,系統(tǒng)自動(dòng)來(lái)完成,解放我們的雙手及枯燥的重復(fù)性勞動(dòng),例如:沒(méi)有工具前,我們安裝系統(tǒng)需要一臺(tái)一臺(tái)裸機(jī)安裝,如201*臺(tái),可能需要10人/10天,搞爛N張光盤(pán),人力成本更大。。。而現(xiàn)在通過(guò)自動(dòng)化工具,只需幾個(gè)簡(jiǎn)單命令就能搞定、還有如機(jī)器人類(lèi)程序,自動(dòng)完成以往每天人工干預(yù)的工作,使其自動(dòng)完成、匯報(bào)結(jié)果,并具備一定的專(zhuān)家系統(tǒng)能力,能做一些簡(jiǎn)單的是/非判斷、優(yōu)化選擇等。。。這些好處非常明顯不再多說(shuō)。。。應(yīng)該說(shuō),自動(dòng)化運(yùn)維是運(yùn)維工程師職業(yè)化的一個(gè)追求,利已利公,雖然這是一個(gè)異常艱巨的任務(wù):不斷變更的業(yè)務(wù)、不規(guī)范化的應(yīng)用設(shè)計(jì)、開(kāi)發(fā)模式、網(wǎng)絡(luò)架構(gòu)變更、IDC變更、規(guī)范變動(dòng)等因素,都可能會(huì)對(duì)現(xiàn)有自動(dòng)化系統(tǒng)產(chǎn)生影響,所以需要模塊化、接口化、變因參數(shù)化等因此,自動(dòng)化相關(guān)工作,是運(yùn)維工程師的核心重點(diǎn)工作之一,也是價(jià)值的體現(xiàn)。
五、運(yùn)維中關(guān)鍵技術(shù)點(diǎn)解剖(比較實(shí)際,現(xiàn)實(shí)中的案例,今天先想出這幾條,如大家有其它感覺(jué)興趣的,可以提出,一起交流~)1大量高并發(fā)網(wǎng)站的設(shè)計(jì)方案
2高可靠、高可伸縮性網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)3網(wǎng)站安全問(wèn)題,如何避免被黑?4南北互聯(lián)問(wèn)題,動(dòng)態(tài)CDN解決方案5海量數(shù)據(jù)存儲(chǔ)架構(gòu)
擴(kuò)展閱讀:大型網(wǎng)站運(yùn)維探討和心得分享
大型網(wǎng)站運(yùn)維探討和心得分享
看到一篇不錯(cuò)的心得體會(huì);相信我們做技術(shù)的都會(huì)有或多或少的擔(dān)憂(yōu)自己的未來(lái)職業(yè)發(fā)展,下面和大家一起來(lái)探討一下。一、什么是大型網(wǎng)站運(yùn)維?
首先明確一下,全文所講的”運(yùn)維“是指:大型網(wǎng)站運(yùn)維,與其它運(yùn)維的區(qū)別還是蠻大的;然后我們?cè)賹?duì)大型網(wǎng)站與小型網(wǎng)站進(jìn)行范圍定義,此定義主要從運(yùn)維復(fù)雜性角度考慮,如網(wǎng)站規(guī)范、知名度、服務(wù)器量級(jí)、pv量等考慮,其它因素不是重點(diǎn);因此,我們先定義服務(wù)器規(guī)模大于1000臺(tái),pv每天至少上億(至少?lài)?guó)內(nèi)排名前10),如sina、baidu、QQ,51.com等等;其它小型網(wǎng)站可能沒(méi)有真正意義上的運(yùn)維工程師,這與網(wǎng)站規(guī)范不夠和成本因素有關(guān),更多的是集合網(wǎng)絡(luò)、系統(tǒng)、開(kāi)發(fā)工作于一身的“復(fù)合性人才”,就如有些公司把一些合同采購(gòu)都納入了運(yùn)維職責(zé)范圍,還有如IDC網(wǎng)絡(luò)規(guī)劃也納入運(yùn)維職責(zé)。所以,非常重要一定需要明白:運(yùn)維對(duì)其它關(guān)聯(lián)工種必須非常了解熟悉:網(wǎng)絡(luò)、系統(tǒng)、系統(tǒng)開(kāi)發(fā)、存儲(chǔ),安全,DB等;我在這里所講的運(yùn)維工程師就是指專(zhuān)職運(yùn)維工程師。我們?cè)賮?lái)說(shuō)說(shuō)一般產(chǎn)品的“出生”流程:
1、首先公司管理層給出指導(dǎo)思想,PM定位市場(chǎng)需求(或copy成熟應(yīng)用)進(jìn)行調(diào)研、分析、最終給出詳細(xì)設(shè)計(jì)。
2、架構(gòu)師根據(jù)產(chǎn)品設(shè)計(jì)的需求,如pv大小預(yù)估、服務(wù)器規(guī)模、應(yīng)用架構(gòu)等因素完成網(wǎng)絡(luò)規(guī)劃,架構(gòu)設(shè)計(jì)等(基本上對(duì)網(wǎng)絡(luò)變動(dòng)不大,除非大項(xiàng)目)
3、開(kāi)發(fā)工程師將設(shè)計(jì)code實(shí)現(xiàn)出來(lái)、測(cè)試工程師對(duì)應(yīng)用進(jìn)行測(cè)試。
4、好,到運(yùn)維工程師出馬了,首先明確一點(diǎn)不是說(shuō)前三步就與運(yùn)維工作無(wú)關(guān)了,恰恰相反,前三步與運(yùn)維關(guān)系很大:應(yīng)用的前期架構(gòu)設(shè)計(jì)、軟/硬件資源評(píng)估申請(qǐng)采購(gòu)、應(yīng)用設(shè)計(jì)性能隱患及評(píng)估、IDC、服務(wù)性能\\安全調(diào)優(yōu)、服務(wù)器系統(tǒng)級(jí)優(yōu)化(與特定應(yīng)用有關(guān))等都需運(yùn)維全程參與,并主導(dǎo)整個(gè)應(yīng)用上線(xiàn)項(xiàng)目;運(yùn)維工程師負(fù)責(zé)產(chǎn)品服務(wù)器上架準(zhǔn)備工作,服務(wù)器系統(tǒng)安裝、網(wǎng)絡(luò)、IP、通用工具集安裝。運(yùn)維工程師還需要對(duì)上線(xiàn)的應(yīng)用系統(tǒng)架構(gòu)是否合理、是否具備可擴(kuò)展性、及安全隱患等因素負(fù)責(zé),并負(fù)責(zé)最后將產(chǎn)品(程序)、網(wǎng)絡(luò)、系統(tǒng)三者進(jìn)行拼接并最優(yōu)化的組合在一起,最終完成產(chǎn)品上線(xiàn)提供用戶(hù)使用,并周而復(fù)使:需求->開(kāi)發(fā)(升級(jí))->測(cè)試->上線(xiàn)(性能、安全問(wèn)題等之前預(yù)估外的問(wèn)題隨之慢慢就全出來(lái)了)在這里提一點(diǎn):網(wǎng)站開(kāi)發(fā)模式與傳統(tǒng)軟件開(kāi)發(fā)完全不一樣,網(wǎng)站一天開(kāi)發(fā)上線(xiàn)1~5個(gè)升級(jí)版本是家常便飯,用戶(hù)體驗(yàn)為王嘛,如果某個(gè)線(xiàn)上問(wèn)題像M$需要1年解決,用戶(hù)早跑光了;應(yīng)用上線(xiàn)后,運(yùn)維工作才剛開(kāi)始,具體工作可能包括:升級(jí)版本上線(xiàn)工作、服務(wù)監(jiān)控、應(yīng)用狀態(tài)統(tǒng)計(jì)、日常服務(wù)狀態(tài)巡檢、突發(fā)故障處理、服務(wù)日常變更調(diào)整、集群管理、服務(wù)性能評(píng)估優(yōu)化、數(shù)據(jù)庫(kù)管理優(yōu)化、隨著應(yīng)用PV增減進(jìn)行應(yīng)用架構(gòu)的伸縮、安全、運(yùn)維開(kāi)發(fā)工作:a、盡量將日常機(jī)械性手工工作通過(guò)工具實(shí)現(xiàn)(如服務(wù)監(jiān)控、應(yīng)用狀態(tài)統(tǒng)計(jì)、服務(wù)上線(xiàn)等等),提高效率。
b、解決現(xiàn)實(shí)中服務(wù)存在的問(wèn)題,如高可靠性、可擴(kuò)展性問(wèn)題等。
c、大規(guī)模集群管理工具的開(kāi)發(fā),如1萬(wàn)臺(tái)機(jī)器如何在1分鐘內(nèi)完成密碼修改、或運(yùn)行指定任務(wù)?201*臺(tái)服務(wù)器如何快速安裝操作系統(tǒng)?各分布式IDC、存儲(chǔ)集群中數(shù)PT級(jí)的數(shù)據(jù)如何快速的存儲(chǔ)、共享、分析?等一系列挑戰(zhàn)都需運(yùn)維工程師的努力。在此說(shuō)明一下其它配合工種情況,在整個(gè)項(xiàng)目中,前端應(yīng)用對(duì)于網(wǎng)絡(luò)/系統(tǒng)工程師來(lái)說(shuō)是黑匣子,同時(shí)開(kāi)發(fā)工程師職責(zé)只是負(fù)責(zé)完成應(yīng)用的功能性開(kāi)發(fā),并對(duì)應(yīng)用本身性能、安全性等應(yīng)用本身負(fù)責(zé),它不負(fù)責(zé)或關(guān)心網(wǎng)絡(luò)/系統(tǒng)架構(gòu)方面事宜,當(dāng)然軟/硬件采購(gòu)人員等事業(yè)部其它同事也不會(huì)關(guān)心這些問(wèn)題,各司其職,但項(xiàng)目的核心是運(yùn)維工程師~!所有其它部門(mén)的橋梁。
上面說(shuō)了很多,我想大家應(yīng)該對(duì)運(yùn)維有一些概念了,在此打個(gè)比方吧,如果我們是一輛高速行駛在高速公路上的汽車(chē),那運(yùn)維工程師就是司機(jī)兼維修工,這個(gè)司機(jī)不簡(jiǎn)單,有時(shí)需要在高速行駛過(guò)程中換輪胎、并根據(jù)道路情況換檔位、當(dāng)汽車(chē)速度越來(lái)越快,汽車(chē)本身不能滿(mǎn)足高速度時(shí)對(duì)汽車(chē)性能調(diào)優(yōu)或零件升級(jí)、高速行進(jìn)中解決汽車(chē)故障及性能問(wèn)題、時(shí)刻關(guān)注前方安全問(wèn)題,并先知先覺(jué)的采取規(guī)避手段。這就是運(yùn)維工作~!
最后說(shuō)一下運(yùn)維工程師的職責(zé):”確保線(xiàn)上穩(wěn)定“,看似簡(jiǎn)單,但實(shí)屬不容易,運(yùn)維工程師必須在諸多不利因素中進(jìn)行權(quán)衡:新產(chǎn)品模式對(duì)現(xiàn)有架構(gòu)及技術(shù)的沖擊、產(chǎn)品高頻度的升級(jí)帶來(lái)的線(xiàn)上BUG隱患、運(yùn)維自動(dòng)化管理承度不高導(dǎo)致的人為失誤、IT行業(yè)追求的高效率導(dǎo)致流程執(zhí)行上的缺失、用戶(hù)增漲帶來(lái)的性能及架構(gòu)上的壓力、IT行業(yè)寬松的技術(shù)管理文化、創(chuàng)新風(fēng)險(xiǎn)、互聯(lián)網(wǎng)安全性問(wèn)題等因素,都會(huì)是網(wǎng)站穩(wěn)定的大敵,運(yùn)維工程師必須把控好這最后一關(guān),需具體高度的責(zé)任感、原則性及協(xié)調(diào)能力,如果能做到各因素的最佳平衡,那就是一名優(yōu)秀的運(yùn)維工程師了。
另外在此聊點(diǎn)題外話(huà),我在這里看到有很多人要sina、QQ、baidu,51.com等聊自已的運(yùn)維方面的經(jīng)驗(yàn),其實(shí)這對(duì)于它們有點(diǎn)免為其難:
a、各公司自已網(wǎng)絡(luò)架構(gòu)、規(guī)模、或多或少還算是公司的核心秘密,要保密,另外,對(duì)于大家所熟知的通用軟件、架構(gòu),由于很多公司會(huì)根據(jù)自已實(shí)際業(yè)務(wù)需要,同時(shí)因?yàn)樵嫘阅堋踩、已知bug、功能等原因,進(jìn)行過(guò)二次開(kāi)發(fā)(如apache,php,mysql),操作系統(tǒng)內(nèi)核也會(huì)根據(jù)不同業(yè)務(wù)類(lèi)型進(jìn)行定制的,如某些應(yīng)用屬于運(yùn)算型、某些是高IO型、或大存儲(chǔ)大內(nèi)存型。根據(jù)這些特點(diǎn)進(jìn)行內(nèi)核優(yōu)化定制,如sina就在memcache上進(jìn)行過(guò)二次開(kāi)發(fā),搞出了一個(gè)MemcacheDB,具體做得如何我們不談,但開(kāi)源了,是值得稱(chēng)贊的,國(guó)內(nèi)公司對(duì)于開(kāi)源基本上是索取,沒(méi)有貢獻(xiàn);另外,服務(wù)器也不是大家所熟知的型號(hào),根據(jù)業(yè)務(wù)特點(diǎn),大部份都是找DELL/HP/ibm進(jìn)行過(guò)定制;另外,在分布式儲(chǔ)存方面都有自已解決方案,要不就是使用現(xiàn)成開(kāi)源hadoop等解決方案,或自已開(kāi)發(fā)。但90%都是借鑒googleGFS的思想:分布式存儲(chǔ)、計(jì)算、大表。
b、各公司業(yè)務(wù)方向不一樣,會(huì)導(dǎo)致運(yùn)維模式或方法都不一樣,如51.com和baidu運(yùn)維肯定區(qū)別很大,因?yàn)樗麄儤I(yè)務(wù)模式?jīng)Q定了其架構(gòu)、服務(wù)器量級(jí)、IDC分布、網(wǎng)絡(luò)結(jié)構(gòu)、通用技術(shù)都會(huì)不一樣,主打新聞門(mén)戶(hù)的sina與主打sns的51.com運(yùn)維模式差異就非常大,甚至職責(zé)都不大一樣;但有一點(diǎn),通用技術(shù)及大致架構(gòu)上都大同小異,大家不要太神化,更多的公司只是玩壘積木的游戲罷了,沒(méi)什么技術(shù)含量。
c、如上面所講,目前大型網(wǎng)站運(yùn)維還處于幼年時(shí)期理念和經(jīng)驗(yàn)都比較零散,沒(méi)有成熟的知識(shí)體系,可能具體什么是運(yùn)維,大家都要先思索一番,或壓根沒(méi)想過(guò),真正討論也只是運(yùn)維工作的冰山一角,局限于具體技術(shù)細(xì)節(jié),或某某著名網(wǎng)站大的框架,真正運(yùn)維體系化東西沒(méi)有,這也許是目前網(wǎng)上運(yùn)維相關(guān)資料比較少的原故吧。或者也是國(guó)內(nèi)運(yùn)維人員比較難招,比較牛的運(yùn)維工程師比較少見(jiàn)的原因之一吧。二、運(yùn)維工作師需要什么樣的技能及素質(zhì)
做為一名運(yùn)維工程師需要什么樣的技能及素質(zhì)呢,首先說(shuō)說(shuō)技能吧,如大家上面所看到,運(yùn)維是一個(gè)集多IT工種技能與一身的崗位,對(duì)系統(tǒng)->網(wǎng)絡(luò)->存儲(chǔ)->協(xié)議->需求->開(kāi)發(fā)->測(cè)試->安全等各環(huán)節(jié)都需要了解一些,但對(duì)于某些環(huán)節(jié)需熟悉甚至精通,如系統(tǒng)(基本操作系統(tǒng)的熟悉使用,*nix,windows..)、協(xié)議、系統(tǒng)開(kāi)發(fā)(日常很重要的工作是自動(dòng)運(yùn)維化相關(guān)開(kāi)發(fā)、大規(guī)模集群工具開(kāi)發(fā)、管理)、通用應(yīng)用(如lvs、ha、webserver、db、中間件、存儲(chǔ)等)、網(wǎng)絡(luò),IDC拓樸架構(gòu);技能方面總結(jié)以下幾點(diǎn):
1、開(kāi)發(fā)能力,這點(diǎn)非常重要,因?yàn)檫\(yùn)維工具都需要自已開(kāi)發(fā),開(kāi)發(fā)語(yǔ)言:c/c++(必備其中之一)、perl、python、php(其中之一)、shell(awk,sed,expect….等),需要有過(guò)實(shí)際開(kāi)發(fā)經(jīng)驗(yàn),否則工作會(huì)非常痛苦。
2、通用應(yīng)用方面需要了解:操作系統(tǒng)(目前國(guó)內(nèi)主要是linux、bsd)、webserver相關(guān)(nginx,apahe,php,lighttpd,java。。。)、數(shù)據(jù)庫(kù)(mysql,oralce)、其它雜七八拉的東東。。。系統(tǒng)優(yōu)化,高可靠性。。。這些只是加分項(xiàng),不需必備,可以邊工作邊慢慢學(xué),這些東西都不難。當(dāng)然在運(yùn)維中,有些是有分工偏重點(diǎn)不一樣。
3、系統(tǒng)、網(wǎng)絡(luò)、安全,存儲(chǔ),CDN,DB等需要相當(dāng)了解,知道其相關(guān)原理。個(gè)人素質(zhì)方面:
1、溝通能力、團(tuán)隊(duì)協(xié)作:運(yùn)維工作跨部門(mén)、跨工種工作很多,需善于溝通、并且團(tuán)隊(duì)協(xié)作能力要強(qiáng);這應(yīng)該是現(xiàn)代企業(yè)的基本素質(zhì)要求了,不多說(shuō)。
2、工作中需膽大心細(xì):膽大才能創(chuàng)新、不走尋常路,特別對(duì)于運(yùn)維這種新的工種,更需創(chuàng)新才能促進(jìn)發(fā)展;心細(xì),運(yùn)維工程師是網(wǎng)站admin,最高線(xiàn)上權(quán)限者,一不小心就會(huì)遺憾終生或打入十八層地獄。
3、主動(dòng)性、執(zhí)行力、精力旺盛、抗壓能力強(qiáng):由于IT行業(yè)的特性,變化快;往往計(jì)劃趕不上變化,運(yùn)維工作就更突出了,比如國(guó)內(nèi)各大公司服務(wù)器往往是全國(guó)各地,哪里便宜性?xún)r(jià)比高,就那往搬,進(jìn)行大規(guī)模服務(wù)遷移(牽扯的服務(wù)器成百上千臺(tái)),這是一個(gè)非常頭痛的問(wèn)題;往往時(shí)間非常緊迫,如限1周內(nèi)完成,這種情況下,運(yùn)維工程師的主動(dòng)性及執(zhí)行力就有很高的要求了:計(jì)劃、方案、服務(wù)無(wú)縫遷移、機(jī)器搬遷上架、環(huán)境準(zhǔn)備、安全評(píng)估、性能評(píng)估、基建、各關(guān)聯(lián)部門(mén)扯皮,7X24小緊急事故響應(yīng)等。
4、其它就是一些基本素質(zhì)了:頭腦要靈光、邏輯思維能力強(qiáng)、為人謙虛穩(wěn)重、親和力、樂(lè)于助人、有大局觀(guān)。
5、最后一點(diǎn),做網(wǎng)站運(yùn)維需要有探索創(chuàng)新精神,通過(guò)創(chuàng)新型思維解決現(xiàn)實(shí)中的問(wèn)題,因?yàn)檫@是一個(gè)處于幼年的職業(yè)(國(guó)外也一樣,但比國(guó)內(nèi)起步早點(diǎn)),沒(méi)有成熟體系或方法論可以借鑒,只能靠大家自已摸索努力。
三、怎樣才算是一個(gè)合格的運(yùn)維工程師
1、保證服務(wù)達(dá)到要求的線(xiàn)上標(biāo)準(zhǔn),如99.9%;保證線(xiàn)上穩(wěn)定,這是運(yùn)維工程師的基本責(zé)職所在。
2、不斷的提升應(yīng)用的可靠性與健壯性、性能優(yōu)化、安全提升;這方面非常考驗(yàn)主動(dòng)性、和創(chuàng)新思維。
3、網(wǎng)站各層面監(jiān)控、統(tǒng)計(jì)的覆蓋度,軟件、硬件、運(yùn)行狀態(tài),能監(jiān)控的都需要監(jiān)控統(tǒng)計(jì),避免監(jiān)控死角、并能實(shí)時(shí)了解應(yīng)用的運(yùn)轉(zhuǎn)情況。
4、通過(guò)創(chuàng)新思維解決運(yùn)維效率問(wèn)題;目前各公司大部份運(yùn)維主要工作還是依賴(lài)人工操作干預(yù),需要盡可能的解放雙手。
5、運(yùn)維知識(shí)的積累與沉淀、文檔的完備性,運(yùn)維是一個(gè)經(jīng)驗(yàn)性非常強(qiáng)的崗位,好的經(jīng)驗(yàn)與陷阱都需積累下來(lái),避免重復(fù)性范錯(cuò)。
6、計(jì)劃性和執(zhí)行力;工作有計(jì)劃,計(jì)劃后想法設(shè)法達(dá)到目標(biāo),不找借口。
7、自動(dòng)化運(yùn)維;能對(duì)日常機(jī)械化工作進(jìn)行提煉、設(shè)計(jì)并開(kāi)發(fā)成工具、系統(tǒng),能讓系統(tǒng)自動(dòng)完成的盡量依靠系統(tǒng);讓大家更多的時(shí)間用于思考、創(chuàng)新思維、做自已喜歡的事情。以上只是技術(shù)上的一些層面,當(dāng)然個(gè)人意識(shí)也是很重要的。四、運(yùn)維職業(yè)的迷惘、現(xiàn)狀與發(fā)展前景
運(yùn)維崗位不像其它崗位,如研發(fā)工程師、測(cè)試工程師等,有非常明確的職責(zé)定位及職業(yè)規(guī)劃,比較有職業(yè)認(rèn)同感與成就感;而運(yùn)維工作可能給人的感覺(jué)是哪方面都了解一些,但又都比上專(zhuān)職工程師更精通、感覺(jué)平時(shí)被關(guān)注度比較低(除非線(xiàn)上出現(xiàn)故障),慢慢的大家就會(huì)迷惘,對(duì)職業(yè)發(fā)展產(chǎn)生困惑,為什么會(huì)有這種現(xiàn)象呢?除了職業(yè)本身特點(diǎn)外,主要還是因?yàn)閷?duì)運(yùn)維了解不深入、做得不深入導(dǎo)致;其實(shí)這個(gè)問(wèn)題其它崗位也會(huì)出現(xiàn),但我發(fā)現(xiàn)運(yùn)維更典型,更容易出現(xiàn)這個(gè)問(wèn)題;
針對(duì)這個(gè)問(wèn)題我談一下網(wǎng)站運(yùn)維的現(xiàn)狀及發(fā)展前景(也在思考中,可能不太深入全面,也請(qǐng)大家斧正補(bǔ)充)運(yùn)維現(xiàn)狀:
1、處于剛起步的初級(jí)階段,各大公司有此專(zhuān)職,但重視或重要承度不高,可替代性強(qiáng);小公司更多是由其它崗位來(lái)兼顧做這一塊工作,沒(méi)有專(zhuān)職,也不可能做得深入
2、技術(shù)層次比較低;主要處于技術(shù)探索、積累階段,沒(méi)有型成體系化的理念、技術(shù)。3、體力勞動(dòng)偏大;這個(gè)問(wèn)題主要與第二點(diǎn)有關(guān)系,很多事情還是依靠人力進(jìn)行,沒(méi)有完成好的提練,對(duì)于大規(guī)模集群沒(méi)有成熟的自動(dòng)化管理方法,在此說(shuō)明一下,大規(guī)模集群與運(yùn)維工作是息息相關(guān)的如果只是百十來(lái)臺(tái)機(jī)器,那就沒(méi)有運(yùn)維太大的生存空間了。
4、優(yōu)秀運(yùn)維人才的極度缺乏;目前各大公司基本上都靠自已培養(yǎng),這個(gè)現(xiàn)狀導(dǎo)致行業(yè)內(nèi)運(yùn)維人才的流動(dòng)性非常低,非常多好的技術(shù)都局限在各大公司內(nèi)部,如google50萬(wàn)臺(tái)機(jī)器科學(xué)的管理,或者國(guó)內(nèi)互聯(lián)公司top10的一些運(yùn)維經(jīng)驗(yàn),這些經(jīng)驗(yàn)是非常有價(jià)值的東西并決定了一個(gè)公司的核心競(jìng)爭(zhēng)力;這些問(wèn)題進(jìn)而導(dǎo)致業(yè)內(nèi)先進(jìn)運(yùn)維技術(shù)的流通、貫通、與借簽,并最終將限制了運(yùn)維發(fā)展。
5、很多優(yōu)秀的運(yùn)維經(jīng)驗(yàn)都掌握在大公司手中;這不在于公司的技術(shù)實(shí)力,而在于大公司的技術(shù)規(guī)模、海量PV、硬件規(guī)模足夠大,如baidu可怕的流量、51.com海量數(shù)據(jù)~~~~這些因素決定了他們遇到的問(wèn)題都是其它中/小公司還沒(méi)有遇到的,或即將遇到。但大公司可能已有很好的解決方案或系統(tǒng)。發(fā)展前景:
1、從行業(yè)角度來(lái)看,隨著中國(guó)互聯(lián)網(wǎng)的高速發(fā)展(目前中國(guó)網(wǎng)民已躍升為全球第一)、網(wǎng)站規(guī)模越來(lái)越來(lái)大、架構(gòu)越來(lái)越復(fù)雜;對(duì)專(zhuān)職網(wǎng)站運(yùn)維工程師、網(wǎng)站架構(gòu)師的要求會(huì)越來(lái)越急迫,特別是對(duì)有經(jīng)驗(yàn)的優(yōu)秀運(yùn)維人才需求量大,而且是越老越值錢(qián);目前國(guó)內(nèi)基本上都是選擇畢業(yè)生培養(yǎng)(限于大公司),培養(yǎng)成本高,而且沒(méi)有經(jīng)驗(yàn)人才加入會(huì)導(dǎo)致公司技術(shù)更新緩慢、影響公司的技術(shù)發(fā)展;當(dāng)然,畢業(yè)生也有好處:白紙一張,可塑性強(qiáng),比較認(rèn)同并容易融入企業(yè)文化。2、從個(gè)人角度,運(yùn)維工程師技術(shù)含量及要求會(huì)越來(lái)越高,同時(shí)也是對(duì)公司應(yīng)用、架構(gòu)最了解最熟悉的人、越來(lái)越得到重視。
3、網(wǎng)站運(yùn)維將成為一個(gè)融合多學(xué)科(網(wǎng)絡(luò)、系統(tǒng)、開(kāi)發(fā)、安全、應(yīng)用架構(gòu)、存儲(chǔ)等)的綜合性技術(shù)崗位,給大家提供一個(gè)很好的個(gè)人能力與技術(shù)廣度的發(fā)展空間。
4、運(yùn)維工作的相關(guān)經(jīng)驗(yàn)將會(huì)變得非常重要,而且也將成為個(gè)人的核心競(jìng)爭(zhēng)力,具備很好的各層面問(wèn)題的解決能力及方案提供、全局思考能力等。
5、特長(zhǎng)發(fā)控和興趣的培養(yǎng);由于運(yùn)維崗位所接觸的知識(shí)面非常廣闊,更容易培養(yǎng)或發(fā)揮出個(gè)人某些方面的特長(zhǎng)或愛(ài)好,如內(nèi)核、網(wǎng)絡(luò)、開(kāi)發(fā)、數(shù)據(jù)庫(kù)等方面,可以做得非常深入精通、成為這方面的專(zhuān)家。
6、如果真要以后不想做運(yùn)維了,轉(zhuǎn)到其它崗位也比較容易,不會(huì)有太大的局限性。當(dāng)然了,你得真正用心去做。
7、技術(shù)發(fā)展方向、網(wǎng)站/系統(tǒng)架構(gòu)師。五、運(yùn)維關(guān)鍵技術(shù)點(diǎn)解剖1、大規(guī)模集群管理問(wèn)題
首先我們先要明確集群的概念,集群不是泛指各功能服務(wù)器的總合,而是指為了達(dá)到某一目的或功能的服務(wù)器、硬盤(pán)資源的整合(機(jī)器數(shù)大于兩臺(tái)),對(duì)于應(yīng)用來(lái)說(shuō)它就是一個(gè)整體,目前常規(guī)集群可分為:高可用性集群(HA),負(fù)載均衡集群(如lvs),分布式儲(chǔ)、計(jì)算存儲(chǔ)集群(DFS,如googlegfs,yahoohadoop),特定應(yīng)用集群(某一特定功能服務(wù)器組合、如db、cache層等),目前互聯(lián)網(wǎng)行業(yè)主要基于這四種類(lèi)型;對(duì)于前兩種類(lèi)似,如果業(yè)務(wù)簡(jiǎn)單、應(yīng)用上post操作比較少,可以簡(jiǎn)單的采用四層交換機(jī)解決(如f5),達(dá)到服務(wù)高可用/負(fù)責(zé)均衡的作用,對(duì)于資源緊張的公司也有一些開(kāi)源解決辦法如lvs+ha,非常靈活;對(duì)于后兩種,那就考驗(yàn)公司技術(shù)實(shí)力及應(yīng)用特點(diǎn)了,第三種DFS主要應(yīng)用于海量數(shù)據(jù)應(yīng)用上,如郵件、搜索等應(yīng)用,特別是搜索要求就更高了,除了簡(jiǎn)單海量存儲(chǔ),還包括數(shù)據(jù)挖掘、用戶(hù)行為分析;如google、yahoo就能保存分析近一年的用戶(hù)記錄數(shù)據(jù),而baidu應(yīng)該少于30天、soguo就更少了。。。這些對(duì)于搜索準(zhǔn)備性、及用戶(hù)體驗(yàn)是至關(guān)重要的。接下來(lái),我們?cè)僬務(wù)勅绾慰茖W(xué)的管理集群,有以下關(guān)鍵幾點(diǎn):I、監(jiān)控
主要包括故障監(jiān)控和性能、流量、負(fù)載等狀態(tài)監(jiān)控,這些監(jiān)控關(guān)系到集群的健康運(yùn)行,及潛在問(wèn)題的及時(shí)發(fā)現(xiàn)與干預(yù);
a、服務(wù)故障、狀態(tài)監(jiān)控:主要是對(duì)服務(wù)器自身、上層應(yīng)用、關(guān)聯(lián)服務(wù)數(shù)據(jù)交互監(jiān)控;例如針對(duì)前端webserver,我們就可以有很多種類(lèi)型的監(jiān)控,包括應(yīng)用端口狀態(tài)監(jiān)控,便于及時(shí)發(fā)現(xiàn)服務(wù)器或應(yīng)用本身是否crash、通過(guò)icmp包探測(cè)服務(wù)器健康狀態(tài),更上層可能還包括應(yīng)用各頻道業(yè)務(wù)的監(jiān)控,常用方法是采用面業(yè)特征碼進(jìn)行判斷,或?qū)χ攸c(diǎn)頁(yè)面進(jìn)行簽名,以網(wǎng)站被黑篡改(報(bào)警、并自動(dòng)恢復(fù)被篡改數(shù)據(jù))等等,這些只是一部份,還有N多監(jiān)控方式,依應(yīng)用特點(diǎn)而定,還有一些問(wèn)題需解決,如集群過(guò)大,如何高性能的進(jìn)行監(jiān)控也是一個(gè)現(xiàn)實(shí)問(wèn)題。
b、其它就是集群狀態(tài)類(lèi)的監(jiān)控或統(tǒng)計(jì),為我們合理管理調(diào)優(yōu)集群提供數(shù)據(jù)參考、包括服務(wù)瓶頸、性能問(wèn)題、異常流量、攻擊等問(wèn)題。II、故障管理a、硬件故障問(wèn)題;對(duì)于成百上千或上萬(wàn)機(jī)器的N多集群,服務(wù)器死機(jī)、硬件故障概率是非常大的,幾乎每時(shí)每刻都有服務(wù)硬件問(wèn)題,死機(jī)、硬盤(pán)損壞、電源、內(nèi)存、交換機(jī)。針對(duì)這種情況,我們?cè)谠O(shè)計(jì)網(wǎng)站架構(gòu)時(shí)需要充分考慮到這些問(wèn)題,并將其視為常態(tài);更多的依靠應(yīng)用的冗余機(jī)制來(lái)規(guī)避這種風(fēng)險(xiǎn),但給系統(tǒng)工程師足夠?qū)捲5奶幚頃r(shí)間。(如google不是號(hào)稱(chēng)同時(shí)死800臺(tái)機(jī)器,服務(wù)不會(huì)受到任何影響嗎);這就是考驗(yàn)運(yùn)維工程師及網(wǎng)站架構(gòu)師功能的地方了,好的設(shè)計(jì)能達(dá)到google所描述自恢復(fù)能力,如gfs,糟糕的設(shè)計(jì)那就是一臺(tái)服務(wù)器的死機(jī)可能會(huì)造成大面積服務(wù)的連鎖故障反映,直接對(duì)用戶(hù)拒絕響應(yīng)。
b、應(yīng)用故障問(wèn)題;可能是某一bug被觸發(fā)、或某一性能閥值被超越、攻擊等情況不一而定,但重要的一點(diǎn),是要有對(duì)這些問(wèn)題的預(yù)防性措施,不能想當(dāng)然,它不會(huì)出問(wèn)題,如真出問(wèn)題了,如何應(yīng)對(duì)?這需要運(yùn)維工程師平時(shí)做足功夫,包括應(yīng)急響應(yīng)速度、故障處理的科學(xué)性、備用方案的有效等。III、自動(dòng)化
自動(dòng)化:簡(jiǎn)而言之,就是將我們?nèi)粘J謩?dòng)進(jìn)行的一些工作通過(guò)工具,系統(tǒng)自動(dòng)來(lái)完成,解放我們的雙手及枯燥的重復(fù)性勞動(dòng),例如:沒(méi)有工具前,我們安裝系統(tǒng)需要一臺(tái)一臺(tái)裸機(jī)安裝,如201*臺(tái),可能需要10人/10天,搞爛N張光盤(pán),人力成本更大。。。而現(xiàn)在通過(guò)自動(dòng)化工具,只需幾個(gè)簡(jiǎn)單命令就能搞定、還有如機(jī)器人類(lèi)程序,自動(dòng)完成以往每天人工干預(yù)的工作,使其自動(dòng)完成、匯報(bào)結(jié)果,并具備一定的專(zhuān)家系統(tǒng)能力,能做一些簡(jiǎn)單的是/非判斷、優(yōu)化選擇等。。。這些好處非常明顯不再多說(shuō)。。。應(yīng)該說(shuō),自動(dòng)化運(yùn)維是運(yùn)維工程師職業(yè)化的一個(gè)追求,利已利公,雖然這是一個(gè)異常艱巨的任務(wù):不斷變更的業(yè)務(wù)、不規(guī)范化的應(yīng)用設(shè)計(jì)、開(kāi)發(fā)模式、網(wǎng)絡(luò)架構(gòu)變更、IDC變更、規(guī)范變動(dòng)等因素,都可能會(huì)對(duì)現(xiàn)有自動(dòng)化系統(tǒng)產(chǎn)生影響,所以需要模塊化、接口化、變因參數(shù)化等因此,自動(dòng)化相關(guān)工作,是運(yùn)維工程師的核心重點(diǎn)工作之一,也是價(jià)值的體現(xiàn)。
2、運(yùn)維中關(guān)鍵技術(shù)點(diǎn)解剖(比較實(shí)際,現(xiàn)實(shí)中的案例,今天先想出這幾條,如大家有其它感覺(jué)興趣的,可以提出,一起交流~)1、大量高并發(fā)網(wǎng)站的設(shè)計(jì)方案2、高可靠、高可伸縮性網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)3、網(wǎng)站安全問(wèn)題,如何避免被黑?4、南北互聯(lián)問(wèn)題,動(dòng)態(tài)CDN解決方案5、海量數(shù)據(jù)存儲(chǔ)架構(gòu)
友情提示:本文中關(guān)于《大型網(wǎng)站運(yùn)維探討和心得》給出的范例僅供您參考拓展思維使用,大型網(wǎng)站運(yùn)維探討和心得:該篇文章建議您自主創(chuàng)作。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。