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