化繁為簡高效部署 華為雲發布部署服務CodeArts Deploy

2023-02-27     華為雲

原標題:化繁為簡高效部署 華為雲發布部署服務CodeArts Deploy

隨著網際網路、數字化的發展,公司機構與各類企業往往需要進行大量頻繁的軟體部署,部署設備類型多樣,如:本地機器、雲上裸金屬伺服器、雲上虛擬機與容器等。面對多種部署模式、分布式複雜運行環境,如何用最短時間、高質量、安全可靠的進行軟體部署,這已經成為一個普遍關注的課題。

持續部署,通過頻繁的、標準化、自動化的方式,將軟體快速交付到生產環境。從開發人員提交代碼到編譯、測試、部署,全流程無人干預,完全自動化執行。這種模式與部署能力,可以大幅加快軟體版本上線速度,保證新功能第一時間被用戶使用。

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將打造提供可灰度、可回滾、可監控、可追溯的輕量化軟體發布上線能力,助力企業實現應用的高可靠快速發布。

關注@華為雲,了解更多資訊

文章來源: https://twgreatdaily.com/zh/1fb051c7e55662b13c8c0f0ff49aa7b5.html