边缘计算框架 Baetyl 2.0 发布

来源: OSCHINA
编辑: oschina
2020-07-09 07:44:00

边缘计算框架 Baetyl 发布了 2.0 版本。

Baetyl 旨在将云计算能力拓展至用户现场,提供临时离线、低延时的计算服务,包括设备接入、消息路由、消息远程同步、函数计算、设备信息上报、配置下发等功能。Baetyl 和智能边缘 BIE(Baidu-IntelliEdge)云端管理套件配合使用,通过在云端进行智能边缘核心设备的建立、存储卷创建、服务创建、函数编写,然后生成配置文件下发至 Baetyl 本地运行包,整体可达到连续计算、云端管理、边云协同的效果,满足各种边缘计算场景。

Baetyl 2.0 最重要的亮点包括:

增加全新的远程管理系统 Baetyl-Cloud,支持对多个边缘节点的管理。

远程管理除了可以摆脱对不安全物理控制台的依赖,还能将边缘计算与既有的云计算有机地结合起来,使数据可以按照理想的模式自由跨越物理边界,让应用的开发和部署更加敏捷。

首个 Baetyl-Cloud 正式版会通过 OpenAPI 的形式提供多方面的管理能力:

  • 边缘节点管理:支持多个设备的分组管理,基于标签的应用同步,节点基础信息和应用信息的采集和显示

  • 应用部署管理:支持按照标签自动匹配普通容器应用、函数计算和 AI 推断服务

  • 配置管理:支持对节点、函数、密文、证书和镜像库凭证的管理

  • 批量管理:使用预先准备好的配置对大量设备进行预装,实现开箱即用

边缘和远程管理框架全部向云原生演化,已支持运行在原生 Kubernetes 或 K3S 之上。

Baetyl 的底层运行时从 Docker 变为 Kubernetes,主程序运行方式的改变使其成为运行在 Kubernetes 之内的一个具有管理特权的容器实例。这种变化将为开发者带来多方面的收益,包括:

  • 可更新的主程序。在原先的模式里,Baetyl 系统本身需要使用手工或操作系统包管理器进行更新,这就势必要求操作者获得控制台。新的模式将“系统更新”看作 Baetyl OTA 的一部分,这将让边缘计算设备总能第一时间获得安全更新和Bug修复。

  • 可独立更新的多容器应用。在原先的模式里,每个容器虽然是完全独立运行的服务,但升级却需要统一进行,管理员也不能定义服务之间的依赖关系。新的模式充分利用的 Kubernetes 丰富的应用定义,并且使每个服务都能被独立的部署和升级,这将让边缘计算拥有更加多样的功能。

  • 未来对边缘集群的支持。在原先的模式里,限于 Docker 的能力,一个 Baetyl 实例只能被部署在一台单独的计算设备上。新的模式基于 Kubernetes 的编排能力,可以让一个 Baetyl 实例分布在多个不同的计算节点上,这既能提升总的计算能力,又能获得更高的可用性。

引入声明式的设计,通过设备影子实现端云同步。

Baetyl 2.0 重新设计了连接 Baetyl 和 Baetyl-Cloud 的通信协议,融合了 Kubernetes的声明式资源定义和物联网的设备影子机制。

声明式资源定义实现一种幂等的分布式通信方法,保证了资源在整个分布式系统中的一致性。然而这种方法依赖于优质的网络条件,在高延迟、丢包和不定时网络中断情况的边缘计算场景里,需要一种更轻量级的适合不稳定网络的通信机制。

基于这样的原因,Baetyl-Cloud 会将对资源的声明转化为对影子设备的状态期望,并不断通过 MQTT 协议向 Baetyl 设备发送通知,后者将资源声明解码使用后再以 MQTT 协议汇报新的影子设备状态。

发布公告:

展开阅读全文
点击加入讨论🔥(3) 发布并加入讨论🔥
3 评论
16 收藏
分享
返回顶部
顶部