A network of remote servers hosted on the Internet which can store, manage, and process data, rather than using a local server or a personal computer
IGI-Global.com
Edge Computing
Data processing and storage takes place at or near the edge, a boundary between digital and physical entities. This nearness will be defined by the system's requirements.
ISO/IEC JTC 1/SC 38
Edge Computing
Challenges
Heterogeneity
Security
Latency
Lack of mobility support
Location-awareness
Resilience
...
Edge Computing
Solving the resilience challenge
cloud can take over failing processes from the edge
edge can operate autonomously in case the cloud is unavailable
distribute and rebalance processing between cloud and edge
Container orchestration
Virtualisation and Containers
Containers provide fast and lightweight virtualization at the OS level
Cluster
A group of similar things that are close together, sometimes surrounding something
Cambridge dictionary
A number of similar things that occur together
merriam-webster dictionary
Orchestration
Plan and organize something carefully and sometimes secretly in order to achieve a desired result
Cambridge dictionary
Kubernetes (K8S)
system for automating deployment, scaling, and management of containerized applications
kubernetes.io
Kubernetes Ressources
Kubernetes :
Pods
ReplicaSet
Deployement
DaemonSet
Job (batch API)
CronJob (batch API)
...
Get available objects:   kubectl api-resources 
Public clouds: Amazon EKS , Azure Kubernetes Service, GKS, ...
Platform as a Service: Rancher, OpenShift, ...
Single node development: Minikube, MicroK8S, ...
...
A lightweight Kubernetes distribution
small binary
low memory requirements
containerd instead of Docker
multi architecture (ARMv7, ARM64, x86, ...)
Open source system for extending native containerized application orchestration capabilities to hosts at Edge
KubeEdge Architecture
Option 1 : CloudCore - EdgeCore
Communication between cluster and edge nodes: WebSocket
Specific process on each side
KubeEdge Architecture
Option 2 : EdgeSite
Communication between cluster and edge nodes: K8S Api
Process on edge side
EdgeNode
Components
EdgeNode
Modules Roles
ServiceBus acts as an interface for sending/receiving messages over WebSocket.
MetaManager is the message processor between edged and edgehub. It’s also responsible for storing/retrieving metadata to/from a lightweight database(SQLite).
DeviceTwin module is responsible for storing device status, dealing with device attributes, syncing device status to the cloud and syncing the device twin information between edge and cloud, ...
Eventbus acts as an interface for sending/receiving messages on mqtt topics.
EdgeMesh - make Edge nodes communicate with each others
Mapper and drivers (6LBR, LoRa...)
FPGA
Conclusion
KubeEdge is less than one year old but has already evolved a lot. Which can slowly become a usable solution in production.
The focus is not yet on the ingestion of data but on the communication between the nodes
K3S provides lightweight Kubernetes deployment on heterogeneous hardware.
Those 2 tools can extend data analysis capabilities from the Cloud to the Edge.