11.26 站在BAT大廠運維的角度看,運維的前途在哪裡?

分析BAT的運維前,先說說這個理論且枯燥,但很多人又不得不面對的話題。

今天我以自己在小公司、百度、阿里的工作經歷,結合同學在騰訊、小米等公司的狀況,來說下運維技術在未來互聯網的前景。

通過這篇文章,你會了解到小公司和大公司的運維狀況對比,並能瞭解到各自的發展狀況,但很多問題並不會細節化,因為寫不下。

首先說下結論:運維是非常有前(錢)途的,也是技術性越來越強的職業。身邊BAT的運維人,工作3年左右跳槽的,基本沒有月薪少於20k的,多一點到40k左右,一般也都是技術負責人甚至直接帶團隊。

但是,運維累是一定的,做互聯網的沒有不累的,問題是累的同時,能不能學習或實踐到更好的技術,來支撐你將來拿更多的錢,才是核心。

BAT運維能賺多少錢?

千鋒廣州小編翻看了一下最近一些大企業招聘的運維職位薪資,如國美、每日優鮮、字節跳動等,一般都在30-50萬左右。這是5年以上經驗的待遇。

站在BAT大廠運維的角度看,運維的前途在哪裡?

以互聯網三巨頭 BAT來說,年薪 30~50萬的程序員、運維工程師,大有人在。如下圖所示:

站在BAT大廠運維的角度看,運維的前途在哪裡?

阿里巴巴各級別對應的工資:

站在BAT大廠運維的角度看,運維的前途在哪裡?

騰訊各級別對應的工資:

站在BAT大廠運維的角度看,運維的前途在哪裡?

除了 BAT,京東、網易、滴滴出行、美團點評等一線互聯網公司,大部分初級程序員的起薪水平,也高達11萬。

為何別人眼中的運維沒有技術含量?

很多人片面的認為運維沒有技術含量,這其實是一個錯誤的認知。因為,運維也分很多層次,要看你做到哪個階段了,基本,現在一個除了掌握基本技能的運維,如果還能掌握雲計算技術和一門編程語言(例如Python語言最適合運維人員),那麼你已經處於一個高層次了,基本屬於全棧開發運維人員,這樣的運維,根本不用愁找工作,薪資自然也是比別的普通運維高几個層次。

我自己在大公司和小公司都呆過,我認為主要是初級運維太多,而他們做的事很多根本不能稱之為運維,總結如下幾點:

1、運維自身缺少對目標充分的規劃和實施拆分,導致很多工作無技術性。

運維是一定會做基礎性工作的,例如部署服務、上線,甚至搬機器、重裝系統等等。但運維肯定不能只做這些,因此在剩餘時間如何做有利於運維技術提升的事,就尤為重要。

舉個簡單例子:當你和研發一起做一些事的時候,你在裡面的定位是什麼,怎麼體現你的價值和技術能力?如果沒有,基本就是在幫別人做貢獻。

2、運維自身負責的點非常多,無法精通,無核心競爭力。

大的範疇包括:硬件、網絡、操作系統、數據庫、存儲、開源軟件;職責上要負責:各種功能的部署和調試,例如ldap、samba、nagios等;再細的分工還包括:壓力測試、性能優化、內核參數調優、系統問題追查等。

很多運維因為要做太多不同層面的事,導致很多事都僅僅只是完成任務,缺乏深入的研究,當然可能也缺少深入研究的場景。

3、運維自身的總結、呈現不夠,技術能力提升不足。

其實和第一點關聯比較多,因為本身沒有對目標充分的規劃,再加上總結呈現也不夠,對技術的提升就比較有限了。

舉個真實例子,我認識一個人做運維7年多,期間在幾家公司做過不少事且時間都不短,正常來說會有相當的積累。

前段時間因為要幫他內部推薦到bat時review了他的簡歷,有幾個感受:簡歷通篇都是描述性詞彙,無數據支撐;項目工作都是敘事型描述,充斥著服務搭建、解決問題的字樣,沒有技術點;僅有的技術工作都是一筆帶過,沒有方案選型和技術能力體現,無法體現技術水準;

我自己面試過很多人,老實說這樣的簡歷遠遠達不到及格分。當應聘公司拿到這樣簡歷時,如何能快速瞭解到你就是公司需要的人?

4、運維在技術部門毫無話語權,技術上得不到應有重視。

在研發和測試的眼裡,運維可能就是搬機器、重裝系統、部署服務、掌握root權限這樣毫無技術含量的職位,但也不得不承認,在很多公司,運維實際上就是這樣。

