運(yùn)維工程師(Operations),負(fù)責(zé)維護(hù)并確保整個(gè)服務(wù)的高可用性,同時(shí)不斷優(yōu)化系統(tǒng)架構(gòu)提升部署效率、優(yōu)化資源利用率提高整體的ROI。
運(yùn)維工程師面對的最大挑戰(zhàn)是大規(guī)模集群的管理問題,如何管理好幾十萬臺服務(wù)器上的服務(wù),同時(shí)保障服務(wù)的高可用性,是運(yùn)維工程師面臨的最大挑戰(zhàn)。
運(yùn)維工程師崗位職責(zé)
無論做什么運(yùn)維,運(yùn)維工程師最基本的職責(zé)都是負(fù)責(zé)服務(wù)的穩(wěn)定性,確保服務(wù)可以7*24H不間斷地為用戶提供服務(wù)。在此之上運(yùn)維工程師的主要工作職責(zé)如下:
1.質(zhì)量:保障并不斷提升服務(wù)的可用性,確保用戶數(shù)據(jù)安全,提升用戶體驗(yàn)。
2.效率:用自動化的工具/平臺提升軟件在研發(fā)生命周期中的工程效率。
3.成本:通過技術(shù)手段優(yōu)化服務(wù)架構(gòu)、性能調(diào)優(yōu);通過資源優(yōu)化組合降低成本、提升ROI。
從產(chǎn)品的生命周期來看:
1. 產(chǎn)品發(fā)布前:負(fù)責(zé)參與并審核架構(gòu)設(shè)計(jì)的合理性和可運(yùn)維性,以確保在產(chǎn)品發(fā)布之后能高效穩(wěn)定的運(yùn)行。
2. 產(chǎn)品發(fā)布階段:負(fù)責(zé)用自動化的技術(shù)或者平臺確保產(chǎn)品可以高效的發(fā)布上線,之后可以快速穩(wěn)定迭代。
3. 產(chǎn)品運(yùn)行維護(hù)階段:負(fù)責(zé)保障產(chǎn)品7*24H穩(wěn)定運(yùn)行,在此期間對出現(xiàn)的各種問題可以快速定位并解決;在日常工作中不斷優(yōu)化系統(tǒng)架構(gòu)和部署的合理性,以提升系統(tǒng)服務(wù)的穩(wěn)定性。
運(yùn)維工程師崗位要求
基礎(chǔ)技能:
1.精通shell/Python/Perl等1至2種編程語言
2.熟練掌握常用數(shù)據(jù)結(jié)構(gòu)和算法,并能靈活運(yùn)用
3.熟悉網(wǎng)絡(luò)基礎(chǔ)知識
4.深入理解Linux操作系統(tǒng)
加分技能:
1.熟悉開源的監(jiān)控平臺工具,比如:Ganglia、Nagios等
2.熟練掌握Shell腳本熟悉Awk、Sed等基礎(chǔ)工具
3.熟悉分布式計(jì)算或者存儲系統(tǒng),比如Hadoop/Hbase/Storm等
4.熟悉機(jī)器學(xué)習(xí)原理能付諸實(shí)踐者更佳
5.熟悉TCP/IP、HTTP等網(wǎng)絡(luò)協(xié)議,精通socket網(wǎng)絡(luò)編程
運(yùn)維工程師發(fā)展方向
運(yùn)維人員的要求特別嚴(yán)苛,因?yàn)檫\(yùn)維人員針對不同的問題,需要不斷的補(bǔ)充擴(kuò)大自己的知識和研究范疇。
在初級階段,優(yōu)秀運(yùn)維人員會體現(xiàn)出格外出眾的主動性和責(zé)任心,面對陌生的業(yè)務(wù)會主動學(xué)習(xí)和拓展自己對業(yè)務(wù)對認(rèn)識和相應(yīng)的知識范疇,以能夠足夠的勝任業(yè)務(wù)的獨(dú)立維護(hù)。
在逐步的發(fā)展階段中,注重總結(jié)反省的工程師會逐漸成長為高階運(yùn)維人員,通常他們會有比較體系化的服務(wù)運(yùn)維理解。也有一部分工程師由于出色的項(xiàng)目管理規(guī)劃能力,逐漸成為項(xiàng)目經(jīng)理。
再進(jìn)一步的發(fā)展,高階的運(yùn)維人員對于產(chǎn)品的理解將非常的透徹,因而在這種情況下,高階運(yùn)維人員甚至可以成為產(chǎn)品的產(chǎn)品經(jīng)理、產(chǎn)品研發(fā)的咨詢顧問,在產(chǎn)品功能的設(shè)計(jì)與開發(fā)中起到至關(guān)重要的角色。