無論做什么運維(wei),運維(wei)工程師最基本(ben)的職責(ze)都是負責(ze)服(fu)務的穩定(ding)性,確(que)保服(fu)務可以7*24H不間斷地為用戶提(ti)供服(fu)務。在此(ci)之(zhi)上運維(wei)工程師的主(zhu)要(yao)工作職責(ze)如下:
質(zhi)量:保障并不斷提升(sheng)(sheng)服務的可用(yong)性,確(que)保用(yong)戶數據安(an)全(quan),提升(sheng)(sheng)用(yong)戶體驗。
效(xiao)(xiao)率:用自動化(hua)的工具/平臺提升軟件(jian)在研發(fa)生命周期中的工程效(xiao)(xiao)率。
成本(ben):通過技(ji)術手段(duan)優(you)化服(fu)務架構、性能調優(you);通過資源優(you)化組(zu)合降低成本(ben)、提升(sheng)ROI。
從產(chan)品的(de)生命周期來看(kan):
1. 產品(pin)發(fa)布(bu)前:負責(ze)參(can)與(yu)并審核架構(gou)設(she)計的合(he)理性(xing)和可運維(wei)性(xing),以確保在產品(pin)發(fa)布(bu)之后能高效穩定的運行(xing)。
2. 產品發布階段:負(fu)責用(yong)自動化的技術(shu)或者平臺確保產品可以高效的發布上線,之后可以快速穩(wen)定迭代。
3. 產品運行(xing)維(wei)護階段:負責保障產品7*24H穩定運行(xing),在此期(qi)間對出現(xian)的(de)(de)各(ge)種問題可以快速定位并解決(jue);在日常工(gong)作中不(bu)斷優化系統(tong)架構和部(bu)署的(de)(de)合理(li)性(xing),以提升系統(tong)服務(wu)的(de)(de)穩定性(xing)。
在軟(ruan)件產品的整個(ge)生命(ming)周期中運維工(gong)程(cheng)師都需要適時(shi)地參與(yu)并發揮(hui)不(bu)同的作用,因此運維工(gong)程(cheng)師的工(gong)作內容(rong)和方(fang)向非常多(duo):
事件管理(li):目(mu)標(biao)是在(zai)服(fu)務出(chu)現(xian)異常時(shi)(shi)盡可(ke)能快(kuai)速的(de)(de)(de)恢復服(fu)務,從(cong)而保(bao)(bao)障服(fu)務的(de)(de)(de)可(ke)用性;同時(shi)(shi)深入分析故障產生的(de)(de)(de)原因,推動并(bing)修復服(fu)務存(cun)在(zai)的(de)(de)(de)問題,同時(shi)(shi)設計并(bing)開發相關的(de)(de)(de)預案以確保(bao)(bao)服(fu)務出(chu)現(xian)故障時(shi)(shi)可(ke)以高效的(de)(de)(de)止損。在(zai)這方面主要(yao)工(gong)作內(nei)容(rong)有(you):
問題(ti)發(fa)現:設計并開發(fa)高效的(de)監控(kong)平(ping)臺和(he)告(gao)警平(ping)臺,使(shi)用機器(qi)學習、大數(shu)據(ju)分析等方法(fa)對系統中的(de)大量(liang)監控(kong)數(shu)據(ju)進行匯總分析,以(yi)及在系統出現異(yi)常的(de)時候(hou)可以(yi)快(kuai)速的(de)發(fa)現問題(ti)和(he)判斷故障(zhang)的(de)影響。
問題處理:設計并開發高效的問題處理平臺和工具,在(zai)系統(tong)出現異常(chang)的時候可(ke)以快速/自動決策并觸發相關止(zhi)損預案,快速恢復服(fu)務。
問(wen)題(ti)跟蹤:通過分(fen)析問(wen)題(ti)發生時系(xi)統(tong)的各種表現(日志、變(bian)更、監控(kong))確定(ding)問(wen)題(ti)發生的根(gen)本(ben)原因,制定(ding)并開發預案工具。
變(bian)更(geng)管理:以(yi)可(ke)控(kong)的(de)(de)方式,盡可(ke)能高效的(de)(de)完成產(chan)品功能的(de)(de)迭代的(de)(de)變(bian)更(geng)工作。在這方面(mian)主(zhu)要(yao)工作內容有:
配(pei)(pei)置管(guan)理(li)(li)(li):通過(guo)配(pei)(pei)置管(guan)理(li)(li)(li)平臺(自(zi)研、開源(yuan))管(guan)理(li)(li)(li)服(fu)務涉(she)及到的(de)多個模塊、多個版(ban)本的(de)關(guan)系(xi)以(yi)及配(pei)(pei)置的(de)準(zhun)確性。
發布管理:通過構(gou)建自(zi)動化(hua)的平臺確(que)保每一次版本(ben)變(bian)更可以(yi)安(an)全可控(kong)地發布到(dao)生產環境(jing)。
容(rong)量管理:在服(fu)務運行維護階段,為(wei)了確保服(fu)務架構部署的(de)合理性同時(shi)掌握服(fu)務整體(ti)的(de)冗余,需要(yao)不斷評估系統的(de)承載能力,并不斷優(you)化之。在這方(fang)面主要(yao)工作內容(rong)有(you):
容量評(ping)(ping)估:通過(guo)技術手(shou)段模(mo)擬(ni)實(shi)際的(de)用戶請求,測試(shi)整個系統所能承擔的(de)最大吞吐;通過(guo)建(jian)立(li)容量評(ping)(ping)估模(mo)型分析壓(ya)力(li)測試(shi)過(guo)程(cheng)中(zhong)的(de)數據(ju)以評(ping)(ping)估整個服務的(de)容量。
容量(liang)優(you)化:基于容量(liang)評估(gu)數(shu)據,判斷系(xi)統的(de)(de)瓶(ping)頸并提(ti)供容量(liang)優(you)化的(de)(de)解決方案。比如通過(guo)調整系(xi)統參數(shu)、優(you)化服務部署架構(gou)等方法來高(gao)效的(de)(de)提(ti)升(sheng)系(xi)統容量(liang)。
架構(gou)優(you)化:為了(le)支持(chi)產品(pin)的不斷(duan)(duan)迭代,需(xu)要不斷(duan)(duan)的進行架構(gou)優(you)化調整。以(yi)確保整個產品(pin)能夠在功能不斷(duan)(duan)豐(feng)富(fu)和復(fu)雜的條件下(xia),同時保持(chi)高可用性。
基礎技能:
精通shell/Python/Perl等1至2種編程語言
熟練(lian)掌握常用數據結構(gou)和算法,并能靈(ling)活運(yun)用
熟悉(xi)網絡基(ji)礎(chu)知識
深入理(li)解Linux操(cao)作(zuo)系統
加分技能:
熟悉開源(yuan)的監控平(ping)臺工(gong)具,比(bi)如:Ganglia、Nagios、Zabbix等(deng)
熟練掌握Shell腳本熟悉Awk、Sed等基礎工具
熟(shu)悉分布式計算(suan)或者存儲(chu)系統,比如Hadoop/Hbase/Storm等
熟(shu)悉機器學習原理能付諸(zhu)實踐者更(geng)佳
熟悉TCP/IP、HTTP等網絡(luo)協議,精通socket網絡(luo)編程
強(qiang)烈(lie)的(de)責任心與(yu)主動(dong)性(xing),對所負責工作有(you)owner意識(shi),并能自(zi)我驅動(dong)成長
能承(cheng)擔較大工作壓力,有較強(qiang)獨立(li)分析、解決問題的能力
工作中需(xu)要膽大(da)心細,具(ju)備(bei)探索創新精(jing)神(shen)
運維人(ren)員(yuan)的(de)(de)要求特別(bie)嚴苛,因為(wei)運維人(ren)員(yuan)針對不同的(de)(de)問題,需要不斷(duan)的(de)(de)補充擴(kuo)大自己的(de)(de)知識和研究(jiu)范疇。
在(zai)初級階段,優秀運維人(ren)員會體現出格外出眾的(de)(de)主動性和責任心,面(mian)對陌生的(de)(de)業務會主動學習和拓展自己對業務對認識(shi)和相(xiang)應的(de)(de)知識(shi)范(fan)疇,以能(neng)夠(gou)足夠(gou)的(de)(de)勝任業務的(de)(de)獨立維護(hu)。
在逐(zhu)步的(de)(de)發展階段(duan)中,注重總結反省的(de)(de)工程師會逐(zhu)漸成長為(wei)高階運維(wei)人員,通常(chang)他(ta)們會有比(bi)較體系(xi)化(hua)的(de)(de)服務運維(wei)理解(jie)。也有一部分工程師由(you)于出(chu)色的(de)(de)項目管理規劃能力,逐(zhu)漸成為(wei)項目經理。
再(zai)進一(yi)步的(de)發展,高(gao)階(jie)的(de)運(yun)維人員(yuan)對于產品(pin)的(de)理解將非常的(de)透徹,因(yin)而在這種情況下(xia),高(gao)階(jie)運(yun)維人員(yuan)甚至可(ke)以(yi)成為(wei)產品(pin)的(de)產品(pin)經理、產品(pin)研發的(de)咨詢顧問,在產品(pin)功(gong)能的(de)設計與開發中起到至關重要(yao)的(de)角(jiao)色。
運(yun)維所涉及的知識面、專業點非(fei)常(chang)廣,對(dui)從業人員素質也(ye)要求(qiu)(qiu)非(fei)常(chang)高(gao),運(yun)維工作在(zai)大型互(hu)聯網公(gong)司(si)也(ye)越(yue)(yue)(yue)(yue)來(lai)越(yue)(yue)(yue)(yue)重要。隨著互(hu)聯網的高(gao)速發展、網站(zhan)規模越(yue)(yue)(yue)(yue)來(lai)越(yue)(yue)(yue)(yue)大、架構越(yue)(yue)(yue)(yue)來(lai)越(yue)(yue)(yue)(yue)復(fu)雜,對(dui)網站(zhan)運(yun)維工程(cheng)師的需(xu)求(qiu)(qiu)也(ye)會越(yue)(yue)(yue)(yue)來(lai)越(yue)(yue)(yue)(yue)急迫,特別是對(dui)有經(jing)驗的運(yun)維人才需(xu)求(qiu)(qiu)量大,而(er)且是越(yue)(yue)(yue)(yue)老越(yue)(yue)(yue)(yue)值錢。