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

首頁

/

DevOps系列:賦能開發(fā),理解倉庫代理的力量

發(fā)布日期:2024-11-22 11:16:09

分享到

01.背景:代理倉庫的業(yè)務(wù)畫像

在研發(fā)領(lǐng)域,制品庫扮演著管理制品的關(guān)鍵角色。這里的制品是指由源代碼經(jīng)過編譯與打包后生成的二進(jìn)制文件,這些二進(jìn)制文件因開發(fā)語言的不同而呈現(xiàn)出不同的格式。這些二進(jìn)制文件通常用于運(yùn)行在服務(wù)器上或者作為編譯過程中的必要依賴項(xiàng)。通過制品庫的高效管理,研發(fā)團(tuán)隊(duì)能夠確保二進(jìn)制制品的有序存儲(chǔ)與便捷使用。

制品庫根據(jù)其管理制品的類型,主要可以從兩個(gè)維度進(jìn)行分類:一是按照制品的開發(fā)語言、二是按照制品的使用場(chǎng)景。在圖1中,展示了涵蓋主流開發(fā)語言的大部分制品倉庫,其中包括但不限于 Docker、Maven、npm、pypi、helm、composer、nuget、Conan等。

圖 1 制品類型(網(wǎng)絡(luò)圖片,侵權(quán)刪除)

圖2深入展示了制品庫在不同應(yīng)用場(chǎng)景下的多樣化運(yùn)用。根據(jù)實(shí)際應(yīng)用需求,行業(yè)內(nèi)通常將制品庫分為以下幾類:

  1. 檔制品倉庫(存放產(chǎn)品交付的安裝包、流水線構(gòu)建的通用文件等)
  2. 鏡像倉庫(歸檔云應(yīng)用制品,docker 鏡像、helm charts 等)
  3. 依賴倉庫(外部引入的三方組件、內(nèi)部公共的依賴等)
圖 2 制品庫不同場(chǎng)景應(yīng)用(網(wǎng)絡(luò)圖片,侵權(quán)刪除)

02.解密代理倉庫的玩法

在實(shí)際運(yùn)用三方依賴或官方鏡像的過程中,開發(fā)者們往往會(huì)遭遇一系列棘手問題,這些問題不僅影響了研發(fā)效率,還帶來了安全隱患。具體來說:

  1. 外部依賴下載緩慢甚至下載失敗,影響研發(fā)構(gòu)建速度;
  2. 跨網(wǎng)段的依賴交付效率低下(有些地方通過手工方式拷貝);
  3. 依賴安全風(fēng)險(xiǎn)失控,沒有準(zhǔn)入原則,提升了后期漏洞修復(fù)的成本。

然而,這些問題在代理倉庫的“魔法”都能得到妥善解決。讓我們先通過圖 3 看看代理倉庫是什么。

代理倉庫,在制品庫中是一種特殊的倉庫,其核心價(jià)值在于能夠靈活配置代理多個(gè)源。當(dāng)私有倉庫內(nèi)找不到所需包時(shí),它會(huì)按照預(yù)設(shè)的配置順序,自動(dòng)從代理源中拉取并返回給用戶。這一過程中,通過采用憑證管理,既保證了操作的便利性,又確保了數(shù)據(jù)的安全性。

引入倉庫代理后,制品的拉取邏輯變得清晰而高效:

  1. 優(yōu)先獲取私有倉庫內(nèi)的包,系統(tǒng)會(huì)優(yōu)先從私有倉庫中查找并獲取所需的包。
  2. 倉庫無法找到時(shí),再從配置的代理的源按照配置的順序查找獲取。
圖 3 代理倉庫

在代理倉庫尚未融入研發(fā)流程之時(shí),每個(gè)代碼倉庫或項(xiàng)目工程所需的三方組件,都要求研發(fā)團(tuán)隊(duì)逐一進(jìn)行依賴倉庫源的配置。這些配置的關(guān)系,在圖4中得到了直觀的呈現(xiàn)。

圖 4 展示的是一種相對(duì)比較簡(jiǎn)單的依賴關(guān)系。有些復(fù)雜的項(xiàng)目工程,可能依賴的倉庫源會(huì)是多個(gè),那么就需要在項(xiàng)目中配置多個(gè)依賴源和不同的拉取策略。使用代理后,研發(fā)對(duì)項(xiàng)目的依賴配置會(huì)進(jìn)一步精簡(jiǎn),只需要在項(xiàng)目工程中配置代理倉庫的信息即可。

圖 4 代理倉庫使用前后的區(qū)別

