面向边缘和物联网应用的软件分发的设计考虑因素

面向边缘和物联网应用的软件分发

别搞错了:你不能忽视软件分发DevOps.面临风险的是软件发布的可靠性、安全性和速度——以及你的业务本身。

在跨众多边缘端点或物联网设备发布产品的企业中尤其如此。随着发布的节奏和有效负载的增长,软件分发的挑战也在增加,尤其是在边缘。

请继续阅读,了解边缘和物联网软件交付方面的一些挑战,软件分发如何提供帮助,以及企业如何为边缘和物联网应用扩展安全、持续的软件交付。

软件分发和边缘计算市场

Topio Networks是一家跟踪边缘和物联网市场的行业研究公司,它在边缘领域发现了一个新的高增长子领域:软件分发,他们认为这是一个值得关注的重要而有趣的领域。

目前有六家公司在这个边缘软件分发子领域,包括JFrogJFrog分布.Topio联合创始人兼首席运营官加文·怀特丘奇在最近的联合网络研讨会上表示:“JFrog是该领域的领先公司之一。为边缘和物联网应用扩展持续软件交付.”

边缘市场格局

边缘市场格局
(来源:Topio Networks)

什么是软件发行?

JFrog的物联网产品经理Michael Vakulenko在网络研讨会上解释说,软件分发是关于将二进制文件从创建的地方(通常是在开发或CI/CD阶段)转移到运行时环境中进行部署,无论是在数据中心/云服务器、边缘基础设施还是嵌入式设备中。

在小型系统中,软件分发相当简单。然而,在较大的系统中,快速实现可靠、安全和及时的软件发布很快就会成为一个巨大的挑战。

现代分销面临的挑战包括:

  • 将二进制文件分发到数千个服务器、pod和边缘节点
  • 处理全球多个云平台和地区,所有这些都有不同的法规和问题
  • 支持混合部署、内部部署和边缘部署——通常同时进行
  • 快速、安全、可靠和频繁地执行此操作

企业对可伸缩、安全和可靠的软件发布的需求只会加深。为什么?首先,企业希望加快发布速度,许多企业现在每天多次将软件部署到生产环境中。

同时,二进制构件越来越大,特别是随着容器使用的增加。与此同时,IT基础设施正变得越来越复杂,出现了混合和多云环境,并采用了边缘计算和物联网设备。

大规模软件分发

因此,在内部拼凑一个分发解决方案似乎是不可行的。这就是我们创建JFrog Distribution的原因。Vakulenko解释说:“它解放了开发人员、DevOps和SRE团队,让他们专注于自己的应用,而不是解决棘手的软件分发挑战。”

那么cdn呢?

内容分发网络(cdn)被定位为软件分发,但它们并不是为此目的而构建的,因此它们有明显的弱点。

让我们来看看cdn与JFrog这样的软件分发解决方案是如何比较的:

  • cdn与您的DevOps管道JFrog分配ibution是JFrog的原生组件DevOps的平台
  • cdn的覆盖范围仅延伸到地铁位置。JFrog Distribution走得更远——一直延伸到站点,比如零售店、办公楼,甚至作为端点设备本身的缓存层。
  • cdn通常针对云环境进行优化,甚至它们的“边缘”位置仍然在公共云上,而不是在混合或预置基础设施上。JFrog发行版可以在混合运行时环境中运行,支持预置部署和混合部署。
  • cdn主要用于服务静态文件,例如web应用程序的图像,它为HTTP下载提供了基础设施。JFrog发行版支持特定于包的协议,并作为端点上的本地注册表,同时加速部署并支持高并发下载。
  • cdn设计用于处理单个文件。JFrog发行版处理构成发行版的二进制文件集合。
  • cdn只提供下载统计信息。JFrog发行版为您提供详细的部署跟踪,这样您就知道什么软件在哪里运行。
  • cdn不支持包或安全。JFrog发行版与您的安全流程和策略紧密集成,允许您跟踪版本的软件物料清单(SBOM),甚至在包中检测到安全漏洞时阻止发行版。

