一文读懂边缘计算与云原生结合的前世今生

 

本文将深入分析边缘计算从容器化到云原生化的技术演进,进一步提升应用的开发体验和敏捷性。...





随着企业和政府建立自己的新常态,5G和边缘计算对于提供许多行业(包括制造业,医疗保健,能源和公用事业等)所需的自动化,性能和认知洞察力必不可少。

1

边缘计算的发展趋势



全球产业数字化正在快速的前进,数字化的应用不仅需要强大的算力完成大数据分析和AI建模,还需要满足现场对处理延迟和网络条件的苛刻要求,满足高度的隐私性和安全性要求,以及能在复杂的IT环境中提供统一且一致的管理能力。

产业对边缘计算的核心需求在于适配性、可编程性和可管理性。其技术趋势可以总结为如下几点:

  • 环境标准,基于标准的API环境开发和移植应用程序;
  • 统一编排,由单一的控制面系统管理云和边缘的应用;
  • 可伸缩性,同一套架构能够支持不同性能、不同规模的设施;
  • 去中心化,模糊边缘和中心的边界,实现应用和数据的全局分布式协作。
本文将深入分析边缘计算从容器化到云原生化的技术演进,进一步提升应用的开发体验和敏捷性。
2
边缘计算的容器化

边缘计算引入容器化技术能带来以下优势:

  • 解耦运行依赖:容器模式实现了依赖封装,不在需要本地安装;
  • 标准化应用分发:统一使用标准的容器格式和容器仓库;
  • 扩展应用类型:边缘平台使用统一的容器控制面接口。


下图是LFEdge基金会开源项目“Baetyl”的1.0版本架构图,展示了一个典型的容器化边缘:
上图左侧是Baetyl的主进程,该进程位于容器外直接运行于本地操作系统上,负责控制Docker。中间位置是多个Baetyl功能服务,这些服务均以容器的形式运行于Docker内。尽管服务的具体功能、使用资源和开发语言都不相同,但Baetyl只需以标准容器方式启动和监控即可。

容器化已经是主流边缘计算产品的默认选择,但随着生产环境的逐渐增多,也暴露出了不足:

  • 单机限制:Docker缺乏有效的多机通信网络,这限制了边缘的总算力规模;
  • 编排限制:Docker Compose缺乏多实例和跨机器连接能力,这限制了对复杂业务的描述能力;
  • 更新限制:位于容器外的主程序仍然需要手工升级,这限制了无人值守设备的普及。
  • 管理限制:边缘应用的定义和管理模式与云应用分离,这限制了业务的敏捷性。


为解决上述问题,边缘计算平台开始走向与云原生相结合的模式。
3
边缘计算在本地设备上的云原生化

云原生模式的关键技术是对底层设施的切换,通过使用Kubernetes带来了更精细的应用组织能力。

下图是Baetyl 2.0的架构图,展示了一个典型的云原生边缘:
可见Baetyl 2.0不仅支持了更复杂的Pod应用,还将主程序也一并纳入自身管理,这种变化能带来多方面的收益:

  • 可更新的主程序。新的模式将“系统更新”看作 Baetyl OTA 的一部分,这将让边缘计算设备总能第一时间获得安全更新和Bug修复。
  • 可独立更新的多容器应用。新的模式充分利用的 Kubernetes丰富的应用定义,并且使每个服务都能被独立的部署和升级,这将让边缘计算拥有更加多样的功能。
  • 对边缘集群的支持。新的模式基于 Kubernetes的编排能力,可以让一个 Baetyl实例分布在多个不同的计算节点上,这既能提升总的计算能力,又能获得更高的可用性。
4


边缘计算在远程管理上云原生化

根据LFEdge的定义,边缘计算会覆盖了多种不同的网络区域,实现与云的无缝融合。
不同的网络之间并没有绝对的边缘和云的区分,而是根据各自的特点承担不同程度的计算负载,双方存在应用和数据的广泛交换。基于这样的原因,边缘计算需要与云计算共享同一套控制面机制,也就是都纳入云原生的形态范围内,统一使用Kubernetes进行管理。

边缘计算的云原生化管理最核心的问题就是如何实现一套在不稳定网络下保证Kubernetes稳定编排的机制。综合业界不同的实现,解决编排的稳定性问题一般分为三个流派。

虚拟节点模式

虚拟节点即为每个边缘计算设备创建一个逻辑上的、虚拟的Kubernetes工作节点。虚拟节点本身与Kubernetes位于同一个网络内以保证稳定的工作负载编排。物理边缘设备接收虚拟节点的数据实现间接的稳定编排。

虚拟节点的缺点本地信息被简单抽象为一个工作节点,难以实现本地负载均衡和故障转移。

同步状态复制

对虚拟节点的一种改造思路是将本地边缘计算系统视为一个单独的Kubernetes集群,边缘直接复制云上etcd的数据。这种方法能够保证本地拥有足够的编排灵活性,其难点在于保证复制的一致性,且etcd属于Kubernetes的“内部数据”不适合直接操作。

Shadow CRD

CustomResourceDefinition是Kubernetes社区推荐的功能扩展机制。CRD提供了标准的编程接口,能够在不改变Kubernetes内部机制的前提下引入可自编排的边缘计算节点。Device Shadow是来自物联网的概念,即每一个物理设备(Device)都有对等的影子对象(Shadow)。影子提供了一套完整的一致性数据同步机制。

由Baetyl 2.0引入的ShadowCRD是一种灵活、高效且不损失信息的边云同步技术,未来通过与Operator的结合会进一步提升全局自动化管理的能力。
5
总结

边缘计算在过去几年经历的极为快速的技术演进,与云原生模式的结合将能让边缘计算更好的吸收云、大数据和AI的成果,并让后者进一步扩展应用范围。

尽管边缘计算仍然处在发展的初期,但随着全球开源社区的蓬勃发展,边缘计算必然会将更多的创新带入各行各业,成为推动智能化时代的关键力量。

本周三(7月8日)晚8点,我们邀请到百度智能云物联网首席架构师 李乐丁老师来为我们进行《如何通过边缘计算实现数据智能的产业化落地》的主题直播,共同探讨边缘计算的更多可能,欢迎大家扫码报名。
点击下方“阅读原文”报名吧!


    关注 51CTO博客


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册