Coder Social home page Coder Social logo

BAETYL v2

Baetyl-logo

build codecov Go Report Card License Stars

README_CN

Baetyl is an open edge computing framework of Linux Foundation Edge that extends cloud computing, data and service seamlessly to edge devices. It can provide temporary offline, low-latency computing services include device connection, message routing, remote synchronization, function computing, video capture, AI inference, status reporting, configuration ota etc.

Baetyl v2 provides a new edge cloud integration platform, which adopts cloud management and edge operation solutions, and is divided into Edge Computing Framework (this project) and Cloud Management Suite supports varius deployment methods. It can manage all resources in the cloud, such as nodes, applications, configuration, etc., and automatically deploy applications to edge nodes to meet various edge computing scenarios. It is especially suitable for emerging strong edge devices, such as AI all-in-one machines and 5G roadside boxes.

The main differences between v2 and v1 versions are as follows:

  • Edge and cloud frameworks have all evolved to cloud native, and already support running on K8S or K3S.
  • Introduce declarative design, realize data synchronization (OTA) through shadow (Report/Desire).
  • The edge framework currently supports Kube mode. Because it runs on K3S, the overall resource overhead is relatively large (1G memory); the Native mode is under development, which can greatly reduce resource consumption.
  • The edge framework will support edge node clusters in the future.

Architecture

Architecture

The Edge Computing Framework runs on Kubernetes at the edge node, manages and deploys all applications which provide various capabilities. Applications include system applications and common applications. All system applications are officially provided by Baetyl, and you do not need to configure them.

There are currently several system applications:

  • baetyl-init: responsible for activating the edge node to the cloud and initializing baetyl-core, and will exit after all tasks are completed.
  • baetyl-core: responsible for local node management (node), data synchronization with cloud (sync) and application deployment (engine).
  • baetyl-function: the proxy for all function runtime services, function invocations are passed through this module.

Currently the framework supports Linux/amd64, Linux/arm64, Linux/armv7, If the resources of the edge nodes are limited, consider to use the lightweight kubernetes: K3S.

Hardware requirements scale based on the size of your applications at edge. Minimum recommendations are outlined here.

  • RAM: 1GB Minimum
  • CPU: 1 Minimum

The Cloud Management Suite is responsible for managing all resources, including nodes, applications, configuration, and deployment. The realization of all functions is plug-in, which is convenient for function expansion and third-party service access, and provides rich applications. The deployment of the cloud management suite is very flexible. It can be deployed on public clouds, private cloud environments, and common devices. It supports K8S/K3S deployment, and supports single-tenancy and multi-tenancy.

The basic functions provided by the cloud management suite in this project are as follows:

  • Edge node management
    • Online installation of edge computing framework
    • Synchronization (shadow) between edge and cloud
    • Node information collection
    • Node status collection
    • Application status collection
  • Application deployment management
    • Container application
    • Function application
    • Node matching (automatic)
  • Configuration management
    • Common configuration
    • Function configuration
    • Secrets
    • Certificates
    • Registry credentials
  • Node provisioning management
    • Node batch management
    • Registration and activation

_The open source version contains the RESTful API of all the above functions, but does not include the front-end dashboard. _

Contact us

As the first open edge computing framework in China, Baetyl aims to create a lightweight, secure, reliable and scalable edge computing community that will create a good ecological environment. In order to create a better development of Baetyl, if you have better advice about Baetyl, please contact us:

Contributing

If you are passionate about contributing to open source community, Baetyl will provide you with both code contributions and document contributions. More details, please see: How to contribute code or document to Baetyl.

baetyl's Projects

baetyl icon baetyl

Extend cloud computing, data and service seamlessly to edge devices.

baetyl-adapter icon baetyl-adapter

All modules that synchronize data with the clients, such as mqtt, modbus, coap, etc.

baetyl-bacnet icon baetyl-bacnet

BACnet is a communication protocol for building automation and control (BAC) networks that use the ASHRAE, ANSI, and ISO 16484-5 standards protocol.

baetyl-function icon baetyl-function

All function modules, including function manager and all function runtimes, such as Python, Node, etc.

baetyl-gateway-sdk icon baetyl-gateway-sdk

提供基于baetyl-gateway软网关南向协议开发的SDK,包括Go、C#、Java、Python的实现

baetyl-remote icon baetyl-remote

All modules that synchronize data with remote services, such as kafka, tsdb, etc.

baetyl-security icon baetyl-security

Provide sufficient security for BAETYL framework, such as certificates among BAETYL services.

go-iecp5 icon go-iecp5

:smirk: (Archived)IEC 60870 part5 library write in pure go,support iec104 client and server , also support iec104 sepcial server,

k3s icon k3s

Lightweight Kubernetes

run-on-arch-action icon run-on-arch-action

A Github Action that executes commands on an different cpu architecture (ARMv6, ARMv7, aarch64, s390x, ppc64le)

service icon service

Run go programs as a service on major platforms.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.