边缘分布和应用程序发布问题

与传统的数据中心相比,将软件分发到边缘有一些特殊的挑战。

以下是一些关键挑战,适用于所有边缘计算领域,包括服务提供商边缘、本地和区域数据中心,以及智能和受限设备:

  • 连接限制,包括间歇性带宽和长时间延迟
  • 由于每个边缘站点缺乏熟练的工作人员,需要远程管理
  • 数据中心安全边界外节点的不可信网络
  • 在没有云连接的情况下,对自主操作的需求
  • 大量地理上分散的节点

JFrog平台中的软件分发

JFrog意识到软件分发过程对于现代DevOps栈是多么的重要,因此将分发作为JFrog不可分割的一部分端到端DevOps平台,使应用程序可以从任何来源交付,一直到边缘。

JFrog平台涵盖了软件二进制管理生命周期的所有阶段,从代码到生产——我们称之为BinOps。它包括一个集中的构件库而且容器注册表与JFrog Artifactory合作;安全性和遵从JFrog x光;使用JFrog管线进行CI/CD编曲;当然还有JFrog Distribution。

JFrog Distribution是一个业界独有的解决方案,允许您跨大规模混合拓扑和并发需求加速受治理的安全包分发-克服甚至有限的带宽和网络延迟。使用JFrog Distribution,用户可以加速二进制软件发布到广泛的部署目标,如公共云、本地数据中心、分支机构、区域站点和物联网/边缘设备。

软件向边缘分发的设计考虑因素

让我们回顾一下将软件分发到边缘频谱的有效和安全解决方案所需的五个关键具体考虑因素:从基础设施边缘(如商店分支机构或POS),一直到“瘦”边缘和物联网设备。我们还将讨论如何在JFrog解决方案中解决这些设计最佳实践。

1 -跨混合环境的分布式架构

首先,分布式架构是应对大规模边缘部署及其峰值负载的关键。JFrog分布的专用配电网(PDN)为跨混合的分布式环境大规模分发软件工件而从头开始设计。

作为一种分布式网络,PDN传播软件工件,如包或容器映像,从一个中央Artifactory通过分布节点的多层拓扑组织成组。边缘客户端从最近的分发组下载软件二进制文件。

此外,分布节点由JFrog平台远程管理,并向其报告其状态和指标。平台显示网络的实时拓扑视图。

PDN在一个代理中结合了两种网络加速和优化技术:CDN和P2P。由于分布节点分担许多同时下载的负载,以确保网络弹性,而且PDN可以部署在任何商用硬件上,因此它们实际上添加了一个缓存层(CDN),以加速部署和高并发下载(P2P)到任何类型的基础设施节点或设备。它们不需要具有大网络容量的高性能服务器。

最后,PDN的部署和配置很简单——只需要在分布节点配置中定义父节点、组名和安全令牌,它就会自动加入网络。

2 -释放的完整性

软件发行版通常包含多个必须同时部署的二进制文件,因此您的分发解决方案需要维护这些组件之间的相互依赖关系,这些组件可能多达数千个。

这就是版本完整性概念发挥作用的地方,因此来自不同版本的不兼容组件不会被部署。

JFrog通过发布包来确保发布的完整性——发布包是软件分发的原子单元,包含了发布的所有组件及其元数据。一旦创建并签署了发布包-使其不可更改和防篡改- JFrog将其传播到所有PDN节点或边缘分布它们是分发基础结构的一部分,或者是运行时环境的最后一部分。

在所有组件到达分发节点并通过发布包签名进行验证之前,边缘计算节点不能开始下载发布组件。这就是JFrog如何确保发布作为一个原子块到达,并在整个分发过程中保持其所有内部一致性。

3 -下载优化

连接问题——有限的带宽、高延迟、不稳定的连接——在边缘计算中产生了许多问题。具体地说,尝试下载大型二进制文件通常需要很长时间或直接失败。更复杂的是,边缘节点通常位于防火墙之后。

