首頁/ 科技/ 正文

JFrog幫助製造業企業管理超大製品包實現全球分發

JFrog幫助製造業企業管理超大製品包實現全球分發

隨著車企、手機廠商、家電等製造企業業務的快速發展,軟體應用開發規模也隨之不斷擴大。不同型別的交付製品的管理也成為DevOps落地的一大難題。製品分散管理,儲存隨意,下載困難,分發緩慢等現象長期受到產線使用者挑戰,急需快速解決。經過業務場景分析及使用者調研後,總結為以下通用問題:

痛點

1,製品存量大

製品達到PB級別,分散儲存到S3及EMC儲存上,管理分散,浪費儲存,並且資料量在成倍增長。

沒有合理的製品清理機制,導致過多無效儲存

2,製品質量缺失

製品無質量標籤,篩選版本複雜,增加迭代時間,測試人員經常下錯版本,浪費時間

製品無版本概念,經常出現製品覆蓋現象,最終導致釋出失敗

3,製品分發複雜

由於存量過大,國內多地研發中心、海外研發中心同步製品不可行,多地傳輸浪費頻寬

製品無統一管理,分散到不同團隊,不同叢集上,不便於資料資產梳理

製品往往需要分發到不同的工廠、合作伙伴、售後站及IoT終端,場景複雜

4,製品下載緩慢

單檔案最大達到100G+,下載時經常出現丟包、中斷等現象,使用者體驗極差,浪費時間

解決方案

1,解決效能瓶頸

在下述部署條件下進行效能測試,得到了一份超級滿意的測試報告,在極端資料讀寫的壓力下,6節點Artifactory的每小時吞吐量達到了10TB級別,目前基本可以承載國內所有軟體研發企業製品的吞吐量,具體測試報告可以聯絡JFrog的工程蛙們瞭解測試細節。

JFrog幫助製造業企業管理超大製品包實現全球分發

2,解決製品大批次下載問題

JFrog提供高效能下載工具jfrog cli,可實現分片、多執行緒、斷點續傳等下載方式,基本可以打滿網路頻寬

JFrog在服務端提供cache技術,可實現有ssd磁碟快取熱檔案策略,如快取空間大,可快取所有熱檔案,提升下載速度

由於服務端網路埠依然存在瓶頸,可使用p2p技術進行分流,提升下載速度3-4倍

JFrog幫助製造業企業管理超大製品包實現全球分發

3,異地分發能力

私有化部署+Saas服務,實現製品庫多雲多資料中心混合架構,透過倉庫聯邦及高速分發兩種策略,連結世界所有節點,實現製品分發

JFrog幫助製造業企業管理超大製品包實現全球分發

使用者案例

某手機廠商案例

1,某手機廠商,使用JFrog Artifactory 6個節點,架構設計如下:

JFrog幫助製造業企業管理超大製品包實現全球分發

承載業務量:

接管整機構建daily及Release專案50個,每月420T整機制品包,目前共儲存4PB+資料

接管元件構建專案11000個,每週元件個數231000,150T元件包,目前共儲存1PB+資料

每小時上傳流量接近3TB,下載流量接近2TB

峰值上傳流量15G/S,下載流量5G/S

製品庫儲存總量達到了6PB

2,解決質量缺失

透過JFrog Artifactory的元資料及AQL功能,確保每個製品均具備10條以上的質量資料標籤,實現開發與測試之間零溝通,使版本具備自動化篩選能力,避免下錯版本,浪費時間。

具體實現為,開發團隊構建制品版本,並將過程資料、需求資料、測試資料、匹配機型資料等自動補全在製品的元資料屬性中,如未攜帶此資料,則無法成功上傳。測試人員在使用製品進行燒機測試時,則透過自動化指令碼,自動篩選符合自己機型並具備一定質量屬性的製品,自動測試,整個版本篩選過程無需人與人的溝通,一切自動化完成,提高效率,避免出錯。

JFrog幫助製造業企業管理超大製品包實現全球分發

透過此項改進,獲取瞭如下收益:

打造製品可信平臺,確保所有交付元件包攜帶質量元資料,便於快速定位版本

製品清理機制,定期實現製品清理

3,解決製品分發

在此方案架構下,為了統一管理集團所有產線製品,後期將製品分佈在5個Artifactory叢集中管理,其中app應用使用一個物理叢集,不同產線整機版本各使用一個叢集,私服及Docker映象使用一個叢集。由前段CI工具統一控制製品寫入位置及讀取位置。另外在成都、重慶、上海分中心建立只讀叢集、實現製品快速分發,多地可讀。同時在印度、印尼、孟加拉、阿爾及利亞等地工廠建立只讀叢集,按需分發製品到工廠。

為了最佳化下載速度,該方案中使用了JFrog Artifactory的p2p下載功能,在不同地域的分廠中沒有設定只讀節點,而是使用p2p的peer節點,節約成本,加速下載。整體制品庫架構如下:

JFrog幫助製造業企業管理超大製品包實現全球分發

相關文章

頂部