新聞中心
前言
之前提到,DevOps時代,運維還是一個必不可少的角色,但是并不是缺少傳統(tǒng)運維,而是缺少新型DevOps運維??戳艘幌路错懀旧鲜莾煞N看法,一半認同,一半反對。反對的觀點認為運維必定被淘汰,我認為這種觀點少了一個前提,那就是故步自封,待在舒適區(qū)不肯走出,就像歷史上的閉關(guān)鎖國,淘汰是必然的。但是,我認為,新型運維人才,未來的缺口還是很大的,概念一直在變,從傳統(tǒng)運維到自動化運維再到智能化運維,但是需求沒變,就是缺少新型運維人才。本文我們來簡單的聊一下,傳統(tǒng)運維轉(zhuǎn)型為"新型"運維人才,需要學(xué)習(xí)哪些內(nèi)容。

編程語言
編程語言可以讓運維人員在日常工作中事半功倍,同時在編程過程中可以進一步加強邏輯化思維,保持頭腦的靈活性,并且可以在過程中能夠站在開發(fā)的角度思考問題,快速定位問題,提出合理解決方案,提高效率。
作為運維人員,必須要懂開發(fā),并且至少了解一兩種編程語言,雖然并不一定要求有多少項目經(jīng)驗,但最起碼排錯技能要具備。傳統(tǒng)運維階段,我們可以只要求會shell,平時寫個腳本,備份下數(shù)據(jù),完全足夠了。但是現(xiàn)在這個時代,只會腳本、只會部署是完全不夠的,shell是絕對寫不出一套運維系統(tǒng)的。
2019年編程語言排行榜
上圖為IEEE 2019編程語言排行榜,IEEE Spectrum編程語言排行榜一年發(fā)布一次,這個排行榜已經(jīng)連續(xù)發(fā)布了六年。每個開發(fā)者都需要相對流行的網(wǎng)站統(tǒng)計數(shù)據(jù),與其他的語言排行榜不同,IEEE Spectrum可以讓開發(fā)者自己選擇參數(shù)組合時的權(quán)重,得到多樣的排序結(jié)果,所以,這個排行榜還是有一些參考意義的,Python已經(jīng)連續(xù)三年位居榜首。
結(jié)合運維行業(yè)目前的趨勢來看,通用的語言包括shell,Python以及目前比較火的GO等,但是語言并不是固定的,具體到運維的某一個具體領(lǐng)域,需求也會不太一樣,對于平臺運維或者開發(fā)運維,Python基本是是必須的,目前也已經(jīng)有越來越多的公司要求會GO,這也是一個學(xué)習(xí)方向;對于專注Nginx的運維,Lua的深入研究是必不可少的,對于偏DBA類型的運維,SQL語言要求也是很高的。
總之,選擇什么語言并不重要,首先還是需要講究實用,能快速優(yōu)雅的解決問題,語言是相通的,精通一門語言,學(xué)習(xí)其他語言也是非常快的,個人建議運維同胞在會shell的同時,學(xué)習(xí)至少一門其他語言,個人比較建議Python或者GO!
工具
DevOps工具盒
工具是實現(xiàn)DevOps必要條件,但是沒有一種工具是可以在DevOps中每個階段都扮演重要角色的,工具如何選擇,取決于團隊需求,一個幾人的小團隊,選用一個及其臃腫復(fù)雜的工具鏈,雖然不是不可以,但是絕對不是最優(yōu)的,而且還可能因為工具的問題導(dǎo)致前期效率低下,從而影響整個DevOps的推動。適合自己的,才是最好的!
本文認為,針對目前的運維行業(yè)來看,以下幾種工具是必會的:
GIT
Git 是很流行的DevOps工具之一,在軟件界使用廣泛。Git讓用戶可以跟蹤自己開發(fā)工作的進度。用戶可以保存自己源碼的不同版本,并且在需要的時候切回之前的版本。目前,兩大優(yōu)秀在線的Git repo托管服務(wù)是 GitHub和Bitbucket,也有許多公司有自己的私有倉庫,比如說GitLab。
Jenkins
Jenkins是很多軟件開發(fā)團隊在走向DevOps時會用的自動化工具。它是開源的CI/CD服務(wù),幫助用戶自動化交付流水線的不同階段。Jenkins之所以流行的主要原因是其巨大的插件生態(tài)系統(tǒng)。目前,它提供1000多個插件因此它可以和幾乎所有DevOps工具(從Docker到Puppet)集成。Jenkins+Pipeline+Docker+K8S,目前基本是很流行的架構(gòu)了。
Docker
Docker在2013年發(fā)布之后已經(jīng)逐漸成為了容器平臺的老大哥,并且一直在更新。它是最重要的DevOps工具之一。它可以將應(yīng)用程序隔離成單獨容器,并且在多環(huán)境中保持一致,使得遷移擴展變得非常容易,使用者無需擔(dān)心依賴管理,可以將所有依賴打包進應(yīng)用程序的容器,并將所有的東西當做獨立的單元交付。然后,用戶可以很輕松地在任意機器或者平臺上運行這個應(yīng)用程序。
Kubernetes
Kubernetes2015年才推出第一個版本,是由一些Google的工程師創(chuàng)建,雖然才短短幾年,已經(jīng)成為了目前主流的容器編排工具。使用Kubernetes,無需將容器化的應(yīng)用程序綁定到某個單獨的機器里。相反,可以將應(yīng)用程序部署到一個機器集群里,Kubernetes會自動化分發(fā)并在整個集群里調(diào)度容器。
Ansible
Ansible是一個配置管理工具,和Puppet,Chef類似。使用者可以用它配置自己的基礎(chǔ)架構(gòu)并且自動化部署。相對于其他配置管理工具,Ansible不需要安裝agent,簡潔易用,使用YAML語法,可以在YAML里定義各種任務(wù),并且提供各種模塊來使用。
Prometheus
Prometheus支持多維度的指標數(shù)據(jù)模型,服務(wù)端通過HTTP協(xié)議定時拉取數(shù)據(jù)后,通過靈活的查詢語言,實現(xiàn)監(jiān)控的目的,不需要任何SDK或者其他的集成過程。這樣做非常適合虛擬化環(huán)境比如Docker。目前是一種主流的監(jiān)控Docker和Kubernetes的監(jiān)控工具。
運維軟實力
DevOps無處不在
運維是一個類似守門員的職業(yè),做的好,沒人記得你,做的不好,立馬就出來"背鍋"。并且經(jīng)常會有一些突發(fā)事件,加班,重復(fù)勞動,工作零碎,這都是常態(tài),很難有開發(fā)或者產(chǎn)品的那種成就感。但是,運維其實也是一個非常有挑戰(zhàn)性的職業(yè),一夫當關(guān)萬夫莫開,千軍萬馬中取人首級。未來趨勢運維可以讓開發(fā)人員通過工具、自動化和流程實現(xiàn)自助服務(wù),并且盡可能少的干預(yù)應(yīng)用的部署及運行,把時間用在更有意義的事情上。
針對不同的運維崗位,總體可以分為兩個方向:一個是通用廣度方向,就是通才,另一個是專業(yè)深度方向,就是專才,如何選擇,完全看自己興趣。
除去技術(shù)能力,本文認為,運維至少需要提升以下幾種軟實力:
1、溝通協(xié)調(diào)能力:溝通協(xié)調(diào)是一門藝術(shù),會溝通,可能會達到事半功倍效果
2、抗壓能力:沉著冷靜分析處理問題,當一堆人站在你后面指望你能成為英雄的時候,手不能抖
3、主動執(zhí)行能力:自己不要成為某個環(huán)節(jié)的終結(jié)者,要有主動意識
4、分享能力:自己學(xué)會了,并不一定真的會了,能把技術(shù)方案講清楚,或許能看到不一樣的自己,收益可能會超乎自己想象
5、學(xué)習(xí)能力:應(yīng)對一些新領(lǐng)域新技術(shù)的時候能夠通過快速的學(xué)習(xí)能夠讓任務(wù)進行下去
6、信息檢索能力:善用搜索引擎,會用搜索引擎
7、英文能力:大部分開源技術(shù)都是歪果仁開源出來的,官方文檔必然也是英文居多,英文好,學(xué)習(xí)起來可以不用那么吃力
8、好心態(tài):不要害怕背鍋,有時候,背鍋也是一種成長,經(jīng)過總結(jié)和分析,終會給自己和領(lǐng)導(dǎo)、同事一個科學(xué)的說法,并且,會很大程度幫助自己進步,什么時候系統(tǒng)出問題,別人第一時間想到的是代碼出問題了,而不是環(huán)境出問題,那么,距離巔峰就又進了一步
當然,運維軟實力遠不止以上幾點,不過,總結(jié)起來一句話可以概括:工作細致,善于思考,具備很強的分析和解決問題的能力;強烈的責(zé)任心,良好的溝通能力和協(xié)調(diào)能力,極強的業(yè)務(wù)推動能力,善于接受挑戰(zhàn)。
后記
文章末尾,我想重申一下自己觀點,在DevOps潮流下,傳統(tǒng)運維遲早會被現(xiàn)實"殺死",當然,"生"與"死",決定權(quán)在自己手中。本文只是簡單列舉了一下傳統(tǒng)運維向新型運維轉(zhuǎn)變需要學(xué)習(xí)的東西,但是卻遠遠不止如此。具體需求,我們其實可以打開各大招聘網(wǎng)站,上面有更詳細的技能列表,每當要迷失方向的時候,多看一下這些,應(yīng)該可以激發(fā)出大部分想要沖出舒適區(qū)運維人員的危機感。為了不被現(xiàn)實"殺死",唯有學(xué)習(xí)!
分享名稱:DevOps趨勢下,傳統(tǒng)運維怎樣做才能不被"殺死"?
當前網(wǎng)址:http://www.fisionsoft.com.cn/article/djjcjpj.html


咨詢
建站咨詢
