運維工程師的職責和前景(下)

 3、怎樣纔算是一個合格的運維工程師前端

 

1、保證服務達到要求的線上標準,如99.9%;保證線上穩定,這是運維工程師的基本責職所在。 web

 

2、不斷的提高應用的可靠性與健壯性、性能優化、安全提高;這方面很是考驗主動性和創新思惟。 數據庫

 

3、網站各層面監控、統計的覆蓋度,軟件、硬件、運行狀態,能監控的都須要監控統計,避免監控死角、並能實時瞭解應用的運轉狀況。 安全

 

4、經過創新思惟解決運維效率問題;目前各公司大部份運維主要工做仍是依賴人工操做干預,須要儘量的解放雙手。 性能優化

 

5、運維知識的積累與沉澱、文檔的完備性,運維是一個經驗性很是強的崗位,好的經驗與陷阱都需積累下來,避免重複性範錯。 服務器

 

6、計劃性和執行力;工做有計劃,計劃後想法設法達到目標,不找藉口。 網絡

 

7、自動化運維;能對平常機械化工做進行提煉、設計並開發成工具、系統,能讓系統自動完成的儘可能依靠系統;讓你們更多的時間用於思考、創新思惟、作自已喜歡的事情。 架構

 

以上只是技術上的一些層面,固然我的意識也是很重要的。 負載均衡

 

4、運維職業的迷惘、現狀與發展前景 運維

 

運維崗位不像其它崗位,如研發工程師、測試工程師等,有很是明確的職責定位及職業規劃,比較有職業認同感與成就感;而運維工做可能給人的感受是哪方面都瞭解一些,但又都比上專職工程師更精通、感受平時被關注度比較低(除非線上出現故障),慢慢的你們就會迷惘,對職業發展產生困惑,爲何會有這種現象呢?除了職業自己特色外,主要仍是由於對運維瞭解不深刻、作得不深刻致使;其實這個問題其它崗位也會出現,但我發現運維更典型,更容易出現這個問題;

 

針對這個問題我談一下網站運維的現狀及發展前景(也在思考中,可能不太深刻全面,也請你們斧正補充)

 

運維現狀:

 

1、處於剛起步的初級階段,各大公司有此專職,但重視或重要程度不高,可替代性強;小公司更可能是由其它崗位來兼顧作這一塊工做,沒有專職,也不可能作得深刻。

 

2、技術層次比較低;主要處於技術探索、積累階段,沒有型成體系化的理念、技術。

 

3、體力勞動偏大;這個問題主要與第二點有關係,不少事情仍是依靠人力進行,沒有完成好的提練,對於大規模集羣沒有成熟的自動化管理方法,在此說明一下,大規模集羣與運維工做是息息相關的若是隻是百十來臺機器,那就沒有運維太大的生存空間了。

 

4、優秀運維人才的極度缺少;目前各大公司基本上都靠自已培養,這個現狀致使行業內運維人才的流動性很是低,很是多好的技術都侷限在各大公司內部,如 google 50萬臺機器科學的管理,或者國內互聯公司top 10 的一些運維經驗,這些經驗是很是有價值的東西並決定了一個公司的核心競爭力;這些問題進而致使業內先進運維技術的流通、貫通、與借籤,並最終將限制了運維發展。

 

5、不少優秀的運維經驗都掌握在大公司手中;這不在於公司的技術實力,而在於大公司的技術規模、海量PV、硬件規模足夠大,如baidu可怕的流量、 51.com海量數據~~~~這些因素決定了他們遇到的問題都是其它中/小公司尚未遇到的,或即將遇到。但大公司可能已有很好的解決方案或系統。

 

發展前景:

 

1、從行業角度來看,隨着中國互聯網的高速發展(目前中國網民已躍升爲全球第一)、網站規模愈來愈來大、架構愈來愈複雜;對專職網站運維工程師、網站架構師的要求會愈來愈急迫,特別是對有經驗的優秀運維人才需求量大,並且是越老越值錢;目前國內基本上都是選擇畢業生培養(限於大公司),培養成本高,並且沒有經驗人才加入會致使公司技術更新緩慢、影響公司的技術發展;固然,畢業生也有好處:白紙一張,可塑性強,比較認同並容易融入企業文化。

 

2、從我的角度,運維工程師技術含量及要求會愈來愈高,同時也是對公司應用、架構最瞭解最熟悉的人、愈來愈獲得重視。

 

3、網站運維將成爲一個融合多學科(網絡、系統、開發、安全、應用架構、存儲等)的綜合性技術崗位,給你們提供一個很好的我的能力與技術廣度的發展空間。

 

4、運維工做的相關經驗將會變得很是重要,並且也將成爲我的的核心競爭力,具有很好的各層面問題的解決能力及方案提供、全局思考能力等。

 

5、特長髮揮和興趣的培養;因爲運維崗位所接觸的知識面很是廣闊,更容易培養或發揮出我的某些方面的特長或愛好,如內核、網絡、開發、數據庫等方面,能夠作得很是深刻精通、成爲這方面的專家。

 

