摘要:2023年2月23日,華為雲CodeArts Artifact製品倉庫服務正式上線,目標進一步賦能企業夥伴與開發者,實現軟體作業中可信製品生產與應用活動快速落地,提高軟體交付效率與質量。
本文分享自華為雲社群《安如泰山 華為雲釋出製品倉庫CodeArts Artifact》,作者:華為雲頭條。
隨著國內外資訊化產業快速發展,數字化應用已經深入到人們生活的方方面面,軟體研發的規模與複雜度也隨之迅速擴大。
在此背景下,開發者們不得不頻繁更新軟體版本,以應對不同細分領域、不同型號終端所需的功能迭代。在這一過程中,開發的繁瑣性以及海量製品儲存與版本管理,都為研發團隊帶來了巨大挑戰和沉重成本,也影響了創新的速度。
即使在華為,同樣的困擾也並不少見。以華為終端業務為例,每一年,終端產品面對著全球上百個國家和地區、數萬個軟體商用版本和數百萬個過程版本的需求交付,其安全合規和高效協同無疑是一個巨大挑戰。
例如,需要解決超大檔案的跨區穩定傳輸,傳輸速度達到300MB/s,同時具備防丟失篡改的能力;在製品量達30PB、數千萬版本迭代的龐大規模下,依舊能保障軟體的穩定儲存與高效獲取。因此穩定高效、安全可靠的製品倉庫,是軟體研發不可或缺的平臺。
2023年2月23日,華為雲CodeArts Artifact製品倉庫服務將於22:00正式上線,目標進一步賦能企業夥伴與開發者,實現軟體作業中可信製品生產與應用活動快速落地,提高軟體交付效率與質量。
▶製品倉庫工具是製品管理與可信的最佳選擇
在軟體研發中,製品倉庫用於存放由原始碼編譯生成的、可執行的二進位制檔案。作為開發的成果性產物,這些二進位制檔案可執行於伺服器上提供服務,或作為進一步整合的編譯依賴參與應用構建。
可以說,整個軟體研發作業過程與目標的達成,都基於製品的獲取、生產、歸檔、應用而運作。流暢、高效、可靠的製品倉庫,是軟體開發工具不可或缺的基礎。
當前,不少研發組織依舊使用著較為簡易並且粗粒度的製品儲存(如搭建FTP或者網盤儲存等),缺乏智慧的製品管理與防護體系,這也為製品的高效使用、版本可信追溯、開源漏洞治理、跨團隊協作等帶來嚴峻的困難與挑戰,極大地拖延了研發週期並增大了出錯機率。
基於華為三十多年的研發經驗和數字化轉型實踐,華為雲總結出建設與運用專業製品倉的三大實踐創新。
第一,生命週期管理,保證製品安全可靠
軟體開發離不開跨組織的協作,這也必然帶來程式碼製品的複雜管理需求。華為公司對供應商或者開源社群引入的製品,構建了一系列完整的管理流程。
首先,製品選型時會進行下載地址驗證、軟體包的雜湊校驗、數字簽名驗證與惡意軟體掃描,驗證全部透過才能入庫到公司級製品中心倉庫,保證製品來源安全可信;
其次,定期對中心倉庫進行開源漏洞和惡意軟體掃描,下線存在嚴重漏洞的製品,持續保證製品開源安全可靠。需要在開源軟體基礎上定製開發等場景,新生成的製品包也要重新進行惡意軟體掃描、華為雜湊值和數字簽名生成;
最後,在整合驗證和釋出階段,構建在封閉環境中下載驗證華為雜湊值,釋出時生成《開源及第三方軟體來源完整性報告》。
基於對開源和第三方軟體產品資料及流程的可信管理,華為落地了開源全生命週期運作的機制,實現開源軟體的來源、過程、結果可信,消除和防止開源軟體的使用風險。
第二:生產儲存可信,讓協同開發高效敏捷
首先,製品倉作為二進位制檔案的儲存載體,其重要作用是實現製品檔案的可信儲存,支撐軟體開發活動使用。華為公司內部建設了製品中心倉,讓所有研發團隊可以按需、在許可權範圍記憶體儲與獲取製品,從而提高協作水平。
此外,製品倉具備製品細粒度的生命週期管理,後設資料歸檔關聯等能力,便於進行資料治理的同時實現製品可溯源與跟蹤,構建可預測和重複。
第三:高效穩定傳輸,提供極致效能體驗
依託製品倉庫中心、衛星節點部署,實現就近下載,和華為對網路架構核心技術的積累,在公司內針對遠端代理,聚合下載,多種語言(Maven、PyPI、npm等10+種)等場景突破了異地50MB/s、同地域300MB/s的速度,並且保證傳輸穩定率到達99.99%。
基於以上三大核心實踐,透過持續構建安全可信、穩定高效的製品中心倉,實現製品安全可追溯,能應對軟體供應鏈攻擊,支撐華為產品和解決方案在170多個國家和地區持續安全穩定執行,贏得全球企業客戶信任。
▶華為雲CodeArts Artifact,全面守護製品質量與安全
在華為的數字化轉型浪潮中,華為內部製品倉庫工具也在不斷演進。從最初始的單機儲存、到分散式叢集製品託管、再到提供製品的完整性保護與供應鏈的安全保護。
如今,製品倉庫已很好地支撐了華為ICT、雲端計算、終端、汽車等各個業務的高速發展,保證軟體製品能在大規模、跨地域、高複雜的全球海量市場中安全、快速交付。
目前,華為雲CodeArts Artifact已經高效支撐華為超過15萬使用者可信中心倉服務,管理超過20億製品包、70PB+的製品檔案,日均上傳下載次數超過20億,同地域100GB版本包5分鐘下載完畢。
具體來看,華為雲CodeArts Artifact能力體現在如下五個方面:
特性一:提供自研、安全、極致效能的製品倉,保障業務連續性不中斷
華為雲CodeArts Artifact製品倉庫,基於雲原生架構自研,解決外界不可控因素導致的業務連續性問題。
在安全性方面:華為雲CodeArts Artifact提供多維度、細粒度的許可權控制,支援企業內不同角色對製品倉庫訪問控制的訴求。製品倉庫儲存採用物理隔離儲存方式,減少惡意盜取製品風險,同時提供記錄使用者操作功能,保證操作可追溯。
在可靠性方面:華為雲CodeArts Artifact支援雙AZ容災和跨地域容災、API限流與降級、服務依賴和隔離、實現服務故障自探測以及99.99%的SLA保證。
在效能方面:華為雲CodeArts Artifact提供熱點檔案快取加速,增量上傳下載,大小檔案充分利用快取加速優勢,極速傳輸,提升使用者構建速度,突破底層儲存頻寬限制,實現同地域高速併發傳輸,對比開源同類產品超過5倍的上傳和超過10倍的下載效能提升。
特性二:支援開源合規分析和漏洞檢測,讓高危致命問題無處遁逃
近年來,開源軟體供應鏈安全事件頻發,各行業對供應安全解決方案有強烈訴求。例如,全球知名開源日誌元件Apache Log4j被曝存在嚴重漏洞,利用門檻極低,但是造成危害極其嚴重。
華為雲CodeArts Artifact製品安全掃描是透過特徵匹配的方式,分析製品包中的開源軟體及版本,然後透過漏洞庫匹配的方式進行開源漏洞檢測。
漏洞庫會實時同步NVD、CNVD、CNNVD等的漏洞資料,並且有專業團隊負責漏洞檢測技術的更新開發,不斷提升服務的檢測能力和檢測效率;
製品安全掃描能覆蓋主流程式語言(C/C++、Java、Go、Python、JavaScript等),同時提供全面、直觀的風險彙總資訊,確保客戶的服務上線之前能夠實時感知開源高危風險,並且能及時修復問題,避免不可估量的損失。
特性三:支援10+種倉庫型別,充分滿足使用者各種使用場景
華為雲CodeArts Artifact製品倉庫支援Generic、Maven、npm、Go、PyPI、RPM、Debian、Conan、Nuget等10+種主流製品倉庫型別,滿足嵌入式、WEB應用、移動應用等開發場景所需,可以與本地各構建、部署工具和雲上的持續整合、持續部署無縫結合。
華為雲CodeArts Artifact也提供製品和後設資料的完整性校驗能力,支援細粒度控制和按版本的細粒度包鎖定許可權,保障釋出軟體測試完整性,全面看護企業製品安全。
特性四:無縫連線第三方倉庫,提供統一聚合倉地址,極大提升使用者體驗和下載效能
針對使用者同時使用多個映象源或製品庫的場景,華為雲CodeArts Artifact提供倉庫聚合能力,允許靈活組合多個代理倉,提供統一製品倉庫入口,解決使用者找不到製品包的痛點,並簡化客戶配置。
CodeArts Artifact新增自定義代理倉功能,允許使用者建立自定義代理倉庫來代理開源社群倉庫和三方依賴倉庫,透過代理倉下載檔案後支援將對應檔案快取到製品倉庫,解決使用者三方依賴下載慢痛點,實現下載三方依賴和本地倉庫一樣的極致體驗。
特性五:按檔名和checksum搜尋,億級製品包秒級查詢與精準定位
華為雲CodeArts Artifact具備強大的搜尋能力,依託於華為資料引擎檢索能力,支援內部研發近百億製品檔案的多維度的快速搜尋。
CodeArts Artifact當前覆蓋Maven、npm、Go、PyPI、RPM、Debian、Conan、Nuget多種製品型別,使用者可以透過檔名稱或HASH資訊(MD5、SHA1、SHA256、SHA512等四種型別),實現秒級檢索定位。
以此為基礎,CodeArts Artifact也演進出上億級別的後設資料和SBOM的高效關聯查詢,以便對製品檔案進行快速溯源,對比開源同類產品搜尋效能提升超過20倍。
基於以上五大特性,華為雲CodeArts Artifact豐富了常用語言的製品庫管理,實現製品開源合規掃描、製品生命週期管理、高效檢視和搜尋、自定義代理倉庫和聚合倉,持續為客戶提供全面、高效、可信的製品管理。
得益於以上特性,華為雲CodeArts Artifact支撐了華為各個領域的業務軟體研發流程變革。
例如,CodeArts Artifact製品倉庫幫助無線、終端產品線提升研發團隊協作,將製品獲取與共享時間耗時縮短20%,識別並且釋放50%重複、過期冗餘空間。同時CodeArts Artifact製品倉庫實現歸檔,防毒,溯源,分發等流程的一體化整合,使整個版本管理全流程耗時縮短40%。
展望未來,華為雲CodeArts Artifact將不斷沉澱大型企業製品管理的最佳實踐,提升製品生命週期管理、製品安全、製品分發等核心能力,攜手國內外客戶、夥伴以及開發者,共同提升軟體釋出質量和效率。
華為雲CodeArts Artifact服務已上線
掃描下方二維碼立即體驗