欧美日本国产一区,国产农村妇女毛片精品久久莱园子,国产精品视频一区二区三区,777gn亚洲综合国产

DevOps系列:多中心如何同步制品協(xié)作發(fā)布上線?

發(fā)布日期:2023-11-17 11:30:16

分享到

隨著信息技術(shù)深入應(yīng)用,企業(yè)的IT組織效能提升與數(shù)字化轉(zhuǎn)型需求越發(fā)迫切。9月起,嘉為藍(lán)鯨《研效一體,價(jià)值釋放》線上課程直播,針對(duì)企業(yè)IT部門DevOps落地實(shí)踐分六期詳解項(xiàng)目管理、制品分發(fā)、持續(xù)交付、測(cè)試管理、研發(fā)效能洞察、價(jià)值流管理場(chǎng)景。

10月12日,嘉為藍(lán)鯨DevOps咨詢顧問張?zhí)扃駷榇蠹規(guī)?lái)《多中心如何同步制品協(xié)作發(fā)布上線》的主題分享,深度剖析了非成熟分發(fā)模式下的弊端,并通過自身豐富的客戶落地實(shí)踐經(jīng)驗(yàn),系統(tǒng)介紹了切實(shí)可行的多中心制品同步解決思路與方法。下面我們一起回顧下本次直播的精彩內(nèi)容。

01. 標(biāo)準(zhǔn)化制品管理是支撐現(xiàn)代工業(yè)的技術(shù)基石

制品管理并非一個(gè)全新的概念,其起源可以追溯到工業(yè)革命時(shí)期。為進(jìn)一步提高生產(chǎn)效率,制造業(yè)以制品管理標(biāo)準(zhǔn)化的形式,完整串聯(lián)起了從原料倉(cāng)儲(chǔ)到半成品的管理,再到成品運(yùn)輸、配送交付到各地的整個(gè)流程。這種標(biāo)準(zhǔn)化管理使得原本可能局限于一地的工業(yè)生產(chǎn)模式逐漸轉(zhuǎn)變?yōu)樨炌?9至21世紀(jì)、席卷全球的工業(yè)革命。

如今,當(dāng)企業(yè)紛紛談?wù)揑T營(yíng)運(yùn)轉(zhuǎn)型、提升數(shù)字業(yè)務(wù)研發(fā)績(jī)效時(shí),由于IT組織的獨(dú)特性、工作的非標(biāo)準(zhǔn)化以及業(yè)務(wù)的復(fù)雜性,企業(yè)在構(gòu)建DevOps工藝體系時(shí)很容易忽略或難以清晰認(rèn)識(shí)到,要全面實(shí)現(xiàn)IT研運(yùn)體系轉(zhuǎn)型,則需要完善的制品管理機(jī)制。

隨著DevOps在國(guó)內(nèi)的深入應(yīng)用,大部分企業(yè)已經(jīng)能構(gòu)建自己的CICD流程,甚至涵蓋了CO的環(huán)節(jié)。然而,隨著DevOps的進(jìn)一步實(shí)踐,大量的軟件制品被源源不斷地生產(chǎn)出來(lái),包括不同語(yǔ)言的制品類型如Java、Maven、JavaScript、NPM、Python、Pypi,以及基于IT技術(shù)應(yīng)用的制品類型如Docker、Helm、RPM和.net等。這些制品在數(shù)字業(yè)務(wù)研發(fā)生命周期的各個(gè)環(huán)節(jié)中產(chǎn)生,存在于產(chǎn)品研發(fā)、測(cè)試和運(yùn)維的各個(gè)團(tuán)隊(duì)中。

這些制品既可以作為開發(fā)人員之間共享的重要組件,也可以成為企業(yè)的私有資產(chǎn)。在IT組織轉(zhuǎn)型DevOps之前,很多企業(yè)已經(jīng)開始使用Nexus或Harbor等開源制品管理技術(shù),甚至建設(shè)SVN或通過FTP模式來(lái)管理和傳輸制品。由于當(dāng)時(shí)的開發(fā)業(yè)務(wù)相對(duì)簡(jiǎn)單,制品類型較少、分發(fā)頻率較低,由運(yùn)維團(tuán)隊(duì)負(fù)責(zé)制品管理是可行的,并且因制品管理導(dǎo)致的生產(chǎn)事故風(fēng)險(xiǎn)較低。此外,開源工具大多數(shù)免費(fèi),對(duì)于企業(yè)而言不會(huì)產(chǎn)生額外的預(yù)算壓力。因此,在業(yè)務(wù)發(fā)展的初期階段,對(duì)于很多IT管理者而言,制品管理的成本代價(jià)和風(fēng)險(xiǎn)較低。

