利用分布边界创建您的软件分布“快车道”

带有分布边的软件分布快车道

加速软件分发是一个关键部分现代DevOps栈的核心。现代应用程序开发为大规模分发带来了新的挑战,导致组织重新考虑他们的软件分发基础设施

JFrog分发使企业能够轻松地创建快速的、可扩展的融合的软件分发基础设施通过组合可以部署在多层、混合拓扑中的两个组件:专用配电网(PDN)和分布的边缘。

在这篇文章中,我们将探讨分发边缘的关键用例和部署拓扑,以及如何将它们作为企业分发基础设施的一部分使用。

什么是分布边?

作为混合分发拓扑的一部分部署,分发边缘是只读Artifactory存储库,它为分布式二进制文件提供本地的、低延迟的、受治理的消费点,具有优化的下载速度和内置注册表。

分布边可以部署在任何环境上:

  1. 自托管:在您的内部或云基础设施上
  2. 作为saas管理的实例消费在公共云上可用——以多云多区域的方式。不希望自己管理边缘基础设施的用户首选此选项。云分布边缘消除了管理开销,确保了高效的操作和更低的TCO——有保证的可用性、伸缩性、监视等——所有这些都由JFrog平台作为服务处理。

边缘分布提供:

  • 更快的下载:为分布式内容提供本地的、低延迟的消费点。可选的CDN和PDN前端可以进一步加速下载和改进并发性。
  • 混合分布:支持跨on-prem和SaaS环境的混合工作流和混合网络拓扑。
  • 治理、安全的地理分布:完整的RBAC和审计跟踪,跟踪公共(开放)和认证下载
  • 可配置的下载限制:基于Geo或IP黑白名单,签名url启用限时下载可用性。
  • 大规模改进性能和弹性:通过负载平衡从源下载到本地消费点。

分布边用例

让我们回顾一些关键用例及其对应的拓扑结构:

“下载中心”用于外部分发

我们的许多客户正在使用分发边缘来提供一个“下载中心”来对外共享软件二进制文件:与生态系统共享,或与特定的客户和合作伙伴共享。

例如:

  • 发布基本映像、插件、sdk或OSS,供一般开发人员生态系统公开下载。
  • 与特定的、经过认证的合作伙伴或客户分发定制软件(各种驱动程序、定制应用程序等)。例如,对于那些与客户共享软件的isv来说,这样他们就可以在自己的环境中进行部署。

在这种情况下,客户使用云SaaS分发优势——例如,一个在AWS US-East上运行的分发优势服务于您的北美生态系统,一个在AWS EU-Central上运行的分发优势用于来自EMEA的流量。通过这种方式,您可以确保可用性和自动伸缩,以及随增长付费的体验,而不需要基础设施管理或过度配置。

他们还可以选择在不同的云(如GCP US-East)上运行他们的下载中心分发边缘多重云加强韧性和确保DR。

使用云资源还可以使组织更2022世界杯阿根廷预选赛赛程容易地提供外部访问,从而与内部环境分离,无需围绕网络管理和访问配置进行繁重的工作。

边缘还附带一个可选的CDN前端,因此在AWS边缘之上启用CloudFront CDN将进一步加快全球终端用户的下载速度。

你JFrogDevOps的平台(可以是自托管或SaaS)将管理分发工作流到云边缘。当构建被提升为发布准备好的时候,您可以从Artifactory GUI中的相关存储库中选择最终的发布候选版本,然后创建您的release Bundle并分发包,以及SBOM,到云分布边缘。

通常,当构建得到提升时,客户会自动使用API在不同的CI/CD阶段添加标签。然后,一旦二进制文件被标记为已经达到某个被批准的状态,并准备好发布到边缘(即沿着“RC1-Approved”的标签),它们就会自动创建发布包和分发事务。

分销边缘使客户能够设置下载限制关于谁可以使用分布式包。这些限制可以基于:

  1. geo—针对有输出控制的客户,或针对那些将不同地区/语言引导到特定版本的软件的客户。
  2. IP黑名单/白名单——用于基于IP范围或特定地址的控制。
  3. 签名url支持限时下载可用性。当客户希望与匿名用户或合作伙伴共享某些包,并在经过一定时间(出于授权、安全性或其他原因)后撤销访问权限时,就会使用这种方法。

