1. 程式人生 > >我眼中的運維工作

我眼中的運維工作

運維感想

不知不覺,運維工作快兩年了。這裏簡單和運維界的道友或者即將踏入這個行業的同事一些自己的感悟,如有不正之處,請多多指正。

兩年時間,可以讓一個人快速成長,也可能讓一個人幾乎止步不前,因為所有行動都在你的腳下,所以我覺得第一個是職業的觀念首先應該是要認真對待剛開始遇到的事情,這個時候人的激情通常是很飽滿。學習的思維比較敏銳,容易發現很多不懂的東西並能及時消化。無論是職場還是專業相關、時間管理等,找到這些點慢慢積累下去,會發現收獲很多意外的驚喜。

運維是辛苦的,所以要求你是精英,至少是一當三的好漢(幾乎沒有女生),系統運維更是如此。但是辛苦不是所有忙的借口,而應該利用工具,利用軟件工程思想去自動化當前重復的勞動。有章可循的步驟都是可以自動化的,當然最好是多人做這種,如果你們人很少,那也是你技術飛漲的時候。

運維和其他支持崗位一樣,大部分情況吃力不討好,你工作了1年沒犯錯年底出了個核心事故可能有kpi完蛋了。但事情從來不應該怪在人身上,而是讓平臺去規避犯錯,平臺化運維是走向運維自動化的核心一步。

運維也需要大量的溝通,這裏面有你的上司,同事,其他部門的可愛同事,機房等等。很多公司是通過工單case來處理各個產品的日常的,這時候你還要面對無數的產品的人。和人溝通最重要的還是控制自己的情緒(不表現在語言裏面),復雜事情通過電話或者當面解決,多換位思考。

運維需要很多開發的支持。如果你們運維開發給力當然沒有這個問題。但是你依然要努力讓自己能開發項目,至少熟練兩種語言(shell得會吧, python/go/perl)等。因為運維你和全棧工程師只差一個語言了吧。

運維工程師需要很強的專業素養,尤其表現為規劃和出事故的時候。如果出事故,你命令都敲不出來,去網上查命令,那可用率完了。這個時候就需要適當地升級,所以一個運維的人應該永遠有A/B方案,對每一條命令知道他的後果並且能確保回滾。


運維需要學什麽?

首先是linux的常用命令和shell編程,這個是你和系統對話的語言

其次是網絡支持和tcp/ip協議棧,這個是網絡故障排查和部署業務上線web開發排查等的必備知識

了解常見中間組件的使用,系統如果是身體,那麽中間件就是好看的衣服,了解它能讓你站得更高,比如mysql, tomcat, kafka等

性能調優是在你熟悉代理、網絡、系統等命令下,對多個鏈路組件進行調節,那個時候你就是厲害的人

監控類,你可以了解elk,zabbix,nagios等監控類和日誌類組件,如果你研究夠深,其他可以再學

會一門web語言更好,這樣未來轉行多一個出路了^_^

吹牛的能力,當你會一個東西的時候,嘗試表述出它,並把這些解釋給身邊的人聽或者寫博客,在你認為你學會之前先考慮下,你是不是又偷懶了...


如下是一些個人經驗:

可以看看google sre,看看一些運維架構方面的分享,學習一些中間件,閱讀一些源碼,試著掌握一些技術的深層次的東西,成為某個小領域的專家並依次拓展開。

每一年的kpi,有一部分可以為自己制定並一定要完成它,比如學會一種語言,閱讀一個github項目,做一個網站等。

遇到一個問題,如果可能請fix it now。明天的事情誰也說不準。

累了,最好先記下當前的工作並停下來休息,愛自己再愛工作。

周五試著規劃下,回想下這周幹了啥,下周可以做哪些有意思的事情。

我眼中的運維工作