创建带有发行边缘的软件发行“快车道”

加速软件分发是一个关键部分现代DevOps栈。现代应用程序开发在大规模分布方面带来了新的挑战,导致组织不得不重新考虑他们的软件分发基础设施.
JFrog Distribution使企业能够轻松地创建快速的、可扩展的融合软件分发基础架构通过组合可以部署在多层混合拓扑中的两个组件:专用配电网(PDN)和分布边缘。
在这篇文章中,我们将探讨分布边缘的关键用例和部署拓扑,以及如何将它们作为企业分布基础设施的一部分使用。
什么是分销优势?
作为混合发行拓扑的一部分部署,distribution Edges是只读的人工存储库,它为分布式二进制文件提供本地、低延迟、受治理的消费点,具有优化的下载速度和内置注册表。
分布边缘可以部署在任何环境中:
- 自托管:在本地或云基础设施上
- 作为saas管理的实例使用在公共云上可用——以多云多区域的方式。不希望自己管理边缘基础设施的用户更喜欢此选项。云分布边缘消除了管理开销,确保了高效的操作和更低的TCO——保证了可用性、可扩展性、监控等——所有这些都由JFrog平台作为服务来处理。
分布边缘提供:
- 更快的下载:使用分布式内容的本地低延迟消费点。可选的CDN和PDN前端可以进一步加速下载并提高并发性。
- 混合分布:支持跨本地和SaaS环境以及混合网络拓扑的混合工作流。
- 受治理的、安全的分发:完整的RBAC和审计跟踪,跟踪公共(开放)和经过身份验证的下载
- 可配置下载限制:基于地理或IP黑名单/白名单,签名url启用限时下载可用性。
- 大规模改进的性能和弹性:通过负载平衡从源下载到本地消费点。
分布边缘的用例
让我们回顾一些关键用例及其相应的拓扑:
“下载中心”对外分发
我们的许多客户都在使用Distribution Edges来提供一个“下载中心”,用于与外部共享软件二进制文件:与生态系统,或与特定的客户和合作伙伴。
例如:
- 发布基本镜像、插件、sdk或OSS,供一般开发人员生态系统公开下载。
- 向特定的、经过认证的合作伙伴或客户分发定制软件(驱动程序、定制应用程序等)。例如,isv与客户共享他们的软件,这样他们就可以在自己的环境中进行部署。
在这种情况下,客户使用云SaaS分布边缘——例如,一个在AWS US-East上运行,为您的北美生态系统服务,另一个在AWS EU-Central上运行,用于来自EMEA的流量。通过这种方式,您可以确保可用性和自动伸缩,以及随增长付费的体验,而不需要基础设施管理或过度配置。
他们也可以选择在不同的云上运行他们的下载中心分发边缘,比如GCP US-East多重云加强复原力和确保灾后恢复的方法。
使用云资源还可以使组织更2022世界杯阿根廷预选赛赛程容易地提供外部访问,与内部环境分离,而无需围绕网络管理和访问配置进行繁重的工作。
edge还附带了一个可选的CDN前端,因此在AWS edge之上启用CloudFront CDN将进一步加快全球终端用户的下载速度。
你JFrog2022世界杯32强赛程表时间 (可以是自托管或SaaS)将管理分发工作流到云边缘。当构建被提升为可发布的版本时,您可以从Artifactory GUI中的相关存储库中选择最终的候选版本,然后创建您的发布包并分发包,以及SBOM,到云分布边缘。
通常,随着构建的提升,客户会在不同的CI/CD阶段自动使用API来附加标签。然后,一旦二进制文件被标记为已达到某个批准状态并准备发布到边缘(即沿着“RC1-Approved”行标记),它们就会自动创建发布包和分发事务。
分销边缘使客户能够设置下载限制谁可以使用分发的包。这些限制可以基于:
- geo -针对有出口管制的客户,或针对那些将不同地区/语言导向特定软件版本的客户。
- IP黑白名单—基于IP范围或特定地址进行控制。
- 签名url支持限时下载可用性。当客户希望与匿名用户或合作伙伴共享某些包,并在一段时间后(出于权限、安全性或其他原因)撤销访问时,可以使用这种方法。

