为何软件研发过程中需要使用制品库?

2022-09-27 17:01:04 浏览数 (1)

01. 什么是制品库?

1)开发阶段

首先开发同学在编程时,并非全部代码都需要自己来编写,这就导致了开发团队在开发构建阶段需要使用大量来自于外部的依赖组件。如果没有制品库去构建企业唯一的可信源,那么将无法保障众多开发团队所使用的组件来源是否都合法、安全和可信。一旦引入问题组件,对于企业业务的打击将是巨大的。

参考21年年底,几乎所有Java应用都会使用的maven制品(Log4j2组件)爆发严重漏洞,导致大量国内服务器遭国外黑客操纵,被列为最高级别漏洞:

▲来源:人民资讯文章《阿帕奇安全漏洞警示:原因、危害及应对》▲来源:人民资讯文章《阿帕奇安全漏洞警示:原因、危害及应对》

2)开发运维交接

在开发团队完成开发工作后,接下来需要把软件包交接给运维同事去做测试/生产环境的部署。这时候没有制品库去做制品的版本管理和流转处理的话,开发团队就没法对制品的质量/发布状况了如指掌,运维团队也难以确定本次可发布的版本,这如果发生在大型IT组织内部,将造成难以计量的生产事故。

3)运维部署阶段

如果存在多地的生产环境(数据中心),运维团队需要做生产发布时,需要保证多地软件包的同步分发才能保障应用能在各地及时上线,其中传输介质是否安全可靠、版本如何保障一致、异地传输怎么处理、权限管理如何把关都是困扰运维团队的难题。

▲缺少制品库,将造成大型IT组织内部的数字业务生产协同混乱▲缺少制品库,将造成大型IT组织内部的数字业务生产协同混乱

在过往小规模开发时候,由于IT组织间协同问题不大,很多企业是不需要制品库的,但当企业研发工作上了一定规模以后,制品库的作用就开始变得不可或缺。

就像在汽车制造要做到工业化生产,就必须要用到专业的仓库去帮助企业管理不同类型的汽车在制品和成品车,从而保障从汽车生产直至交付客户使用的任何一个环节都不出错。数字化转型的企业在软件研发规模扩大化、或者尝试敏捷开发转型时,也会通过制品库去保障软件生产到交付的任何一个环节都不出错。通过结合不同企业的业务发展情况,可以构建不同的制品管理使用场景:

  • 私服依赖库模式下:通过构建“制品安全扫描 DMZ隔离区 多级代理”,即可保障开发团队对制品的合规应用;
  • 单生产环境模式下:通过构建“制品安全扫描 私服依赖仓库 项目隔离的制品仓库 制品晋级 部署发布”,即可大幅提升企业软件生产的安全性;
  • 多地中心模式下:构建“制品安全扫描 CI流水线持续集成 多节点制品管理 制品同步分发 应用发布自动化 多地应用部署”,即可保障企业DecSecOps转型,在提升软件生产效能的同时,确保安全生产。

02. 嘉为蓝鲸CPack制品管理平台

那么,同样是制品库,嘉为蓝鲸CPack制品管理平台与Nexus、Harbor以及某些国外商用制品库相比,又有什么区别呢?

1)国产化技术

采用国产技术进行研发与设计,全中文操作界面降低企业工具学习成本的同时,满足国内企业软件国产化需求,守护国内企业软件研发之旅更加稳健与安全。

2)高性能验证

与腾讯共研的国产制品库,其多线程下载与高性能吞吐已经得到了腾讯内部数百款业务的大量验证,高效保障国内软件研运业务的稳定性。

3)企业级制品管理

CPack不仅支持 Generic、Docker、Maven、Gradle、Helm、Npm、PyPI 、Composer、RPM包等常见制品库类型,而且支持仓库代理功能,解决不同仓库管理复杂的问题;通过版本管理及元数据来管理制品全生命周期;提供安全扫描与依赖分析进行风险把控;拥有精细化的权限管控与监控能力,保障数字资产安全;具备制品同步分发能力,实现多数据中心的数据同步;CPack支持云原生但不强制绑定云平台,给到企业更广泛的业务选择可能性。

本回答由嘉为蓝鲸原创,商业用途请联系作者,非商业用途请注明出处,若觉得有帮助的话欢迎点赞收藏。

如果您对嘉为蓝鲸CPack制品管理平台感兴趣,希望了解更多产品内容,欢迎去官网联系嘉为蓝鲸,我们将为您提供最新的产品材料与产品试用。

0 人点赞