上面是從反面舉例說明為什麼一些運維感覺沒有技術含量,這跟你自身的能力是成正比的。實際上,不管是哪個職業,只要你做的不好,都沒有前途。比如研發一般比較有前途吧,但很多研發人員做了差不多十年,最後還轉型做其他職業了;我身邊運維做到等級很高,跳槽出去到中小型公司就是運維總監的人比比皆是。

那麼在BAT從事運維的同學們都在做什麼?從幾個層面簡單描述:

▼運維職能方面:

首先,BAT在運維上的分工更細,一般系統、數據庫、應用運維這些都是完全分開的,因此在職能上可能更加專注,當然涉及的面肯定會窄。

工作職能上,運維主要在可用性、效率提升、成本控制這3個主要方面發力,並和公司、研發的目標密切關聯,運維所做的絕大部分工作都是從這3個目標中拆出來的。

技術提升上,主要是以項目的形式,利用對服務的瞭解和技術方案,來解決共性問題。

▼技術工作方面:

以服務可用性為例,絕不僅僅只是處理報警,操作時小心些,寫幾個自動化工具這麼簡單,它包括了:

技術方案:預案執行是否足夠清晰明確、速度足夠快;監控是否能及時發現問題,避免客戶投訴;服務出現任何問題,是否都有及時的方案止損和解決(例如機房異常的問題);業務出現問題,是否有方案能夠快速定位和恢復;

非技術方案:流程的控制(任何對線上的操作是否有記錄、隨時回滾、方便review),信息的披露(信息是否公開透明)。

▼做事方法方面:

數據說話。今年的可用性目標是保持服務基本穩定?還是保持服務可用性99.99%?還是保持99.99%基礎上0運維事故,同時mttr小於20分鐘?

嚴格按照既定計劃安排工作、review、總結。有明確的工作實施拆分細則麼,精確到什麼時間維度,季度?月?周?日?多久review一次?

合縱連橫,結合外部資源以更高的視角去解決問題,而不是停留在一個點上。下面有類似例子。

結合這些方面,可能BAT的運維同學才能夠實現技術的快速提升,這是我所看到的。

最後說下運維的努力方向:

想要運維有前途,需要幾個要素:

1、需要一個能夠施展運維發展的平臺。

至少是一個有發展並有一定機器規模的業務。這裡並不是必須要bat,而是選擇一個適合你的。

2、瞭解和熟悉業務。

很多人不喜歡去處理問題,然後只想著做高大上的東西,這樣的結果我不說你也明白,就是不接地氣,做出來的東西沒人用,等等。

所以我認為運維架構師必須是一個瞭解和熟悉業務的人,而且非常熟悉。我身邊也遇到過這樣的人,等級很高,平時也不處理什麼問題,但關鍵時刻(比如出了問題),他就是能迅速找到關鍵點並解決之,並且某些細節比你還要了解,讓你不得不佩服。運維是必須要做這樣的人!

3、對運維技術和業務架構的發現和思考。

即使你每天重複在做上線、處理故障和問題、響應需求、開發和維護腳本,這些都沒關係,重點是你是否有從所做的問題上看到業務和運維上的痛點,並利用已有的技術方案,處理和解決掉!

4、綜合考慮問題,並以全局化視角去解決共性問題。

問題是很多的,也並不是說解決掉很多個問題就是牛人,問題的關鍵在於怎麼解決問題的同時能體現你的全局視角和技術能力。

舉個最簡單例子,有臺機器磁盤快滿了,這肯定是個特別小的問題了,運維同學應該經常遇到,怎麼處理呢?

如果你只是排查了磁盤佔用,然後刪除了數據或者調整了刪除磁盤的腳本,那是最差的一檔;排查了磁盤佔用,確認是單機有問題還是批量機器都有問題,為什麼在這個點報,確認清楚並能解決之,這就高了一檔;

排查了磁盤佔用,徹底發現了磁盤增長的原因,但是發現磁盤增長不可控,現有的數據刪除方式不能避免報警.那麼有辦法在保證重要數據保留正常的情況下讓磁盤不報警麼?然後以技術方案解決之,這就更高了一檔。。。。。。

這樣的例子還有很多。

你會發現,運維,實際上就是利用你對系統、網絡、硬件、規範、服務方面的熟悉程度,結合專業知識,用技術方案解決研發、測試解決不了或者不能單獨解決的一系列共性問題,並能形成工具、平臺、框架,最終能給運維部甚至公司創造價值,這就是個牛逼的運維。


分享到:


相關文章: