職責
無論做什麼運維,運維工程師最基本的職責都是負責服務的穩定性,确保服務可以7*24H不間斷地為用戶提供服務。在此之上運維工程師的主要工作職責如下:
質量:保障并不斷提升服務的可用性,确保用戶數據安全,提升用戶體驗。
效率:用自動化的工具/平台提升軟件在研發生命周期中的工程效率。
成本:通過技術手段優化服務架構、性能調優;通過資源優化組合降低成本、提升ROI。
從産品的生命周期周期來看:
1.産品發布前:負責參與并審核架構設計的合理性和可運維性,以确保在産品發布之後能高效穩定的運行。
2.産品發布階段:負責用自動化的技術或者平台确保産品可以高效的發布上線,之後可以快速穩定叠代。
3.産品運行維護階段:負責保障産品7*24H穩定運行,在此期間對出現的各種問題可以快速定位并解決;在日常工作中不斷優化系統架構和部署的合理性,以提升系統服務的穩定性。
工作内容
在軟件産品的整個生命周期中運維工程師都需要适時地參與并發揮不同得作用,因此運維工程師的工作内容和方向非常多:
事件管理:目标是在服務出現異常時盡可能快速的恢複服務,從而保障服務的可用性;同時深入分析故障産生的原因,推動并修複服務存在的問題,同時設計并開發相關的預案以确保服務出現故障時可以高效的止損。在這方面主要工作内容有:
變更管理:以可控的方式,盡可能高效的完成産品功能的叠代的變更工作。在這方面運主要工作内容有:
容量管理:在服務運行維護階段,為了确保服務架構部署的合理性同時掌握服務整體的冗餘,需要不斷評估系統的承載能力,并不斷優化之。在這方面主要工作内容有:
架構優化:為了支持産品的不斷叠代,需要不斷的進行架構優化調整。以确保整個産品能夠在功能不斷豐富和複雜的條件下,同時保持高可用性。
能力要求
基礎技能
精通C/Python/Perl等1至2種編程語言
熟練掌握常用數據結構和算法,并能靈活運用
熟悉網絡基礎知識
深入理解Linux操作系統
加分技能
熟悉開源的監控平台工具,比如:Ganglia、Nagios等
熟練掌握Shell腳本熟悉Awk、Sed等基礎工具
熟悉分布式計算或者存儲系統,比如Hadoop/Hbase/Storm等
熟悉機器學習原理能付諸實踐者更佳
熟悉TCP/IP、HTTP等網絡協議,精通socket網絡編程
軟素質要求
強烈的責任心與主動性,對所負責工作有owner意識,并能自我驅動成長。
能承擔較大工作壓力,有較強獨立分析、解決問題的能力。
工作中需要膽大心細,具備探索創新精神。
職業發展
運維人員的要求特别嚴苛,因為運維人員針對不同的問題,需要不斷的補充擴大自己的知識和研究範疇。
在初級階段,優秀運維人員會體現出格外出衆的主動性和責任心,面對陌生的業務會主動學習和拓展自己對業務對認識和相應的知識範疇,以能夠足夠的勝任業務的獨立維護。
在逐步的發展階段中,注重總結反省的工程師會逐漸成長為高階運維人員,通常他們會有比較體系化的服務運維理解。也有一部分工程師由于出色的項目管理規劃能力,逐漸成為項目經理。
再進一步的發展,高階的運維人員對于産品的理解将非常的透徹,因而在這種情況下,高階運維人員甚至可以成為産品的産品經理、産品研發的咨詢顧問,在産品功能的設計與開發中起到至關重要的角色。
前景
運維所涉及的知識面、專業點非常廣,對從業人員素質也要求非常高,運維工作在大型互聯網公司也越來越重要。随着互聯網的高速發展、網站規模越來越大、架構越來越複雜,對網站運維工程師的需求也會越來越急迫,特别是對有經驗的運維人才需求量大,而且是越老越值錢



