JFrog的PDN优化了下载,并在许多节点上有效地分发大型二进制文件。它是这样做的:

  • 大文件被分成小块,每个块通过单独的TCP连接下载。这减少了下载时间,并使下载不容易受到连接错误的影响。
  • 通常,新版本只更改前一个版本文件的一小部分。在JFrog中,分布节点分析发布包清单并只下载新文件,极大地减少了带宽的使用。
  • 接下来,JFrog分布节点可以从组中的对等节点下载大块文件,进一步加速下载。为了实现这一点,JFrog基于HTTP和GRPC协议开发了一种高效且有弹性的点对点(P2P)协议。
  • 此外,JFrog下载是防火墙友好的。为了克服防火墙阻塞,JFrog PDN,总是建立从分布节点到父节点的连接,因此从防火墙环境内部到网络。
  • 分布节点定期轮询它们的父节点以获得下载通知,如果有挂起的下载,它们将启动它。

4 -零信任安全

在边缘部署中,分布节点通常安装在数据中心的安全边界之外,并通过不受信任的网络连接到后端。这就是为什么实现零信任安全模型是至关重要的,该模型包括对节点和网络之间的所有连接进行身份验证、授权和加密。

在JFrog的PDN中,分布节点总是使用相互验证的TLS连接连接到它们的父节点。身份验证是使用行业标准的安全模型完成的,每个分布节点都有证书。

此外,从分布节点下载二进制文件时,边缘计算节点必须提供有效的授权令牌,授予其权限。简而言之,我们的安全模型始终包括下载计划的加密、身份验证和授权。

5 -软件构件的本地缓存

在医院、石油平台或快餐店等边缘站点本地缓存软件工件有两个主要好处:

  • 首先,它可以实现站点的自主运营。这样,即使没有到中央存储库的internet连接,站点中的计算系统也可以重新启动和重新配置。当在边缘站点运行专用Kubernetes集群时,这是至关重要的。
  • 其次,您可以通过聚合软件构件的下载来显著降低带宽需求,这样它们只被下载一次,而不是由边缘站点中的每台机器分别下载。

安装在边缘站点的PDN分布节点将在本地缓存类似Docker容器映像的软件二进制文件。可以通过提前下载新软件版本来预热本地缓存。

一旦缓存升温,本地机器和设备即使没有连接到云也可以从缓存下载二进制文件。由于二进制文件只会被下载一次,并被站点中的所有机器使用,因此还将显著减少带宽需求。

JFrog的私人分销网络(PDN)的好处

以下是为边缘计算创建安全、高效和可靠的软件分发解决方案的五个主要设计考虑因素,以及它们如何在JFrog的PDN中实现,从而产生如下好处:

  • 支持混合环境
  • 速度和效率,同时大大减少您的服务器负载
  • 得益于分布式架构的大规模可伸缩性、弹性和高可用性
  • 支持在WAN或LAN上工作的灵活网络拓扑
  • 能够提前主动部署工件
  • 安全,支持加密、认证和授权
  • 支持容器和其他包
  • 简化审计和法规遵从性
  • 低的TCO

Vakulenko在联合网络研讨会上总结道:“我们正在解决向大型系统(包括边缘系统)分发软件的难题,这可以让客户专注于他们的应用程序,而不是花时间自己拼凑解决方案。”

展望未来

随着JFrog最近收购物联网软件更新和设备管理公司Upswift -现在JFrog连接-我们对边缘和物联网设备的分销能力将变得更加强大。

除了设备管理,JFrog Connect还提供了强大的功能物联网软件更新,使设备成为DevOps平台的一等公民,实现从开发到设备的快速、安全、可靠的交付。

通过PDN, JFrog覆盖了边缘站点的分布-从厚边缘到薄边缘-跨越较大的边缘节点,就像一个制造工厂,内部有强大的服务器,一直到使用JFrog Connect的嵌入式设备。

看它在行动!

要查看PDN的演示,并了解更多关于扩展边缘和物联网应用交付的设计考虑因素,观看我们与Topio的联合网络研讨会的录音。

开发物联网应用程序?

了解更多关于JFrog连接和创建免费帐户看看它有多容易更新,连接和管理物联网设备