然而,隨著IT規(guī)模的逐步擴(kuò)張和業(yè)務(wù)的發(fā)展,傳統(tǒng)制品管理模式的缺陷逐漸暴露,導(dǎo)致企業(yè)的IT開發(fā)與運(yùn)維在制品管理上產(chǎn)生摩擦。在這個(gè)階段,需要一套標(biāo)準(zhǔn)的、更專業(yè)的制品管理機(jī)制來(lái)避免軟件開發(fā)過程中出現(xiàn)的一系列問題。


02. 軟件研發(fā)流程與對(duì)應(yīng)的制品管理

為了解決上述問題,業(yè)界開始尋求一些專業(yè)的制品管理方式來(lái)推動(dòng)軟件研發(fā)流程的順暢運(yùn)行。通常,軟件研發(fā)流程包括多個(gè)階段,如需求階段、開發(fā)階段、構(gòu)建階段、測(cè)試階段和交付階段,每個(gè)階段都有相應(yīng)的制品管理需求。在這個(gè)過程中,開發(fā)人員將制品倉(cāng)庫(kù)的原料,如外部原料倉(cāng)、內(nèi)網(wǎng)的依賴庫(kù)以及本地私有依賴庫(kù)等,存儲(chǔ)到企業(yè)私服,作為公有的依賴源;將還沒有經(jīng)過測(cè)試的半成品打包放到制品倉(cāng);經(jīng)過多輪測(cè)試之后,將最終的制品放到成品倉(cāng)交由到交付人員做相應(yīng)的部署。

若想做好制品管理,需要關(guān)注兩大核心方面四大關(guān)鍵工程。

首先,兩大核心方面包括依賴管理和CICD優(yōu)化。在依賴管理方面,需要建立唯一的可信源,統(tǒng)一管理各地、各種依賴,并建立定期的依賴維護(hù)機(jī)制,同步云端以及更新本地依賴。此外,需要建立依賴掃描機(jī)制,保證本地依賴的安全性。在CICD方面,需要推動(dòng)相應(yīng)的優(yōu)化,將交付物的元數(shù)據(jù)作為質(zhì)量關(guān)卡,保證上線安全;對(duì)制品自動(dòng)進(jìn)行安全掃描以確保制品安全;對(duì)接CI工具,實(shí)現(xiàn)制品的自動(dòng)晉級(jí);此外,還需對(duì)接CD工具,實(shí)現(xiàn)制品的自動(dòng)拉取和晉級(jí)等。

接下來(lái)是四大關(guān)鍵工程。第一項(xiàng)是云端依賴同步工程,需要定期同步云端依賴與本地依賴,并配備相應(yīng)的掃描機(jī)制來(lái)保證本地倉(cāng)庫(kù)的安全性。第二項(xiàng)是依賴源服務(wù)工程,著重于將本地的依賴更好地服務(wù)于整個(gè)CI構(gòu)建環(huán)節(jié)。第三項(xiàng)是制品晉級(jí)工程,涉及到從構(gòu)建環(huán)節(jié)到測(cè)試環(huán)節(jié),甚至到交付環(huán)節(jié)的制品晉級(jí),例如在編譯構(gòu)建時(shí)如何將開發(fā)完成的product包晉級(jí)成SIT測(cè)試、UAT狀態(tài)和準(zhǔn)生產(chǎn)狀態(tài)的包等,這一過程中需要進(jìn)行多輪制品晉級(jí)。最后是制品同步工程,這也是本文的重點(diǎn)討論內(nèi)容。

通過關(guān)注這些方面和工程,可以有效地實(shí)施制品管理,推動(dòng)軟件研發(fā)流程的順暢運(yùn)行,提高開發(fā)效率和產(chǎn)品質(zhì)量。


03. 高效的制品同步機(jī)制保障企業(yè)業(yè)務(wù)平穩(wěn)運(yùn)行

通常,企業(yè)在執(zhí)行制品同步過程中主要面臨三個(gè)挑戰(zhàn):開發(fā)和生產(chǎn)發(fā)布的一致性無(wú)法得到保障、制品在多地同步并統(tǒng)一上線難度大、以及內(nèi)部環(huán)境中的制品無(wú)法快速遷移到另一個(gè)環(huán)境。這些問題的核心在于如何在不同的網(wǎng)絡(luò)環(huán)境下,保障發(fā)布的一致性、安全性和及時(shí)性。因此,我們需要構(gòu)建有效的制品同步機(jī)制來(lái)應(yīng)對(duì)這些挑戰(zhàn)。

