深度剖析:最新雲端開發工具如何實現敏捷+DevOps開發落地

相信不少軟件開發人員們對今年國內新興的雲端開發工具——華爲軟件開發雲都有耳聞,有些人可能還免費體驗過,因爲它5人如下的團隊是無償使用的,很慶幸本人的這個項目正好5我的,就註冊使用了。下面就本身的使用心得,爲你們深度剖析下這個最新的雲端開發工具是「怎樣實現敏捷+DevOps開發落地的」。
 
雲端開發感觸:開發者專一作開發,雲平臺自動化處理傳統四大問題,效率顯著提升
開發人員可只關注代碼的編寫,傳統開發中遇到的「開發工具統1、環境部署、項目管理、並行協同開發「四大問題,雲平臺能夠直接處理掉,不用再耗費人力逐一手動處理瑣碎的代碼以外的工做,大大提升了項目的開發效率。
 
我以前項目開發中一億行的代碼採用傳統模式的話,編譯時間超過25分鐘的,採用 華爲軟件開發雲平臺,編譯時間只用了7分鐘;而版本的編譯速度從94分鐘減小到了31分鐘;研發環境的準備時間由月級下降到了小時級。

  • 缺陷自動檢查:代碼缺陷模式庫融合華爲優秀代碼實踐與編程規範與業界通用的檢查規則,覆蓋常見的編碼風格、架構、Web安全等方面的問題。
  • 大規模分佈式任務調度:基於並行智能任務調度算法,對檢查節點進行自動彈性伸縮,檢查任務根據檢查規則類型智能分片和並行執行,支持大規模代碼倉庫的代碼檢查。
 
該技術支撐下的開發優點:
  • 支持Java、JavaScript、CSS、HTML、C++等語言檢查,持續增長語言支持廣度。
  • 精肯定位缺陷,針對每一個代碼缺陷,提供詳細的缺陷影響說明、正確示例、錯誤示例、修改建議。
  • 若是系統的檢查不知足需求,SE可經過定製規則集來實現挑選規則集;
  • 針對大量代碼缺陷,用戶可根據問題級別、問題分類、語言、文件目錄等進行過濾,分級處理。
 

 


  • 並行智能任務調度:實現智能任務調度算法,用戶根據任務特色自行編排並行/串行任務,系統感知執行器狀態和健康度,動態分配執行器的任務,故障節點任務實現自動轉移和熔斷,結合資源彈性伸縮策略,實現調度器和執行器高可用和水平擴展。
  • 資源彈性伸縮:使用華爲企業雲彈性伸縮服務,感知到業務集羣資源使用狀況,資源利用率超過閥值時,動態擴容;反之,自動縮容。流水線根據不一樣業務類型,配置不一樣的彈性伸縮策略和資源彈性伸縮組,從而實現短期內迅速提高流水線整體吞吐量。
  • 編譯構建並行技術:經過使用精準增量編譯技術,結合並行智能任務調度,可實現按技術棧、目錄等編譯策略增量並行編譯,加速編譯構建的速度,大幅下降編譯構建等待時間。
該技術支撐下的開發優點:
  • 對於一切能夠解放雙手的任務都由工具自動化實現。
  • 一鍵式完成代碼下載/代碼檢查/編譯構建/系統部署/產品發佈整個交付流程.。
  • 任務並行執行,按需動態分配資源,顯著提高資源利用效率及執行效率。
  • 可實現單模塊或者單獨子系統的我的級交付,也可實現多模塊、多子系統的版本級交付可隨時查看流水線執行進度/結果/報告/日誌。
 

 


  • 部署編排技術
提供必定的服務編排能力,在 playbooks 中能夠編排有序的執行過程,甚至於作到在多組機器間,來回有序的執行特別指定的步驟。而且能夠同步或異步的發起任務。
用流水線同時集成編譯構建、代碼檢查、部署,從代碼提交開始觸發操做,完成整個DevOps的自動化流程。流水線支持編排部署任務之間的依賴和順序,經過串行任務和並行任務以及子流水線來組合、調度各個任務,從而實現高效部署。

 

  • 大規模部署技術
Ansible自己就支持多併發部署,缺省的併發任務數是5.  可是DevCloud的部署採用python API實現,咱們封裝了python的任務以多線程方式運行;同時採用了gunicorn框架提供多進程複用技術,以最大限度的利用Ansibe引擎的並行部署能力;對於超過200以上併發的大規模部署,咱們會採用橫向擴展即增長AnsibleRest的節點數來支持更多的併發部署; 此外,咱們還提供部署任務排隊機制來保障峯值任務時系統仍然可以正常運行。
該技術支撐下的開發優點:
  • 一鍵式自動化部署,部署機器無需安裝代理,過程可視化,支持主流編程語言和技術框架,支持並行部署和流水線無縫集成
  • 支持Web應用程序和微服務的部署,支持Tomcat、Java、Python、NodeJS、Go、PHP、Ruby語言。
  • 經過流水線定製交付流程,支持並行和串行任務,系統自動執行全部任務,並可查看全部任務的執行狀態、日誌及報告。
  • 提供高級編輯功能,知足用戶更改部署參數和自定義執行參數以在部署任務執行時動態輸入執行參數。
 

 


業內分析:
正所謂英雄所見略同,業界也有不少DevOps方案和實踐經驗,好比微軟公司Visual Studio + Team Foundation Server方案、AWS和Google基於雲的DevOps模塊化組件、其餘公司自研搭建的DevOps鏈。
華爲推出的DevCloud的側重點是一站式的解決方案,用於幫助企業在軟件開發的過程當中提高效率和質量。DevCloud的中文名稱爲「華爲軟件開發雲」,即面向的目標羣體是團隊規模在10-50人的中小團隊,如中小企業的軟件開發者、衆包開發團隊、我的開發者、高校軟件/計算機類的大學生。
相關文章
相關標籤/搜索