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