distribution-edges-topology-for-download-center-use-case

复杂供应链中供应商之间的软件分发:

在具有复杂供应链和产品开发生命周期的行业(如汽车、嵌入式设备、医疗保健等)中,许多客户使用分发边缘作为与PLM链中的下一个供应商协作和共享构建的方式。

例如,供应商一个在汽车产品生命周期链中,可以为轮胎传感器组件开发构建,然后需要将这些组件分发到外部供应商B,以便继续开发和测试。供应商B然后是否会添加温度传感器、分析报告或其他集成的功能供应商一个的发展。

在这种场景中,分布边通常是自托管的,并部署在供应商B微软自己的基础设施(为了知识产权、安全、数据主权和其他考虑)——通常是他们的开发站点。供应商一个将触发一个分发事务,并将构建分发到接收分发边缘,为供应商B然后消费。

这种拓扑的好处不仅仅是分发的速度,或者分发和消费都是启用rbac的这一事实(确保在开发产品时,只有经过授权的用户才能访问包)。

因为分布边是只读的Artifactory存储库,所以该模式支持repository-to-repository直接分配以及包的完整性和SBOM可见性。分布边缘使数以千计的开发人员在生命周期的下一个阶段能够立即摄取构建(供应商B)——因为他们将能够立即开始在他们的Artifactory实例中处理最新的、被批准的构建。如果没有分布边缘,在复杂的供应链中,供应商之间的这种类型的交接是非常手工和容易出错的,并且需要在不同方之间进行大量的周期和同步。

例如,当供应商过去使用ShareFile或其他MFT流程来“发送”这些二进制文件时,接收端首先需要接收包——这可能需要很长时间来下载(特别是容器映像和其他现代应用程序创建的二进制文件要重得多),然后需要成千上万的开发人员下载并上传这些构建到他们的存储库中开始工作。

这不仅浪费了大量的周期、时间和网络容量,而且我们还向系统引入了风险。要确保这些单独下载/导入的文件的真实性,确保它们没有被篡改,或者甚至软件包都没有被更新,就更难了供应商一个并在原始批处理和构建能够在接收端下载和处理之间的时间内重新发送。

Distribution-edges-topology-for-complex-supply-chain-plm

加速生产部署的本地缓存中间层:

当发布到生产环境中时,客户通常首先将部署序列所需的二进制文件分发到分布边缘(Distribution edge),这些分布边缘部署在非常接近的位置,或者与生产集群(on-prem或cloud)位于同一位置。

例如,在纽约运营自己数据中心的银行将在紧挨着其生产环境的同一数据中心中部署Distribution Edge。一旦一个新的发布开始,发布管理器将首先将新推出的包分发到Edge。所有生产节点将映射到该分发边缘,并开始下载二进制文件及其依赖项(因为边缘也是一个存储库),以便开始部署序列。

由于分布边是只读的,使用完整的RBAC和审计跟踪,客户可以确保职责需求的分离。由于边缘提供了一个本地的、低延迟的下载点,这极大地加快了部署顺序——特别是当版本需要跨非常大的基础设施空间推出时。

如果需要额外的下载加速以加速运行时部署,您还可以使生产在分布边缘之上——以支持在所有生产集群中推出发行版时并发爆发。

相同的分布式边缘中间层拓扑还可以跨仅入站网络为远程开发团队提供分发服务。通过专利的网络优化功能,分发交易加快了速度——例如,可以在纽约开发团队和中国的QA团队之间共享二进制文件,在中国消费点可以快速下载。

Distribution-edges-topology-for-local-caching-production-deployments

在行动中看到它!

要查看分布边缘的演示并发现如何扩展对Artifactory的使用,以创建强大的分发基础设施“快车道”-请观看最近的网络研讨会录音。

开始免费试用尝试JFrog DevOps平台和JFrog发行版,或者安排一个演示讨论您的特定用例和体系结构与我们的一位解决方案架构师合作。