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