摘要: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服务已上线

扫描下方二维码立即体验

点击关注,第一时间了解华为云新鲜技术~

华为云CodeArts Artifact,5大特性守护制品质量与安全的更多相关文章

  1. 为测试管理正名,华为云CodeArts TestPlan的守护之道

    摘要:华为云CodeArts TestPlan既有公有云版本,也有下沉到私有云的版本. 本文分享自华为云社区<为测试管理正名,华为云CodeArts TestPlan的守护之道>,作者:云 ...

  2. 揭开华为云CodeArts TestPlan启发式测试设计神秘面纱!

    摘要:质量是产品的生死线. 本文分享自华为云社区<揭开华为云CodeArts TestPlan启发式测试设计神秘面纱!>,作者:华为云PaaS服务小智 . 2019年12月20日,是美国波 ...

  3. 《一张图看懂华为云BigData Pro鲲鹏大数据解决方案》

    8月27日,华为云重磅发布了业界首个鲲鹏大数据解决方案--BigData Pro.该方案采用基于公有云的存储与计算分离架构,以可无限弹性扩容的鲲鹏算力作为计算资源,以支持原生多协议的OBS对象存储服务 ...

  4. 不想业务被中断?快来解锁华为云RDS for MySQL新特性

    摘要:新特性上线!华为云RDS for MySQL又添新技能,实力保障业务连续性. 本文分享自华为云社区<不想业务被中断?快来解锁华为云RDS for MySQL新特性>,作者:Gauss ...

  5. 纷繁复杂见真章,华为云产品需求管理利器CodeArts Req解读

    摘要:到底什么是需求?又该如何做好需求管理? 本文分享自华为云社区<纷繁复杂见真章,华为云产品需求管理利器 CodeArts Req 解读>,作者:华为云头条 . 2022 年 8 月,某 ...

  6. MySQL 8.0新增特性详解【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  7. 华为云BigData Pro解读: 鲲鹏云容器助力大数据破茧成蝶

    华为云鲲鹏云容器 见证BigData Pro蝶变之旅大数据之路顺应人类科技的进步而诞生,一直顺风顺水,不到20年时间,已渗透到社会生产和人们生活的方方面面,.然而,伴随着信息量的指数级增长,大数据也开 ...

  8. 解密华为云FusionInsight MRS新特性:一架构三湖

    摘要:华为云安全网关产品总监郭冕在"华为云TechWave云原生2.0专题日"上发表<华为云FusionInsight MRS,一个架构实现三种数据湖>的主题演讲,分享 ...

  9. 华为云Volcano:让企业AI算力像火山一样爆发

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

  10. “洞察千里”,华为云HiLens如何让无人车智行天下

    作者:华为云 Rosie 随着人工智能的普及和渗透,"无人"的场景越来越丰富,无人超市.无人车.无人机等已经融入我们的生活. 乘着这股热浪,华为云携手上海交通大学学生创新中心举办了 ...

随机推荐

  1. CSS伪类使用详解

    基本描述 CSS伪类是很常用的功能,主要应用于选择器的关键字,用来改变被选择元素的特殊状态下的样式. 伪类类似于普通CSS类的用法,是对CSS选择器的一种扩展,增强选择器的功能. 目前可用的伪类有大概 ...

  2. 【每日一题】【比较中右,内部比较中右,注意边界带>=】2021年11月2日-搜索旋转排序数组-211102/220211

    [某下标处进行了旋转]整数数组 nums 按升序排列,数组中的值 互不相同 . 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋 ...

  3. ARC145~152 题解

    比赛标号从大到小排列 . 因为博主比较菜所以没有题解的题都是博主不会做的 /youl ARC144 以前的比赛懒得写了 . 目录 AtCoder Regular Contest 152 B. Pass ...

  4. Burp Suite

    Burp Suite proxy代理 1.首先在浏览器中设置代理配置 火狐浏览器先点击右上角三个杠--选项--常规--网络设置 2.打开Burp Suite进行抓包 Proxy代理--options中 ...

  5. 错误:Required request parameter 'XXX' for method parameter type String is not present

    错误信息:Required request parameter 'XXX' for method parameter type String is not present 这种都是前端请求方式不同,后 ...

  6. 【QT开发问题】使用自定义的QGroupBox,重写绘图事件paintEvent后边框消失的问题

    问题描述 Qt界面开发过程中,使用自定义的QGroupBox,重写绘图事件paintEvent时,出现边框被覆盖的情况,或边框消失的问题. 左图是原始状态,直接重写绘图事件后,会变成右图空白状态.   ...

  7. 详解Python当中的pip常用命令

    原文链接:https://mp.weixin.qq.com/s/GyUKj_7mOL_5bxUAJ5psBw 安装 在Python 3.4版本之后以及Python 2.7.9版本之后,官网的安装包当中 ...

  8. 【转载】SQL SERVER 表变量与临时表的优缺点

    什么情况下使用表变量?什么情况下使用临时表? -- 表变量: DECLARE @tb table(id int identity(1,1), name varchar(100)) INSERT @tb ...

  9. Ubuntu20.04/22.04 安装 Arduino IDE 2.x

    这周收到两片基于LGT8F328P LQFP32的Arduino Mini EVB, 机器上没有 Arduino 环境需要新安装, 正好感受一下新出的 Arduino IDE 2.x, 记录一下 Ub ...

  10. ES中的内置对象--jquery如何优化代码,少用$进行查找,减少查找次数的方法