在進(jìn)一步闡述具體的解決方案之前,我們首先需要了解與制品同步相關(guān)的基本概念:

  • 節(jié)點(diǎn):指的是部署了制品庫(kù)并可以存儲(chǔ)制品的獨(dú)立環(huán)境。這些節(jié)點(diǎn)基于地域可分為中心節(jié)點(diǎn)和邊緣節(jié)點(diǎn),或者基于組織模式各地均為獨(dú)立節(jié)點(diǎn);
  • 分發(fā)環(huán)境:基于軟件研發(fā)流程,我們一般將環(huán)境分為開發(fā)環(huán)境、測(cè)試環(huán)境和生產(chǎn)環(huán)境,開發(fā)測(cè)試與生產(chǎn)環(huán)境通常存在網(wǎng)絡(luò)隔離;
  • 同步策略:一般包含沖突策略、時(shí)間策略、校驗(yàn)策略等,合理利用這些策略可以提高分發(fā)效率。

接下來(lái),本文將通過兩個(gè)主要的案例來(lái)闡述實(shí)現(xiàn)制品同步機(jī)制保障的解決思路。


1)點(diǎn)對(duì)點(diǎn)制品同步機(jī)制最佳實(shí)踐

案例中的XX金融公司雖然每年都會(huì)聘請(qǐng)咨詢師來(lái)做IT建設(shè)的培訓(xùn),包括領(lǐng)導(dǎo)層、部門管理和工程師方面的培訓(xùn),但在整體研發(fā)流程框架的優(yōu)化改革方面卻難以推動(dòng),存在著典型的部門墻現(xiàn)象。各個(gè)環(huán)境之間是分散來(lái)做網(wǎng)絡(luò)隔離的,導(dǎo)致每逢發(fā)版日就問題頻出。

具體問題表現(xiàn)為:

  • 各個(gè)環(huán)境之間的制品傳遞需要通過腳本拉取并上傳,多次拉取上傳會(huì)造成文件丟失,無(wú)法校驗(yàn)文件完整性。
  • 多次構(gòu)建會(huì)造成制品元數(shù)據(jù)的丟失,無(wú)法記錄制品全生命周期的信息。
  • 手動(dòng)跨越防火墻與網(wǎng)絡(luò)隔離,無(wú)法實(shí)現(xiàn)全自動(dòng)化晉級(jí)。

針對(duì)這些問題,我們采取了分兩步走的策略:

第一步遵循一包到底原則建立制品同步機(jī)制,實(shí)現(xiàn)制品庫(kù)與流水線無(wú)縫連接,將制品統(tǒng)一管理并插入制品生命周期元數(shù)據(jù),從而保證全生命周期的可追溯性;通過制品庫(kù)內(nèi)微服務(wù)間請(qǐng)求以及制品完整性校驗(yàn)機(jī)制,保障制品流轉(zhuǎn)安全;保證網(wǎng)絡(luò)防火墻與統(tǒng)一網(wǎng)關(guān)出入口的環(huán)境相互隔離,保護(hù)各個(gè)環(huán)境的網(wǎng)絡(luò)安全。

第二步是通過制品擺渡實(shí)現(xiàn)隔離網(wǎng)絡(luò)下的開發(fā)生產(chǎn)同步。這里包含了多種分發(fā)策略的設(shè)計(jì),比如定時(shí)分發(fā)、增量分發(fā)、指定時(shí)間段分發(fā)等。這既兼顧了制品分發(fā)的及時(shí)性,同時(shí)可以利用閑時(shí)分發(fā),避免擠占服務(wù)器資源,保障制品分發(fā)的效率。此外,在DMZ區(qū)建立獨(dú)立制品庫(kù)作為中轉(zhuǎn)站接收研發(fā)環(huán)境制品,并自動(dòng)向生產(chǎn)制品庫(kù)分發(fā)。在這種情況下,即使研發(fā)環(huán)境跟生產(chǎn)環(huán)境的網(wǎng)絡(luò)是隔離的,也可以完全實(shí)現(xiàn)制品在各環(huán)境間的自動(dòng)化晉級(jí),提高生產(chǎn)效率。

在點(diǎn)對(duì)點(diǎn)的制品同步機(jī)制建設(shè)完成后,該企業(yè)制品線整體效率相比之前優(yōu)化了30%,發(fā)布的安全性與質(zhì)量也得到了顯著提升。

