隨著互聯網、數字化的發展,公司機構與各類企業往往需要進行大量頻繁的軟件部署,部署設備類型多樣,如:本地機器、云上裸金屬服務器、云上虛擬機與容器等。面對多種部署模式、分布式復雜運行環境,如何用最短時間、高質量、安全可靠的進行軟件部署,這已經成為一個普遍關注的課題。
持續部署,通過頻繁的、標準化、自動化的方式,將軟件快速交付到生產環境。從開發人員提交代碼到編譯、測試、部署,全流程無人干預,完全自動化執行。這種模式與部署能力,可以大幅加快軟件版本上線速度,保證新功能第一時間被用戶使用。
2月27日,華為云發布持續部署服務CodeArts Deploy,通過模塊化自由編排部署流程,實現軟件的自動化部署,幫助企業軟件產品的快速、高效、高質量交付。
傳統部署怎么做?
當開發者把代碼構建打包后,軟件包需要被安裝到具體的服務器上,才能夠對外提供服務從而實現商業變現。軟件被安裝到服務器這一過程,在軟件開發活動中通常被稱為部署。
現在多數應用程序,其部署過程都比較復雜,經常包含很多步驟,且步驟間夾雜著人工確認等動作,很容易發生意外情況。
即便一個簡單的部署動作,也可能會因為服務器版本的不同、文件目錄結構的差異、權限的不一致、配置項繁瑣而導致應用程序無法正常啟動;
同時,部署項的數量、服務器數量、每次部署的步驟數也會直接影響軟件的部署效率,三個維度的復雜性共同導致軟件部署的工作量呈指數級增長;
而且,一個軟件產品從開發出來到最終入網,往往需要經過開發環境、集成測試環境、預發模擬環境、生產環境等多輪測試驗證。
從多個角度分析得知,傳統的部署方式無法實現軟件規模化部署。
簡而言之,傳統的部署方式存在效率低、周期長,可重復性差、易錯、成功率低等問題;也存在著部署責任和權限不清晰、上線頻度低、嚴重依賴執行部署動作的人和經驗等大量的短板。從趨勢上看,更加頻繁的交付新特性,快速閉環反饋,是軟件開發一致追求的目標。
華為云CodeArts Deploy助力安全、高效持續部署
華為云CodeArts Deploy采用沙箱技術,提供可視化UI頁面,通過封裝技術對用戶屏蔽繁瑣的操作配置流程,用戶只需填寫關鍵的參數,即可實現應用的部署。
基于其易入門、功能全、集成度高、自動化、可靠的部署能力,CodeArts Deploy能夠幫助大量客戶快速實現業務上云,全面提升軟件的交付效率,顯著提升交付質量。
具體來看,華為云CodeArts Deploy有以下5大優勢:
特性一:內嵌豐富系統模板,配置簡單,開箱即用
面對多種新技術所衍生出的多種部署方式,華為云CodeArts Deploy將各種部署能力進行UI化提取,通過系統模板集成的方式,將紛亂繁雜的部署工程配置標準化并向用戶開放。
目前,CodeArts Deploy內嵌超過15個系統模板,包含主機、容器、Serverless等多種部署形態,覆蓋了Tomcat、Springboot、Go、NodeJs、Docker、Kubernetes等多種語言和技術棧。
除提供豐富的系統模板外,還支持用戶開發自定義模板,將具有相同部署流程的應用通過模板進行歸檔復用,減少重復配置工作,極大提升持續部署效率。
特性二:步驟自由組裝,靈活編排,滿足各行業部署訴求
一次完整的部署過程通常會包含多個步驟。對于不同的用戶和行業,涉及到的部署場景可能會存在巨大的差異,導致部署工程的配置以及步驟間依賴關系也不盡相同。
例如,一款大型軟件通常由多個部件組成,對于大型軟件的部署,會涉及多個部署步驟和軟件包的安裝,且存在復雜的前后依賴關系;同時,不同技術棧的部署步驟也不盡相同。所以開發一套能夠覆蓋全部行業和場景的標準部署方案無法行得通。
華為云CodeArts Deploy服務可對部署過程進行拆分提取,將每一個動作封裝為一個獨立的插件,以部署步驟的方式提供給用戶。用戶可以基于步驟進行自由組裝,只需輸入必要的參數即可實現工程配置,避免手動編寫部署腳本。同時,用戶可根據部署場景需要,用托拽的方式自定義編排部署工程。
目前,CodeArts Deploy已集成40多個部署步驟,涵蓋多種技術棧的部署,以及文件操作、軟件安裝等附加通用能力,通過豐富的部署步驟,以及自由靈活編排功能的加持,使得應用部署更輕松。
特性三:橫縱向權限隔離,多環境一鍵式自動化部署,助力企業安全、高效生產
DevOps敏捷模式下,通常包括Alpha、Beta、Gamma、Production等四種環境。軟件在上線過程中,根據測試階段軟件會被部署不同環境,每個環境都需要經過嚴格的測試,滿足當前環境的驗證標準,才能進入到下個環境。
華為云CodeArts Deploy提供以應用為中心的環境管理能力,將同一應用下的各個環境進行統一管理,在多環境部署的場景下,使每個環境采用相同的部署流程,保證交付的一致性。
生產故障是軟件開發不可碰觸的紅線,環境作為其中最關鍵的一環,其安全管理顯的尤為重要。CodeArts Deploy采用橫向和縱向的權限隔離機制,嚴守安全部署底線。
橫向鑒權限制部署時只可選擇當前應用關聯的環境,避免在復雜的軟件開發中應用和環境交叉部署導致安全事故。另外,每個環境的職責不同,面向的成員角色也會有所差異,所以對環境的權限需要做差異化的配置。
縱向鑒權采用更加精細化的“角色-權限”二維矩陣模型,支持環境實例級別的權限隔離,精準把控每個環境的安全。
基于環境管理,CodeArts Deploy提供一鍵式自動化部署能力,部署過程可視化,可隨時觀察部署狀態,如果部署過程中發生異常,支持一鍵回滾到上一版本,實現安全部署。CodeArts Deploy天然與流水線無縫對接,當代碼提交時可自動觸發實現環境的實時升級,真正實現無人值管理。
特性四:支持多種部署形態,滿足各種部署場景
基于企業部署環境和業務多元化的需要,華為云CodeArts Deploy提供主機、容器、微服務以及函數流等多種部署形態。
主機部署
CodeArts Deploy開發了大量的部署步驟,涵蓋基礎軟件安裝、文件操作、軟件部署等方面。在支持Linux操作系統多個主流發行版本的同時,也支持基于Windows操作系統為平臺的軟件部署場景。
容器部署
CodeArts Deploy支持華為云CCE集群、用戶自有集群以及三方供應商提供的通用Kubernetes集群,實現云上云下協同部署。提供基于Kubernetes Manifest描述的全量部署和基于鏡像迭代的快速部署能力。
另外,CodeArts Deploy也提供基于Helm客戶端(Kubernetes包管理器開源軟件)、Kubectl命令行以及原生Docker命令等多種容器部署能力。
微服務部署
CodeArts Deploy通過打通華為云上下游,實現CodeArts與華為云Servicestage服務的對接,滿足用戶基于微服務架構應用的部署。Servicestage天然集成SpringCloud、ServiceComb等開源框架,配合CSE微服務引擎,助力微服務應用更好、更快的部署。
函數工作流
對于期望直接運行代碼源文件,對底層運行資源不關注的用戶。CodeArts Deploy通過對接新一代Serverless函數計算與編排服務FunctionGraph,以事件驅動函數的方式實現軟件的發布。
特性五:多地域災備部署,多賬號協同部署
一次宕機或者一段時間的停服,可能會給公司或企業帶來巨大的負面影響,造成無法挽回的損失,所以災備部署功能已成為部署工具的必要能力之一。
華為云CodeArts Deploy支持跨region的災備部署能力,使用同一套部署配置,將應用同時部署到生產環境和其他region搭建的容災環境,極大降低緊急情況下長時間停服的概率,確保產品安全可靠。
CodeArts Deploy同時支持云上跨賬號部署能力。大型企業通常會有多個職能部門,企業上云后出于對IT系統的精細化治理,每個部門會被分配各自的華為云賬號,用于維護該部門的物理資源和部署應用。另一方面,企業希望使用統一的DevOps賬號來管理所有部門的軟件開發活動,其中包含應用的部署行為。
例如,要求所有部門遵守相同的需求管理規范、代碼提交規則、發布門禁以及部署流程等開發標準,還需要統計各個部門、各開發人員的工作質量和工作進度等效能指標。針對上述的部署治理場景,基于CodeArts Deploy跨賬號部署能力,開發人員使用DevOps賬號可將編譯過的軟件包部署到所屬部門賬號的資源中,在獨立IT治理的場景下,依然可以滿足開發活動的統一治理。
得益于以上特性,華為云CodeArts Deploy已服務華為內部以及廣大公有云客戶,覆蓋金融、物流、能源、汽車等多個行業,幫助用戶實現應用的高效迭代和快速部署。
例如,華為內部使用CodeArts Deploy后,應用部署一次性成功率直線提升超過80%;某頭部大型物流企業,其全部產品線100多套系統平臺使用CodeArts Deploy進行部署交付,效率較之前提升超過30%,大大縮短軟件交付周期。
面向未來,華為云CodeArts Deploy將打造提供可灰度、可回滾、可監控、可追溯的輕量化軟件發布上線能力,助力企業實現應用的高可靠快速發布。
審核編輯 黃宇
-
服務器
+關注
關注
12文章
9024瀏覽量
85186 -
華為云
+關注
關注
3文章
2423瀏覽量
17314
發布評論請先 登錄
相關推薦
評論