7種DevOps工程師必備技能
本文轉載自我的blog: http://martinliu.cn
使用DevOps的目的是改變和改善開發與IT運營之間的關係,倡導兩個部門之間更好的溝通與協作。雖然這看起來有些簡單,然後,DevOps工程師還需要做更多的工作,才能成功部署代碼,並將Dev和Ops兩個部分成功地綁定在一起。
從應付DevOps壓力的角度出發,DevOps工程師除了需要日常技能的基礎,每個工程師都必須具備多種技能。DevOps工程師除了要對腳本和編碼有著強烈的熱情之外,還必須具有開放的思想和協作精神,才能成功地執行該過程。
「DevOps教練」參考一些文獻,已經為你設計了一個清單,列出了下面的7種必備技能,公司的DevOps工程師的招聘需求里,應該明確提出下列所有品質。
1. 靈活性
編碼是一個持續的過程,不斷變化,總是需要更新。要成為一個成功而有效的DevOps工程師,理想的候選人必須有能力不斷地開發新的系統,並將其集成到主幹代碼中。DevOps工程師必須具有靈活的工作技能並適應不斷變化的代碼。
無論是集成、測試、發布還是部署,工程師都必須能夠輕鬆地從一個軟體構建領域遷移到另一個領域。例如,持續集成需要具備快速有效地管理變更的技術技能,並且能夠在團隊中協作,以保證每個人都朝著共同的目標努力。
2. 安全技能
與許多其他所熟練的領域一樣,安全始終是最重要的,尤其是在編碼方面。黑客進入系統的一個簡單方法是利用漏洞,破壞現有的系統並獲取數據。
DevOps帶來了更快的代碼開發和部署周期,這意味著漏洞也比以前更容易引入代碼。因此,工程師必須具備編寫安全代碼的技能,以保護應用程序免受不期望的攻擊,此外還要確保系統針對常見的網路安全漏洞建立防禦機制。
DevOps工程師在受雇時必須具備安全技能,因為軟體從部署一開始就內置了安全性(而不是在以後添加)是至關重要。如果從一開始就沒有安全措施,那麼黑客就有更多的機會通過網路注入破壞性代碼。因此,在招聘下一位DevOps工程師時,確保安全性是技能列表中最重要的一項。
3. 協作
對於一個成功的DevOps工程師來說,不具備八面玲瓏的和周圍打成一片的能力是不行的——協作實際上是DevOps概念的核心,它將軟體開發和軟體運維結合在一起。DevOps工程師必須具備團隊合作的能力,在DevOps流程中協作提供了更多的跨職能的聯動。
4. 腳本編寫技巧
儘管這一點聽起來很顯然,但任何開發人員都必須具備編寫代碼的高超技能。無論是JavaScript、Python、Perl還是Ruby,一個成功的開發工程師都必須能夠編寫代碼。
從編寫手動代碼到替換手動操作流程(如分配IP地址或DNS代碼),必須團隊里必須具有能夠編寫這些代碼的人員,這是完美的候選人應該能夠做到的。
5. 決策
一個優柔寡斷的候選人不是你想要的業務開發工程師。一個成功DevOps工程師候選人將有能力自信而迅速地作出決定,即使是在繁忙的環境工作。
代碼不斷變化的特性使得必須快速決定如何修復代碼中任何不連貫的元素。果斷性必須是僱用DevOps工程師時要考慮的一個因素,因為快速決策允許工程師保持快速開發和部署新編碼更改的能力。
6. 基礎架構知識
腳本編寫只是開發人員應具備的關鍵技能之一,僅次於雲和基礎架構的經驗。工程師應該對基於數據中心和雲基礎架構的各種組件的工作方式有一定了解。這包括軟體如何聯網、並運行在虛擬網路上等要素。
如果沒有理解基礎架構的能力,要成為全棧軟體開發工程師可能會有些困難。整合基礎架構技能將使有效的DevOps工程師能夠使用最佳的平台,有效地設計和部署應用程序。還能提出優化建議。
7. 軟技能
如上所述,當一名DevOps工程師不是一個人在工作,所以在這種情況下,任何未來的員工必須具備軟技能和技術。在信任的前提下,DevOps文化使所有員工能夠與流程進行溝通和理解,在需要的時候作出變化。
當開發人員有效地相互溝通時,應用程序可以在比某些工作人員不在上下文中的情況里要短得多的時間內交付。以及更快的進入市場,良好的通信將導致更少的錯誤,從而降低成本並提高代碼質量。
推薦閱讀:
※DevOps很難?這裡有一份11大最流行的開源DevOps工具清單
※運維世界大會幹貨總結
※怎麼把SQL server放到docker里運行?
TAG:DevOps |