精品国产一区二区三区麻豆小说,亚洲国产精品一区二区三区,欧美大片一区二区,欧美日韩国产精品一区

首頁

/

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

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

分享到

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

  • 節(jié)點(diǎn):指的是部署了制品庫并可以存儲制品的獨(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)境、測試環(huán)境和生產(chǎn)環(huán)境,開發(fā)測試與生產(chǎn)環(huán)境通常存在網(wǎng)絡(luò)隔離;
  • 同步策略:一般包含沖突策略、時間策略、校驗(yàn)策略等,合理利用這些策略可以提高分發(fā)效率。

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

    免費(fèi)申請演示

    聯(lián)系我們

    服務(wù)熱線:

    020-38847288

    QQ咨詢:

    3593213400

    在線溝通:

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

    申請演示

    請登錄后在查看!

    主站蜘蛛池模板: 贞丰县| 昂仁县| 罗定市| 和龙市| 铜川市| 沅陵县| 垦利县| 柳林县| 满洲里市| 连州市| 格尔木市| 枞阳县| 凤翔县| 九江县| 赣榆县| 巨鹿县| 米泉市| 井研县| 洛南县| 清丰县| 东光县| 宜昌市| 新竹市| 普兰店市| 泰宁县| 井冈山市| 柳江县| 南阳市| 宁化县| 通道| 普宁市| 武安市| 通许县| 望奎县| 宾阳县| 山丹县| 和田市| 岐山县| 无为县| 南宫市| 洛阳市|