首页 > IT业界 > 正文

JFrog帮助制造业企业管理超大制品包实现全球分发

2021-10-19 14:57:08  来源:

摘要:随着车企、手机厂商、家电等制造企业业务的快速发展,软件应用开发规模也随之不断扩大。不同类型的交付制品的管理也成为DevOps落地的一大难题。制品分散管理,存储随意,下载困难,分发缓慢等现象长期受到产线用户挑战,急需快速解决。经过业务场景分析及用户调研后,总结为以下通用问题:
关键词: 制造业

\

随着车企、手机厂商、家电等制造企业业务的快速发展,软件应用开发规模也随之不断扩大。不同类型的交付制品的管理也成为DevOps落地的一大难题。制品分散管理,存储随意,下载困难,分发缓慢等现象长期受到产线用户挑战,急需快速解决。经过业务场景分析及用户调研后,总结为以下通用问题:

痛点

1,制品存量大

制品达到PB级别,分散存储到S3及EMC存储上,管理分散,浪费存储,并且数据量在成倍增长。

没有合理的制品清理机制,导致过多无效存储

2,制品质量缺失

制品无质量标签,筛选版本复杂,增加迭代时间,测试人员经常下错版本,浪费时间

制品无版本概念,经常出现制品覆盖现象,最终导致发布失败

3,制品分发复杂

由于存量过大,国内多地研发中心、海外研发中心同步制品不可行,多地传输浪费带宽

制品无统一管理,分散到不同团队,不同集群上,不便于数据资产梳理

制品往往需要分发到不同的工厂、合作伙伴、售后站及IoT终端,场景复杂

4,制品下载缓慢

单文件最大达到100G+,下载时经常出现丢包、中断等现象,用户体验极差,浪费时间

解决方案

1,解决性能瓶颈

在下述部署条件下进行性能测试,得到了一份超级满意的测试报告,在极端数据读写的压力下,6节点Artifactory的每小时吞吐量达到了10TB级别,目前基本可以承载国内所有软件研发企业制品的吞吐量,具体测试报告可以联系JFrog的工程蛙们了解测试细节。

\

2,解决制品大批量下载问题

JFrog提供高性能下载工具jfrog cli,可实现分片、多线程、断点续传等下载方式,基本可以打满网络带宽

JFrog在服务端提供cache技术,可实现有ssd磁盘缓存热文件策略,如缓存空间大,可缓存所有热文件,提升下载速度

由于服务端网络端口依然存在瓶颈,可使用p2p技术进行分流,提升下载速度3-4倍

\

3,异地分发能力

私有化部署+Saas服务,实现制品库多云多数据中心混合架构,通过仓库联邦及高速分发两种策略,链接世界所有节点,实现制品分发

\

用户案例

某手机厂商案例

1,某手机厂商,使用JFrog Artifactory 6个节点,架构设计如下:

\

承载业务量:

接管整机构建daily及Release项目50个,每月420T整机制品包,目前共存储4PB+数据

接管组件构建项目11000个,每周组件个数231000,150T组件包,目前共存储1PB+数据

每小时上传流量接近3TB,下载流量接近2TB

峰值上传流量15G/S,下载流量5G/S

制品库存储总量达到了6PB

2,解决质量缺失

通过JFrog Artifactory的元数据及AQL功能,确保每个制品均具备10条以上的质量数据标签,实现开发与测试之间零沟通,使版本具备自动化筛选能力,避免下错版本,浪费时间。

具体实现为,开发团队构建制品版本,并将过程数据、需求数据、测试数据、匹配机型数据等自动补全在制品的元数据属性中,如未携带此数据,则无法成功上传。测试人员在使用制品进行烧机测试时,则通过自动化脚本,自动筛选符合自己机型并具备一定质量属性的制品,自动测试,整个版本筛选过程无需人与人的沟通,一切自动化完成,提高效率,避免出错。

\

通过此项改进,获取了如下收益:

打造制品可信平台,确保所有交付组件包携带质量元数据,便于快速定位版本

制品清理机制,定期实现制品清理

3,解决制品分发

在此方案架构下,为了统一管理集团所有产线制品,后期将制品分布在5个Artifactory集群中管理,其中app应用使用一个物理集群,不同产线整机版本各使用一个集群,私服及Docker镜像使用一个集群。由前段CI工具统一控制制品写入位置及读取位置。另外在成都、重庆、上海分中心建立只读集群、实现制品快速分发,多地可读。同时在印度、印尼、孟加拉、阿尔及利亚等地工厂建立只读集群,按需分发制品到工厂。

为了优化下载速度,该方案中使用了JFrog Artifactory的p2p下载功能,在不同地域的分厂中没有设置只读节点,而是使用p2p的peer节点,节约成本,加速下载。整体制品库架构如下:

\


第三十四届CIO班招生
北达软EXIN网络空间与IT安全基础认证培训
北达软EXIN DevOps Professional认证培训
责编:baxuedong

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。