以上是企業(yè)制品同步中的一種場(chǎng)景的解決方案,接下來(lái)看第二個(gè)案例。


2)一地多中心制品同步最佳實(shí)踐

案例中的XX國(guó)企規(guī)模較大,在全國(guó)擁有多個(gè)分發(fā)中心。制品分發(fā)計(jì)劃通常由總部進(jìn)行統(tǒng)一管控,發(fā)布的包在發(fā)布時(shí)會(huì)同步到各地的邊緣節(jié)點(diǎn),然后由各地根據(jù)發(fā)布計(jì)劃進(jìn)行拉取,拉取完成后通過應(yīng)用發(fā)布工具進(jìn)行發(fā)布。但由于企業(yè)復(fù)雜的業(yè)務(wù)架構(gòu)和網(wǎng)絡(luò)與性能的限制,企業(yè)無(wú)法快速地將待發(fā)布的制品同步到各個(gè)邊緣節(jié)點(diǎn),導(dǎo)致發(fā)布延期。

為了解決這個(gè)問題,企業(yè)首先確保中心節(jié)點(diǎn)的制品能夠?qū)崟r(shí)同步給各邊緣節(jié)點(diǎn)的制品庫(kù),以確保在面對(duì)快速上線發(fā)布窗口時(shí)能夠準(zhǔn)時(shí)發(fā)布。然而,由于實(shí)時(shí)同步機(jī)制對(duì)資源的消耗量巨大,企業(yè)因此設(shè)置了制品的定時(shí)發(fā)布,每天晚上11點(diǎn)會(huì)將研發(fā)中心的制品同步到各地的生產(chǎn)中心,等到發(fā)布窗口到來(lái)時(shí),各地的生產(chǎn)中心就可以在自己內(nèi)部的制品庫(kù)中拉包進(jìn)行相應(yīng)的發(fā)布上線。從較長(zhǎng)的時(shí)間線條來(lái)看,這相當(dāng)于完成了制品的實(shí)時(shí)同步。

同時(shí),企業(yè)通過一次性配置分發(fā)計(jì)劃,自動(dòng)執(zhí)行分發(fā)策略并記錄每次任務(wù)日志,保障了制品分發(fā)的完整性。最后,企業(yè)還建立了分發(fā)資源池與網(wǎng)絡(luò)資源池的機(jī)制。當(dāng)出現(xiàn)多個(gè)分發(fā)任務(wù)時(shí),分發(fā)資源池與網(wǎng)絡(luò)資源池的存在可以保障最大限度地提高傳輸速度,同時(shí)保障網(wǎng)絡(luò)與服務(wù)器資源的安全。

以上就是兩個(gè)制品同步機(jī)制的不同場(chǎng)景以及對(duì)應(yīng)的解決方法,不同分發(fā)機(jī)制需注意:

  • 點(diǎn)對(duì)點(diǎn)同步機(jī)制雖然模式較為簡(jiǎn)單,但仍需注意:在實(shí)際的發(fā)布場(chǎng)景中要保證一致性和安全性,首先要確保整體的發(fā)布環(huán)節(jié)遵循一包到底原則;為了實(shí)現(xiàn)隔離網(wǎng)段中的同步,可以通過定時(shí)規(guī)范配合擺渡機(jī)來(lái)做自動(dòng)同步。
  • 而面對(duì)一地多中心這種復(fù)雜的架構(gòu)情況,如果只從工具角度或工程角度很難完全保證效率的提升,所以需要建立資源池或者配備相應(yīng)的分發(fā)計(jì)劃,需要有上層統(tǒng)一管理的機(jī)制和規(guī)范化的流程來(lái)保證整體的分發(fā)的安全性和效率。

    應(yīng)對(duì)不同的環(huán)境與場(chǎng)景,采用對(duì)應(yīng)的同步機(jī)制和策略,這也往往涉及到企業(yè)的管理合規(guī)性。所以企業(yè)在考慮發(fā)布高效性和安全性的同時(shí),管理合規(guī)性也應(yīng)納入考量。

    希望通過本期內(nèi)容,能對(duì)企業(yè)制品管理提供幫助。

    免費(fèi)申請(qǐng)演示

    聯(lián)系我們

    服務(wù)熱線:

    020-38847288

    QQ咨詢:

    3593213400

    在線溝通:

    立即咨詢
    查看更多聯(lián)系方式

    申請(qǐng)演示

    請(qǐng)登錄后在查看!