使用分发边缘创建软件分发“快车道”

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

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

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

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