在項目研發疊代的過程中,為了提升産品的競争力,應用的部署上線尤為頻繁。但如此高頻的釋出特性,不僅是對産品的品質考驗,也對釋出的顆粒度、範圍等政策控制提出了更高要求。
軟體開發中的釋出管理,是通過一定的計劃和政策設定,将軟體從開發環境轉移到生産環境的過程,在釋出過程中根據可視化的現網流量觀測,進行動态政策調整,将軟體逐漸的、平滑的傳遞給使用者。其目的是将軟體釋出過程規範化,提升軟體釋出的效率和品質。
通常情況下,某些企業會采用“全量釋出”的模式,即對所有使用者都同時使用新版本,部署和釋出便沒有明顯的界限。但是随着軟體規模、叢集規模以及使用者規模的擴大,企業迫切需要一種平滑漸進式的釋出模式來降低軟體釋出風險,部署和釋出的解耦勢在必行。
華為公司在軟體開發領域具有30多年的經驗,對軟體釋出管理有着深度的積累與實踐。我們認為一款好的軟體釋出管理系統應具備如下功能:
- 環境分層管理
開發環境和生産環境資源分層,權限分級管控,提前發現品質風險,減少缺陷流轉到下遊的可能;
- 24小時線上
借助雲原生負載均衡技術,可做到24小時随時釋出,釋出過程業務零中斷,使用者無感覺;
- 灰階釋出
針對不同的業務場景,提供Ring環、藍綠/金絲雀、滾動更新等多種更新政策,讓流量逐漸開放給使用者;
- 浸泡和撥測
在軟體釋出到生産環境的過程中,進行一段時間“浸泡”和“撥測”,逐漸完成全網多個局點的軟體更新;
- 特性開關
通過變量一鍵開關特性,避免因缺陷導緻重複建構出包;
- 與生産環境高度一緻的聯調環境
完全仿照生産環境複制的聯調環境,仿真生産環境聯調測試;
- 智能釋出
通過智能資料分析,對釋出風險提前預警,減少人工操作與管理缺漏,使釋出過程更加自動化、智能化,結合現網監控資料,實作釋出過程無人值守。
5月11日,華為雲全新推出CodeArts Release釋出管理服務,旨在将華為多年形成的釋出實踐外溢,幫助企業提升軟體釋出品質和效率,降低生産環境的釋出風險。華為雲CodeArts Release具有以下四大特性:
特性一:微服務環境模型,助力企業DevOps釋出治理
标準化的微服務環境,将企業DevOps治理模型從研發态延伸到釋出态,通過微服務流水線串聯軟體開發、測試、釋出全流程,使研發過程、釋出過程、變更内容、變更對象全流程可追溯。
華為雲CodeArts Release提供的微服務環境模型特性,其優勢在于:
- 規範化企業組織樹模型
基于企業、項目、微服務的企業管理組織樹模型,規範化項目運作;
- 模型标準化
內建環境變量、政策編排及釋出資源,打造标準化環境模型,精細化管控企業的研發資源,提高軟體的可運維性;
- 環境分層管理
微服務資源互相隔離,測試環境與生産環境按不同角色進行權限區分,角色權限控制獨立,杜絕越權非法操作。
特性二:雲原生灰階釋出,流程規範可視化
灰階釋出,即先小範圍分批平滑釋出,然後逐漸擴大範圍至整個生産環境。通過控制影響範圍,降低釋出風險,進而達到釋出效率和品質之間的平衡。灰階釋出是一種正确、規範、安全的釋出過程。
華為雲CodeArts Release此次重磅推出了雲原生灰階釋出特性,優勢在于:
- 模闆化管理
可将釋出流程預置為模闆,提升釋出編排效率,規範釋出流程;
- 多場景灰階釋出模式
支援藍綠釋出、金絲雀釋出、滾升釋出等多種灰階政策編排;
- 釋出流程控制
将一次釋出任務分解為多個步驟,釋出與測試同步,通過監控浸泡進行步驟流轉,降低釋出風險;
- 釋出過程可視化
通過釋出單實時觀測微服務的健康情況,異常情況可一鍵復原至舊版本。
特性三:環境變量管理,一次建構全網釋出
Build once, deploy everywhere(一次建構,多次部署)是軟體開發和持續傳遞的基本原則,旨在避免測試階段重複性建構,提升軟體釋出效率。
華為雲CodeArts Release提供的環境變量管理特性,其優勢在于:
- 降低建構時間和建構成本
多套環境可以使用一次建構出包,縮短建構時長,同時降低企業建構資源成本;
- 代碼一緻性
一次建構可以保證所有環境都運作完全相同的代碼;
- 軟體部署與特性釋出解耦
基于環境變量開關特性,減少代碼部署的復原次數,漸進向使用者推出新功能,将軟體釋出風險最小化。
特性四:開發者聯調環境,秒級發放一鍵部署
華為對内部多個産品線研發團隊進行調研,收集開發人員在個人調測過程中遇到的環境相關訴求,主要問題集中在:
- 環境數量不充足,不能保證每個開發者擁有自己的調測環境;
- 環境申請流程長,等待環節多;
- 環境配置複雜,需大量手工配置管理;
- 缺少有效環境管理手段,導緻大量的研發環境浪費。
如何讓開發人員能保證充足的聯調測試環境,同時又能有效降低開發資源成本?這不僅是華為目前面臨的問題,也是業界亟待解決的課題。
華為雲CodeArts Release此次釋出的開發者聯調特性,優勢在于:
- 聯調環境開箱即用
研發環境秒級發放、一鍵部署,為開發者提供高效協同的聯調能力;
- 聯調環境模闆
提供基于模闆的環境管理能力,支援環境快速複制;
- 資源和排程政策管理
調測環境按需發放和回收,最大化資源利用效率,降低企業資源使用成本。
基于以上四大特性,華為雲CodeArts Release可以幫助企業建設靈活的、高品質的DevOps釋出系統,并通過釋出管理與流水線相結合,持續規範企業DevOps釋出流程。
未來,華為雲CodeArts Release将繼續外溢更多華為DevOps釋出實踐,并針對傳統行業釋出模式,提供版本編排、版本基線、版本釋出等IPD釋出模型,助力企業提質增效,打造卓越的數字化體驗。
關注@華為雲,了解更多資訊