6、若是真要之後不想作運維了,轉到其它崗位也比較容易,不會有太大的侷限性。固然了,你得真正用心去作。

 

7、技術發展方向:網站/系統架構師。

 

5、運維關鍵技術點解剖

 

1 大規模集羣管理問題

 

首先咱們先要明確集羣的概念,集羣不是泛指各功能服務器的總合,而是指爲了達到某一目的或功能的服務器、硬盤資源的整合(機器數大於兩臺),對於應用來講它就是一個總體,目前常規集羣可分爲:高可用性集羣(HA),負載均衡集羣(如lvs),分佈式儲、計算存儲集羣(DFS,如google gfs ,yahoo hadoop),特定應用集羣(某一特定功能服務器組合、如dbcache層等),目前互聯網行業主要基於這四種類型;對於前兩種相似,若是業務簡單、應用上post操做比較少,能夠簡單的採用四層交換機 解決(如f5),達到服務高可用/負責均衡的做用,對於資源緊張的公司也有一些開源解決辦法如lvs+ha,很是靈活;對於後兩種,那就考驗公司技術實力及應用特色了,第三種DFS主要應用於海量數據應用上,如郵件、搜索等應用,特別是搜索要求就更高了,除了簡單海量存儲,還包括數據挖掘、用戶行爲分析;如googleyahoo就能保存分析近一年的用戶記錄數據,而baidu應該少於30天、soguo就更少了。。。這些對於搜索準備性、及用戶體驗是相當重要的。

 

接下來,咱們再談談如何科學的管理集羣,有如下關鍵幾點:

 

I、監控

 

主要包括故障監控和性能、流量、負載等狀態監控,這些監控關係到集羣的健康運行,及潛在問題的及時發現與干預;

 

a、服務故障、狀態監控:主要是對服務器自身、上層應用、關聯服務數據交互監控;例如針對前端web server,咱們就能夠有不少種類型的監控,包括應用端口 狀態監控,便於及時發現服務器或應用自己是否crash、經過icmp包探測服務器健康狀態,更上層可能還包括應用各頻道業務的監控,經常使用方法是採用面業特徵碼進行判斷,或對重點頁面進行簽名,以網站被黑篡改(報警、並自動恢復被篡改數據)等等,這些只是一部份,還有N多監控方式,依應用特色而定,還有一些問題需解決,如集羣過大,如何高性能的進行監控也是一個現實問題。

b、其它就是集羣狀態類的監控或統計,爲咱們合理管理調優集羣提供數據參考、包括服務瓶頸、性能問題、異常流量、***等問題。

II、故障管理

a、硬件故障問題;對於成百上千或上萬機器的N多集羣,服務器死機、硬件故障機率是很是大的,幾乎每時每刻都有服務硬件問題,死機、硬盤損壞、電源、內存、交換機。針對這種狀況,咱們在設計網站架構時須要充分考慮到這些問題,並將其視爲常態;更多的依靠應用的冗餘機制來規避這種風險,但給系統工程師足夠寬裕的處理時間。(如google不是號稱同時死800臺機器,服務不會受到任何影響嗎);這就是考驗運維工程師及網站架構師功能的地方了,好的設計能達到google所描述自恢復能力,如gfs,糟糕的設計那就是一臺服務器的死機可能會形成大面積服務的連鎖故障反映,直接對用戶拒絕響應。

b、應用故障問題;多是某一bug被觸發、或某一性能閥值被超越、***等狀況不一而定,但重要的一點,是要有對這些問題的預防性措施,不能想固然,它不會出問題,如真出問題了,如何應對?這須要運維工程師平時作足功夫,包括應急響應速度、故障處理的科學性、備用方案的有效等。

 

III、自動化

自動化:簡而言之,就是將咱們平常手動進行的一些工做經過工具,系統自動來完成,解放咱們的雙手及枯燥的重複性勞動,例如:沒有工具前,咱們安裝系統須要一臺一臺裸機安裝,如2000臺,可能須要10/10天,搞爛N張光盤,人力成本更大。。。而如今經過自動化工具,只需幾個簡單命令 就能搞定、還有如機器人類程序,自動完成以往天天人工干預的工做,使其自動完成、彙報結果,並具有必定的專家系統能力,能作一些簡單的是/非判斷、優化選擇等。。。這些好處很是明顯再也不多說。。。應該說,自動化運維是運維工程師職業化的一個追求,利已利公,雖然這是一個異常艱鉅的任務:不斷變動的業務、不規範化的應用設計、開發模式、網絡架構變動、IDC變動、規範變更等因素,均可能會對現有自動化系統產生影響,因此須要模塊化、接口化、變因參數化等所以,自動化相關工做,是運維工程師的核心重點工做之一,也是價值的體現。

轉載自:http://magedu.com/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E7%BD%AE/223-2

相關文章
相關標籤/搜索