在網際網路行業裡,運維一直都是一個被人誤解很深的崗位,以致於很多人都認為運維在IT行中的技術含量很低,但是今天我要為運維人“平反”。
開發與運維搞不清楚
從本質上說,運維其實是用自己的技術儲備知識,保證自己所管理的IT服務可以正常運轉的崗位。
舉個例子,在公司裡經常會有妹子找軟體開發工程師修電腦,而軟體工程師一般就是關機重啟;但是很少會有人去找運維工程師修電腦,因為運維工程師往往會把電腦來一頓操作,別人根本看不懂。
放在業務中也是一樣,軟體工程師的任務就是透過編寫程式碼,讓軟體以圖形化的形態給使用者使用,而運維工程師的任務則是讓這個軟體可以在電腦或者系統中正常執行。但是一旦軟體出問題了,大多數人第一時間想要的是找軟體工程師,而不是運維工程師。
就好比我們蓋一間房子,產品開發負責房子的規劃、設計師負責房子的外形設計,開發工程師負責蓋房子,而運維則負責給房子打地基。而打地基並不是說簡單挖個坑就可以了,裡面的技術含量是很高的,坑的大小、深度、尺寸、溼度等都要深入研究才行。
房子蓋起來之後,大家都只會關注房子建好之後的樣式,很少有人會關注房子的地基情況,但一旦房子塌了,大家就會想是否地基打的牢靠,此時運維就要出來背鍋了。
運維的工作有深有淺
如果我們不知道運維的具體工作內容,就沒有權利評價運維工作的技術含量,一般來說,網際網路公司中的運維內容分兩個層次:
1、小一點的公司運維工作比較簡單,簡單來說就是部署服務、修電腦、安裝系統、裝軟體、處理網路問題等等,什麼雜活都幹,甚至連弄路由器、切網線都要做
2、大一點的公司運維工作比較具體,分工非常明確。
- 桌面運維,確實技術含量不高,但需要經驗豐富,解決問題頭腦靈活;
- 網路運維,也就是網工,要精通各種網路協議、架構,思科、華為、華三的路由交換,至少精通兩門;
- 資料庫運維,資料庫運維就當 DBA 理解吧,起碼要熟練,應該精通資料庫;
- 作業系統運維就要精通作業系統,要知道作業系統內部的工作原理,要懂得一些硬體知識,還要懂得網路協議用於排查問題;
- 伺服器運維等還有很多,都需要涉獵面廣,並同時多門技術傍身;
然後,我們回到問題“運維是計算機行業裡技術含量最低的崗位嗎?”
沒有技術含量低的崗位,完全就是看你怎麼做。桌面運維,可以利用域控的組策略,透過指令碼把很多東西做成自動的,很少再需要人去參與,這技術含量就提升了。
所以說嘛,崗位的技術含量可以人為提升的,完全就是看你怎麼做。
運維技術差,很可能只是因為公司小
如果企業很小,大家所看到的運維工作只能是很表面的基礎工作,而且很多運維崗位現在已經被雲服務代替了,運維所作的內容也就是在雲平臺上操作一下軟體。
其實有人覺得在平臺上操作軟體很簡單,但其實如果沒有計算機相關的知識積累,很難知道雲平臺上的功能實現,這點上說技術含量就不低了。
如果企業逐漸成長到大體量公司後,運維的價值就凸顯出來了。如雲上與線下資源的管理,資料庫的管理,網路的管理,計算資源,網路資源的負載,排程處理,都需要豐富的計算機理論知識及實戰經驗,否則無法為上層提供出穩定可靠的服務。
而作為提供網際網路服務的企業,能否穩定可靠的讓使用者使用網際網路服務是安身立命之本。想像一個企業,三天兩頭出故障,服務不能用,雖然凸顯了運維的存在感,那麼大家是否還會信任你的產品。
什麼才是最low的崗位?
題外話,我們覺得“ 有部分做後臺開發”才是計算機行業裡技術含量最低的崗位:
- 因為他們有些人只會增刪改查
- 有時候增刪改查還整不明白,寫個 SQL 把資料庫拖死了,還跑運維這裡來問
- 還有些開發覺的伺服器 ping 不通,就等同於無法訪問。比如說想訪問 443 埠,他們會先ping 伺服器,對協議是一點概念都沒有
所以還是那句話:沒有技術含量低的崗位,完全就是看你怎麼做。