New Upgrade of Open Source Edge Computing Project! Baetyl 2.0 Officially Released

Since Baidu announced the donation of the edge computing framework Baetyl to the Linux Foundation in 2019, Baetyl has continuously received support and development in an open and neutral community environment, with several active developers bringing new features to Baetyl. These contributions have brought Baetyl closer to its fundamental goal of being a free, open, and standard edge computing platform.

Therefore, we have named this new version, which includes remote management capabilities and Kubernetes ecosystem support, as 2.0, marking a new phase for Baetyl.

The most important highlights of Baetyl 2.0 include:

  • Introduction of a new remote management system, Baetyl-Cloud, which supports management of multiple edge nodes.
  • Both the edge and remote management frameworks have evolved to be cloud-native, now supporting operation on native Kubernetes or K3S.
  • Introduction of a declarative design that achieves edge-cloud synchronization through device shadows.
  • Upgraded internal architecture to support future upgrades to edge clusters.

New Remote Management System Baetyl-Cloud

The builders of Baetyl have always believed that a complete edge computing system should not only have the hosting capability to support applications and services running on various devices but also allow developers to be free from insecure physical consoles. Devices should be capable of being remotely operated and managed in bulk, which is particularly significant for devices that will be deployed in remote, dangerous, or harsh environments.

Remote management can also organically combine edge computing with existing cloud computing, allowing data to freely cross physical boundaries in an ideal manner, making application development and deployment more agile.

The remote management feature is named Baetyl-Cloud. To ensure code cohesion, we have submitted the code to a new repository, as follows:

https://github.com/baetyl/baetyl-cloud/. The first official version of Baetyl-Cloud will provide various management capabilities through OpenAPI:

  • Edge Node Management: Supports group management of multiple devices, application synchronization based on tags, and collection and display of node basic information and application information.

  • Application Deployment Management: Supports automatic matching of ordinary container applications, function calculations, and AI inference services based on tags.

  • Configuration Management: Supports management of nodes, functions, secrets, certificates, and image repository credentials.

  • Bulk Management: Uses pre-prepared configurations to pre-install a large number of devices, achieving out-of-the-box usability.

Cloud-Native Evolution Upgrade

Another significant change is the support for cloud-native: the underlying runtime of Baetyl has shifted from Docker to Kubernetes, and the main program’s operating mode has changed to become a privileged container instance running within Kubernetes. This change will bring various benefits to developers, including:

  • Updatable Main Program. In the previous model, the Baetyl system itself needed to be updated manually or through an operating system package manager, which required operators to have console access. The new model treats “system updates” as part of Baetyl OTA, ensuring that edge computing devices can always receive security updates and bug fixes promptly.

  • Independently Updatable Multi-Container Applications. In the previous model, although each container ran as a completely independent service, upgrades had to be performed uniformly, and administrators could not define dependencies between services. The new model fully utilizes Kubernetes’ rich application definitions, allowing each service to be deployed and upgraded independently, which will enable more diverse functionalities for edge computing.

  • Future Support for Edge Clusters. In the previous model, limited by Docker’s capabilities, a Baetyl instance could only be deployed on a single computing device. The new model, based on Kubernetes’ orchestration capabilities, allows a Baetyl instance to be distributed across multiple different computing nodes, enhancing overall computing power and achieving higher availability.

Resource Declaration Mechanism Optimization

Behind these new features, Baetyl 2.0 has redesigned the communication protocol connecting Baetyl and Baetyl-Cloud, integrating Kubernetes’ declarative resource definitions with the IoT device shadow mechanism.

Declarative resource definitions implement an idempotent distributed communication method, cleverly ensuring resource consistency across the entire distributed system. However, this method relies on high-quality network conditions, and in edge computing scenarios with high latency, packet loss, and intermittent network interruptions, a more lightweight communication mechanism suitable for unstable networks is needed.

For this reason, Baetyl-Cloud will convert resource declarations into expected states of shadow devices and continuously send notifications to Baetyl devices via the MQTT protocol, which will decode the resource declarations and then report the new shadow device states back via the MQTT protocol.

Through this method, we can ensure that the cloud and edge are always correctly synchronized under weak network conditions.

The new features described above will be available immediately with the official release of Baetyl 2.0 on July 8. For more information, click the bottom left corner 【Read the original text】!

New Upgrade of Open Source Edge Computing Project! Baetyl 2.0 Officially Released

New Upgrade of Open Source Edge Computing Project! Baetyl 2.0 Officially ReleasedNew Upgrade of Open Source Edge Computing Project! Baetyl 2.0 Officially ReleasedNew Upgrade of Open Source Edge Computing Project! Baetyl 2.0 Officially Released

Leave a Comment