• 什么是 Baetyl
    • 优势
    • 组成
      • 架构图
    • 快速安装
    • 开发文档
    • 如何贡献
    • 联系我们

    什么是 Baetyl

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

    在架构设计上,Baetyl 一方面推行 模块化,拆分各项主要功能,确保每一项功能都是一个独立的模块,整体由主程序控制启动、退出,确保各项子功能模块运行互不依赖、互不影响;总体上来说,推行模块化的设计模式,可以充分满足用户 按需使用、按需部署 的切实要求;另一方面,Baetyl 在设计上还采用全面 容器化 的设计思路,基于各模块的镜像可以在支持 Docker 的各类操作系统上进行 一键式构建,依托 Docker 跨平台支持的特性,确保 Baetyl 在各系统、平台的环境一致;此外,Baetyl 还针对 Docker 容器化模式赋予其 资源隔离与限制 能力,精确分配各运行实例的 CPU、内存等资源,提升资源利用效率。

    优势

    • 屏蔽计算框架:Baetyl 提供主流运行时支持的同时,提供各类运行时转换服务,基于任意语言编写、基于任意框架训练的函数或模型,都可以在 Baetyl 中执行
    • 简化应用生产:智能边缘 BIE云端管理套件配合 Baetyl,联合百度云,一起为 Baetyl 提供强大的应用生产环境,通过 CFC、Infinite、EasyEdge、TSDB、IoT Visualization 等产品,可以在云端轻松生产各类函数、AI模型,及将数据写入百度云天工云端 TSDB 及物可视进行展示
    • 服务按需部署:Baetyl 推行容器化和模块化,各模块独立运行互相隔离,开发者完全可以根据自己的需求选择部署
    • 支持多种平台:Baetyl 支持多种软硬件平台,比如 X86 和 ARM 架构的CPU,Linux 和 Darwin 操作系统等

    组成

    Baetyl 作为一个边缘计算框架,除了提供底层服务管理能力外,还提供一些基础功能模块,具体如下:

    • Baetyl 主程序 负责服务实例的管理,如启动、退出、守护等,由引擎系统、API、命令行构成。目前支持两种运行模式:Native 进程模式和 Docker 容器模式
    • 官方模块 baetyl-agent 负责和 BIE 云端管理套件通讯,可以进行应用下发,设备信息上报等。强制证书认证,保证传输安全;
    • 官方模块 baetyl-hub 提供基于 MQTT 协议 的消息订阅和发布功能,支持 4 种接入方式:TCP、SSL、WS 及 WSS;
    • 官方模块 baetyl-remote-mqtt 用于桥接两个 MQTT Server 进行消息同步,支持配置多路消息转发;
    • 官方模块 baetyl-function-manager 提供基于 MQTT 消息机制,弹性、高可用、扩展性好、响应快的计算能力;
    • 官方模块 baetyl-function-python27 提供 Python2.7 函数运行时,可由 baetyl-function-manager 动态启动实例;
    • 官方模块 baetyl-function-python36 提供 Python3.6 函数运行时,可由baetyl-function-manager 动态启动实例;
    • 官方模块 baetyl-function-node85 提供 Node 8.5 函数运行时,可由baetyl-function-manager 动态启动实例;
    • SDK (Golang) 可用于开发自定义模块。

    架构图

    ../_images/design_overview.png架构图

    快速安装

    • 快速安装 Baetyl
    • 源码安装 Baetyl

    开发文档

    • Baetyl 设计
    • Baetyl 配置解读
    • 如何针对 Python 运行时编写 Python 脚本
    • 如何针对 Node 运行时编写 Node 脚本
    • 如何针对 Python 运行时引入第三方包
    • 如何针对 Node 运行时引入第三方包
    • 如何开发一个自定义函数运行时
    • 如何开发一个自定义模块

    如何贡献

    如果您热衷于开源社区贡献,Baetyl 将为您提供两种贡献方式,分别是代码贡献和文档贡献。具体请参考 如何向 Baetyl 贡献代码和文档。

    联系我们

    Baetyl 作为中国首发的开源边缘计算框架,我们旨在打造一个 轻量、安全、可靠、可扩展性强 的边缘计算社区,为中国边缘计算技术的发展和不断推进营造一个良好的生态环境。为了更好的推进 Baetyl 的发展,如果您有更好的关于 Baetyl 的发展建议,欢迎选择如下方式与我们联系。

    • 欢迎加入 Baetyl 边缘计算开发者社区群
    • 欢迎加入 Baetyl 的 LF Edge 讨论组
    • 欢迎发送邮件到:baetyl@lists.lfedge.org
    • 欢迎到 GitHub 提交 Issue