隨著信息技術(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)的基本概念:
接下來,本文將通過兩個主要的案例來闡述實(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)為:
針對這些問題,我們采取了分兩步走的策略:
第一步遵循一包到底原則建立制品同步機(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ī)制需注意:
應(yīng)對不同的環(huán)境與場景,采用對應(yīng)的同步機(jī)制和策略,這也往往涉及到企業(yè)的管理合規(guī)性。所以企業(yè)在考慮發(fā)布高效性和安全性的同時,管理合規(guī)性也應(yīng)納入考量。
希望通過本期內(nèi)容,能對企業(yè)制品管理提供幫助。
LLMOps+DeepSeek:大模型升級一體化運(yùn)維
查看詳細(xì)
DeepSeek賦能企業(yè)研發(fā):DevOps+AI 新時代再升級!
查看詳細(xì)
DeepSeek已接入!OpsPilot探索智能運(yùn)維無限可能!
查看詳細(xì)
SRE轉(zhuǎn)型:銀行 SRE 進(jìn)階之路
查看詳細(xì)
SRE轉(zhuǎn)型:銀行 SRE 轉(zhuǎn)型與 SLO 管理的深度融合
查看詳細(xì)
SRE轉(zhuǎn)型:不同團(tuán)隊規(guī)模下的銀行SRE團(tuán)隊組建策略
查看詳細(xì)
申請演示
主站蜘蛛池模板: 贞丰县| 昂仁县| 罗定市| 和龙市| 铜川市| 沅陵县| 垦利县| 柳林县| 满洲里市| 连州市| 格尔木市| 枞阳县| 凤翔县| 九江县| 赣榆县| 巨鹿县| 米泉市| 井研县| 洛南县| 清丰县| 东光县| 宜昌市| 新竹市| 普兰店市| 泰宁县| 井冈山市| 柳江县| 南阳市| 宁化县| 通道| 普宁市| 武安市| 通许县| 望奎县| 宾阳县| 山丹县| 和田市| 岐山县| 无为县| 南宫市| 洛阳市|