我眼中的運維


       畢業半年,工作一年半了,作爲一名運維工作者,常常有朋友問我什麼是運維,每天干些什麼。於是我總結了個人對運維的一些看法!
 
       至少對於 BAT 這樣的公司來說,因爲海量和可用率的考驗,運維必須是強大的,重要性不言而喻。而運維的強大在於,知識的廣度無人可替。
    
       1、網絡工程師
       熟悉各種網絡協議,證書安全、tcp/udp等等,解決網絡問題會用到。譬如在wget人家資源的時候,換換ua;查http頭被纂改問題;tcp捂握手異常導致重複發包問題解決等都需要有協議知識的基礎。

       2、系統工程師
       理解各種系統服務,在出問題的情況下要迅速解決問題,而不是等系統工程師來解決。像各種開源軟件和服務框架,zookeeper、hadoop、apache、fms、nginx等等。像zookeeper這種源碼沒多少行,但是水卻那麼深,研究下來發現竟然無法無損擴容這麼坑爹的事情運維不知道那也就是給自己找坑跳的了。還有像fms這種程序,每次要想在suse上調通跑起來都是一件費時費心力的事情。

       3、安全工程師
       運維的一項重要任務就是守護服務器,在服務器受攻擊導致服務器不堪重負、協議被破解、數據被盜取、“脫褲”等等情況下,運維工程師一定是排障核心角色,大家都指望運維解決問題。當然,前期做好安全審計可以避免不少這樣的問題。

       4、存儲工程師
       要熟悉各大廠商的設備,各種備份和還原的辦法,瞭解什麼服務器機型適合什麼程序。熟悉數據存儲容災、NRW模型、對數據的流水同步、數據無損遷移等等瞭如指掌。

       5、測試工程師
       在新版本上線之前,你至少要協同測試工程師做測試工作。而且運維是掌控上線的人,常常擁有最大的上線權限,對自己的上線變更沒有一些測試手段,風險極高。
 
       6、研發人員
       運維工具都需要自已開發,熟悉開發語言,主要是shell和python,偶爾會用C。至少在大公司裏面,不會寫工具的運維工程師是假的運維工程師。不會寫工具的運維工程師是很容易累垮的,因爲他沒有工具快速管理或者變更海量服務器。

        7、英語,能應對技術文檔就好,很多技術精華都是用英文寫的,所以,技術人應該知道看不懂英文文檔的後果。

        8、溝通達人
        運維的工作是爲開發測試等部門提供技術支持,所以運維要知道開發和測試那些人都負責哪些方面,出了問題找誰協商,而且還要看的懂開發的人寫的代碼,會定位BUG,否則出了問題,只能運維自己扛下來,自己承擔所有責任。
      
        8、溝通達人
        運維的工作是爲開發測試等部門提供技術支持,所以運維要知道開發和測試那些人都負責哪些方面,出了問題找誰協商。而且還要學會看代碼,定位BUG,查內存泄露,定位double free,跟蹤core點等都是非常常見的問題,在這個過程中,常常會和開發同事交流。
      
        數據遷移,擴容、灰度上線、binlog同步、主備容災、模塊部署、日誌跟蹤、資源規劃、容災建設、監控告警......幹活基本功!運維幾乎是技術要求最全面的崗位,幾乎互聯網所有技術崗位的基礎都要有。還是那句話,運維的強大在於,知識的廣度無人可替!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章