從藍鯨視角談DevOps

DevOps源於Development和Operations的組合安全

 

常見的定義

 

DevOps是一種重視「軟件開發人員(Dev)」和「IT運維技術人員(Ops)」之間溝通合做的文化、運動或慣例。透過自動化「軟件交付」和「架構變動」的流程,來使得構建、測試、發佈軟件可以更加地快捷、頻繁和可靠。架構

 

下面這個戴明環也是常見的表達形式:運維

 

點擊此處添加圖片說明文字工具

 

 

 

 

藍鯨在深度實踐DevOps後,結合對DevOps理解和經驗總結,從新定義了DevOps。即下圖這6個英文單詞的首字母組成:性能

DoEfficiencyValueOpenProgressSecurity測試

 

點擊此處添加圖片說明文字優化

 

結合這六個詞、結合藍鯨產品團隊在今年6月藍鯨DevOps活動上的分享以及我的理解,咱們將從藍鯨的視角展開來談談DevOps:spa

 

Do實踐:以實踐爲基礎推行DevOps

 

DevOps文化、理論體系的宣導者衆多,各類大會也會去介紹各類「道、法、術」;大一些的企業基本都會有設立教練的角色,指導各個研發團隊開展DevOps轉型。但一些企業用戶在聽完各類「道、法、術」以後,要麼是講的聽不懂,要麼是懂也不會作、作也作很差。也有企業先找諮詢公司作諮詢,但諮詢完後殊不知道怎麼落地。blog

 

藍鯨DevOps認爲DevOps的第一要素,就是實踐,即所謂的「事上練」。沒有實踐過DevOps的經歷就沒有感悟,談論再多的文化、理論,還不如貼近業務研發痛點,動手行動,用實踐來驗證想法和理論,點滴積累,繪成逐漸強大的DevOps體系。遊戲

 

Efficiency效能:效能是DevOps追求的目標

 

在咱們開展實踐以後,須要有目標。DevOps 根本的目標就是提高研發效能。

 

首先,效能體如今可讓你們能夠「Focus On Your Job」。開發人員的職責是寫代碼和合並代碼,合併代碼完就去抽菸,其餘的交給平臺自動化執行;而不是去推進打包、申請資源、部署、測試、生產上線。

 

其次,效能體如今可讓你們在同一套平臺中進行工做和協同,而不是在不一樣的工具中作不一樣的事情。一個企業IT部門有18套研發、測試、運維工具,這表明先進仍是落後呢?很顯然,這是一種落後的表現,由於這幾乎將沒法實現跨系統自動調度。藍鯨DevOps平臺能夠將DevOps工具鏈進行整合,讓不一樣的角色專一於其本職工做,達到提高效能的目標。

 

Value價值:DevOps必須輸出價值

 

DevOps要爲用戶不斷的輸出價值,就要爲DevOps體系中融入更多的提供價值的功能。例如:

  • 在DevOps平臺中加入質量紅線,能夠提供給用戶來創建各類質量門禁,如:代碼准入門禁、迭代驗收門禁、發佈控制門禁;
  • 在DevOps平臺中提供編譯加速,幫助用戶提高編譯的性能;
  • 在DevOps平臺中提供構建資源池,在構建的時候能夠自動調度構建資源,完成構建以後能夠自動釋放資源等等;
  • 在DevOps平臺中優化流水線的體驗和原子,用戶能夠輕鬆組裝出來各類複雜的業務場景……

 

價值也應該是能夠複製的,企業一般有多個團隊同時開展多個項目,咱們對某個項目團隊進行了大量DevOps方面的改進,並邀請工信部對項目進行了DevOps能力成熟度評級,咱們團隊達到了3級。可是,其餘的項目或團隊呢?他們可否達到3級標準?咱們在DevOps方面作出的努力,是否能夠平行復制到其餘團隊?

 

藍鯨DevOps有一個理念是——價值應被平行復制到各個項目團隊。每個價值點的輸出,均可以讓用戶真正的感覺到DevOps所能帶來的改變,這樣才能把用戶凝聚在平臺上,而不是老是考慮哪裏用得不順,本身創建一套平臺。藍鯨DevOps帶來的體系完善、效能提高,不是針對某個團隊,而是能夠平行復制到全部的研發團隊,這就是最大的價值。

 

Open開放:以開放的心態面對各類場景

 

不一樣的企業甚至同一家企業的不一樣團隊,其DevOps落地的進程和對DevOps的要求都有差別的,咱們必須用開放的心態接受這種差別。

 

例如:藍鯨DevOps平臺裏面有敏捷協同模塊,能夠管理項目的需求、任務、缺陷、迭代計劃等等,可是許多傳統行業,基於企業的研發管控制度等緣由,已經創建了適合本身的需求管理平臺、研發任務管理平臺等工具平臺,咱們的解決方案是不斷給用戶洗腦讓用戶放棄現有的協同和管理模式,仍是以開放的心態來面對客戶現有的管理體系呢?

 

藍鯨的選擇是以開放的體系面對不一樣團隊的需求,提供儘量靈活的架構和工具,經過工具開放的方式來兼容不一樣團隊的模式。藍鯨自己也是面向CI-CD-CO的研運一體化平臺。

 

Progress演進:持續交付核心在於不斷演進

 

DevOps的一個重要理念就在於持續改進。咱們能夠經過各個子系統的數據進行總體的度量,來發現哪一個項目、哪些環節常常出現停滯、失敗率比較高、耗時比較長,而且進行鍼對性的改進。

 

例如:若是研發效能瓶頸在測試環節,就須要深究致使測試耗時長的問題。若是是由於沒有引入自動化的測試、手工測試耗時較長,就能夠逐步補充自動化測試用例;若是研發效能瓶頸須要人工響應才能推動,就能夠引入自動化的流水線和優化研發流程,減小人工參與和沒必要要的審覈節點。

 

只有經過不斷的改進,企業才能將原來的每個月迭代和發佈,縮短爲每週迭代和發佈,甚至逐步改進爲天天迭代和發佈,最終達到Google、FaceBook等企業達到的1天若干次發佈的效果。

 

各個團隊能夠跟本身比,每一階段都相比前一階段有進步,就是團隊的自我發展。而藍鯨DevOps平臺也是不斷演進的成果。

 

Security安全:安全是基礎

 

一個企業級的DevOps平臺,安全是很是重要的。研發人員電腦、代碼庫、構建機、測試環境、製品庫均可能致使代碼及軟件包的泄露,這也致使遊戲行業大量私服的出現。而軟件上線以後還要考慮漏洞被利用、跨站攻擊、數據竊取等等問題。

 

不論DevOps平臺自己,仍是從平臺流出的製品,一切要以安全爲依歸。DevOps平臺自己應該提供監、管、控手段,能夠進行細粒度的權限控制,避免非法訪問和非法竊取數據、代碼、軟件包。DevOps平臺也應該提供代碼掃描、安全掃描、質量紅線等安全工具,能夠獨立運行或者結合到流水線裏面自動調用,保證交付的軟件的可靠性,給平臺使用者以及產出軟件的用戶一個安全保障。

 

做者:方勇

相關文章
相關標籤/搜索