使用了代理倉庫之后,代理倉庫憑借其高效的拉取策略,輕松解決了依賴?yán)【徛@一困擾研發(fā)團(tuán)隊(duì)的問題。同時(shí),通過代理跨網(wǎng)段的倉庫源,可以做到通過網(wǎng)絡(luò)策略的方式保障網(wǎng)絡(luò)可控的隔離且不影響依賴?yán)〉男剩蛔詈螅驗(yàn)樗械囊蕾囀褂茫家ㄟ^代理倉庫,這樣可以在代理倉庫中規(guī)劃安全策略,來實(shí)現(xiàn)依賴安全風(fēng)險(xiǎn)的可控。所以,代理倉庫處理了依賴管理的業(yè)務(wù)場(chǎng)景下一系列的經(jīng)典問題。下面,我們通過一些典型場(chǎng)景,來體會(huì)下代理倉庫的實(shí)際應(yīng)用效果。


03.代理倉庫在實(shí)踐中的力量

對(duì)于大多數(shù)的企業(yè),不管 IT 團(tuán)隊(duì)的大小,都會(huì)有訪問遠(yuǎn)程公共資源的的場(chǎng)景,例如:Maven Centra、Docker Hub、http://npmjs.org 等公共資源。然而,在利用這些寶貴資源的過程中,企業(yè)往往會(huì)遇到一系列挑戰(zhàn),包括:

  1. 下載慢,影響研發(fā)構(gòu)建效率;
  2. 安全風(fēng)險(xiǎn)缺乏管控;
  3. 網(wǎng)絡(luò)上希望做隔離,要處理跨網(wǎng)絡(luò)策略的問題。

針對(duì)上述的業(yè)務(wù)場(chǎng)景,我們可以基于代理倉庫的能力,建設(shè)企業(yè)私服依賴庫:DMZ 隔離區(qū) + 多級(jí)代理的方案解決該場(chǎng)景下問題。

如圖 5 中所示,業(yè)務(wù)區(qū)域,通過 DMZ 區(qū)實(shí)現(xiàn)與公共互聯(lián)網(wǎng)環(huán)境的隔離。DMZ 環(huán)境與組織內(nèi)部網(wǎng)絡(luò)之間,通過網(wǎng)絡(luò)策略連接。在 DMZ 區(qū)域,對(duì)拉取同步過來的依賴執(zhí)行安全掃描,并實(shí)施安全策略,對(duì)于不滿足安全要求的組件依賴,不允許其被拉取到業(yè)務(wù)生產(chǎn)區(qū)域使用。

基于這樣的設(shè)計(jì),中央倉庫、DMZ 私服庫、業(yè)務(wù)區(qū)域依賴庫三者間,形成多級(jí)的代理。業(yè)務(wù)區(qū)域構(gòu)建使用依賴,會(huì)優(yōu)先從依賴庫中拉取;在依賴庫中不存在的情況下從私服庫獲取,私服庫中可用的組件一定是滿足安全要求的制品;DMZ 區(qū)私服庫中不存在,則私服庫會(huì)從中央倉庫獲取,獲取后執(zhí)行安全掃描的動(dòng)作,不安全的依賴將會(huì)禁止內(nèi)部網(wǎng)絡(luò)使用。

圖 5 多級(jí)代理應(yīng)用

在上述的網(wǎng)絡(luò)結(jié)構(gòu)和部署策略中,DMZ 區(qū)上的實(shí)例制品主要包括:

  1. 存放已下載、掃描通過的組件依賴
  2. 代理了不同類型的遠(yuǎn)程資源;
  3. 聚合了所有的其他存儲(chǔ)類型的倉庫。

另外,業(yè)務(wù)區(qū)域(內(nèi)部環(huán)境)依賴庫中的實(shí)例制品,主要包括:

  1. 本地倉庫存儲(chǔ)構(gòu)建產(chǎn)物或者其他包;
  2. 遠(yuǎn)程倉庫代理了 DMZ 區(qū)域的倉庫,以及其他類型的倉庫。


04.總結(jié)

在當(dāng)前行業(yè)發(fā)展趨勢(shì)中,各大企業(yè)愈發(fā)重視安全與效率的提升,代理倉庫的能力以及倉庫代理結(jié)合網(wǎng)絡(luò)拓?fù)?/span>模型的應(yīng)用已經(jīng)越來越普遍,也越來越體現(xiàn)出其價(jià)值。倉庫代理的能力已經(jīng)無需過多論證,也有類似嘉為科技、騰訊、華為等各大廠商提出了各種企業(yè)級(jí)解決方案。亟需行業(yè)從業(yè)者們繼續(xù)推廣,放大其價(jià)值。

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

聯(lián)系我們

服務(wù)熱線:

020-38847288

QQ咨詢:

3593213400

在線溝通:

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

申請(qǐng)演示

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