复杂供应链中供应商之间的软件分发:
在具有复杂供应链和产品开发生命周期的行业(如汽车、嵌入式设备、医疗保健等)中,许多客户使用Distribution edge作为与PLM链中的下一个供应商协作和共享构建的一种方式。
例如,供应商一个在汽车产品生命周期链中,可以开发轮胎传感器组件的构建,然后需要将这些分发到外部供应商B,以便继续进行开发和测试。供应商B然后会添加温度传感器、分析报告或其他集成的功能吗供应商一个的发展。
在此场景中,分布边缘通常是自托管的,并部署在供应商B他们自己的基础设施(出于IP、安全性、数据主权和其他考虑)——通常是他们的开发站点。供应商一个然后将触发分发事务,并将构建分发到接收分发边缘,对于供应商B让开发者消费。
这种拓扑的好处不仅在于分发速度快,而且分发和消费都是支持rbac的(以确保只有经过授权的用户才能在开发产品时访问包)。
由于分布边缘是只读的人工存储库,因此此模式启用存储库到存储库的直接分发以及包完整性和SBOM可见性。分布边缘使成千上万的开发人员能够在生命周期的下一阶段(供应商B) -因为他们可以立即开始在他们的Artifactory实例中进行最新的,批准的构建。如果没有分销边缘,在复杂的供应链中,供应商之间的这种类型的交接是非常手工的,而且容易出错,并且需要在不同的各方之间进行大量的循环和同步。
例如,当供应商过去使用ShareFile或其他MFT进程“发送”这些二进制文件时,接收端将需要首先接收包——这可能需要很长时间才能下载(特别是容器镜像和其他现代应用程序创建更重的二进制文件),然后需要成千上万的开发人员下载,然后将这些构建上传到他们的存储库中开始处理它们。
这不仅会浪费大量的周期、时间和网络容量,而且还会给系统带来风险。很难确保这些单独下载/导入的文件的真实性,很难确保它们没有被篡改,甚至很难确保包没有被更新供应商一个并在原始批处理和能够在接收端下载和处理构建之间的时间内重新发送。

用于加速生产部署的本地缓存中间层:
当发布到生产环境中时,客户通常会首先将部署序列所需的二进制文件分发到分布边缘(Distribution edge),这些分布边缘与生产集群(本地或云)部署在很近的位置。
例如,一家在纽约运营自己的数据中心的银行将在其生产环境旁边的同一数据中心部署分布边缘。一旦一个新的发布开始,发布管理器将首先将新发布的包分发到边缘。所有生产节点都将映射到该分布边缘,并开始下载二进制文件及其依赖项(因为边缘也是一个存储库),以便启动部署序列。
由于分布边缘是只读的,具有完整的RBAC和审计跟踪,因此客户可以确保职责分离需求。由于边缘提供了一个本地的、低延迟的下载点,这极大地加快了部署顺序——特别是当版本需要在一个非常大的基础设施上推出时。
对于额外的下载加速以加快运行时部署,您还可以使生产在分布边缘之上——当发布在所有生产集群上推出时,支持并发突发。
Distribution Edges的相同中间层拓扑还可以跨入站网络为远程开发团队提供分发服务。分销交易加速,拥有专利网络优化功能,例如能够在纽约开发团队和中国QA团队之间共享二进制文件,在中国消费点快速下载。

看到它在行动!
查看分布边缘的演示并发现如何扩展Artifactory的使用,以创建强大的分发基础设施“快车道”观看最近的网络研讨会录音。
开始免费试用亲自尝试JFrog DevOps平台和JFrog发行版,或者安排一个演示讨论您的特定用例和体系结构与我们的解决方案架构师之一。
