7種DevOps工程師必備技能
應(yīng)用DevOps的目的是改變和改善開發(fā)與IT運營之間的關(guān)系,倡導(dǎo)兩個部門之間更好的溝通與協(xié)作。雖然這看起來有些簡單,然后,DevOps工程師還需要做更多的工作,才能成功部署代碼,并將Dev和Ops兩個部分成功地綁定在一起。
從應(yīng)付DevOps壓力的角度出發(fā),DevOps工程師除了需要日常技能的基礎(chǔ),每個工程師都必須具備多種技能。DevOps工程師除了要對腳本和編碼有著強烈的熱情之外,還必須具有開放的思想和協(xié)作精神,才能成功地執(zhí)行該過程。
本篇文章已經(jīng)為你設(shè)計了一個清單,列出了下面的7種必備技能,公司的DevOps工程師的招聘需求里,應(yīng)該明確提出下列所有品質(zhì)。
1. 靈活性
編碼是一個持續(xù)的過程,不斷變化,總是需要更新。要成為一個成功而有效的DevOps工程師,理想的候選人必須有能力不斷地開發(fā)新的系統(tǒng),并將其集成到主干代碼中。DevOps工程師必須具有靈活的工作技能并適應(yīng)不斷變化的代碼。
無論是集成、測試、發(fā)布還是部署,工程師都必須能夠輕松地從一個軟件構(gòu)建領(lǐng)域遷移到另一個領(lǐng)域。例如,持續(xù)集成需要具備快速有效地管理變更的技術(shù)技能,并且能夠在團隊中協(xié)作,以保證每個人都朝著共同的目標(biāo)努力。
2. 安全技能
與許多其他所熟練的領(lǐng)域一樣,安全始終是最重要的,尤其是在編碼方面。黑客進入系統(tǒng)的一個簡單方法是利用漏洞,破壞現(xiàn)有的系統(tǒng)并獲取數(shù)據(jù)。
DevOps帶來了更快的代碼開發(fā)和部署周期,這意味著漏洞也比以前更容易引入代碼。因此,工程師必須具備編寫安全代碼的技能,以保護應(yīng)用程序免受不期望的攻擊,此外還要確保系統(tǒng)針對常見的網(wǎng)絡(luò)安全漏洞建立防御機制。
DevOps工程師在受雇時必須具備安全技能,因為軟件從部署一開始就內(nèi)置了安全性(而不是在以后添加)是至關(guān)重要。如果從一開始就沒有安全措施,那么黑客就有更多的機會通過網(wǎng)絡(luò)注入破壞性代碼。因此,在招聘下一位DevOps工程師時,確保安全性是技能列表中最重要的一項。
3. 協(xié)作
對于一個成功的DevOps工程師來說,不具備八面玲瓏的和周圍打成一片的能力是不行的——協(xié)作實際上是DevOps概念的核心,它將軟件開發(fā)和軟件運維結(jié)合在一起。DevOps工程師必須具備團隊合作的能力,在DevOps流程中協(xié)作提供了更多的跨職能的聯(lián)動。
4. 腳本編寫技巧
盡管這一點聽起來很顯然,但任何開發(fā)人員都必須具備編寫代碼的高超技能。無論是JavaScript、Python、Perl還是Ruby,一個成功的開發(fā)工程師都必須能夠編寫代碼。
從編寫手動代碼到替換手動操作流程(如分配IP地址或DNS代碼),必須團隊里必須具有能夠編寫這些代碼的人員,這是完美的候選人應(yīng)該能夠做到的。
5. 決策
一個優(yōu)柔寡斷的候選人不是你想要的業(yè)務(wù)開發(fā)工程師。一個成功DevOps工程師候選人將有能力自信而迅速地作出決定,即使是在繁忙的環(huán)境工作。
代碼不斷變化的特性使得必須快速決定如何修復(fù)代碼中任何不連貫的元素。果斷性必須是雇用DevOps工程師時要考慮的一個因素,因為快速決策允許工程師保持快速開發(fā)和部署新編碼更改的能力。
6. 基礎(chǔ)架構(gòu)知識
腳本編寫只是開發(fā)人員應(yīng)具備的關(guān)鍵技能之一,僅次于云和基礎(chǔ)架構(gòu)的經(jīng)驗。工程師應(yīng)該對基于數(shù)據(jù)中心和云基礎(chǔ)架構(gòu)的各種組件的工作方式有一定了解。這包括軟件如何聯(lián)網(wǎng)、并運行在虛擬網(wǎng)絡(luò)上等要素。
如果沒有理解基礎(chǔ)架構(gòu)的能力,要成為全棧軟件開發(fā)工程師可能會有些困難。整合基礎(chǔ)架構(gòu)技能將使有效的DevOps工程師能夠使用最佳的平臺,有效地設(shè)計和部署應(yīng)用程序。還能提出優(yōu)化建議。
7. 軟技能
如上所述,當(dāng)一名DevOps工程師不是一個人在工作,所以在這種情況下,任何未來的員工必須具備軟技能和技術(shù)。在信任的前提下,DevOps文化使所有員工能夠與流程進行溝通和理解,在需要的時候作出變化。
當(dāng)開發(fā)人員有效地相互溝通時,應(yīng)用程序可以在比某些工作人員不在上下文中的情況里要短得多的時間內(nèi)交付。以及更快的進入市場,良好的通信將導(dǎo)致更少的錯誤,從而降低成本并提高代碼質(zhì)量。
【本文為51CTO專欄作者“劉征”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號“DevOps教練”(MyDevOps)獲取授權(quán)】