By Mike Calizo (Red Hat)
I’m bullish on edge computing, which brings “computing and data storage closer to where they need to improve response times and save bandwidth.” The widespread use of mobile devices and wearables, as well as the availability of free WiFi in some areas, creates vast amounts of data that, if used properly, can offer many advantages.
Gartner says the rapid growth in mobile application adoption requires a marginal infrastructure to use data from these devices.
When defining an edge computing architecture, one thing remains constant: the platform must be flexible and extensible to deploy smart applications on it and in core data centers.
KubeEdge, which provides container choreography for resource-constrained environments, is my favorite open source project of 2020. This extremely lightweight but fully compatible Kubernetes distribution was created to run cloud native workloads in Internet of Things (IoT) devices at the edge of the network.
Challenges in collecting and using data
Having rich data sources can be a bad thing if the data is not used properly. That’s what edge computing is trying to solve. To be able to use the data properly, the platform must be flexible enough to handle the needs needed to collect, process, and service the data, and make informed decisions about whether the data can be processed at the edge or must be processed in a regional or core data center.
The challenges of moving data from an edge location to a core data center include network reliability, security, resource limitations, and autonomy.
A Kubernetes platform on the edge, such as KubeEdge, meets these requirements because it provides the scalability, flexibility, and security required to perform data collection, processing, and services. KubeEdge is open source, lightweight, easy to deploy, low resource requirements, and provides everything you need.
KubeEdge architecture
KubeEdge debuted at KubeCon in Seattle in 2018. In 2019, it was accepted as a CNCF sandbox project, which gave it a higher profile and put it on track to become a mature project recognized by CNCF.
In short, KubeEdge has two main components: Cloud and Edge.
The Cloud section is where the Kubernetes Master component, EdgeController, and Edge Cloudhub are located.
A CloudHub is a communication interface module in a Cloud component. It acts as a caching mechanism to ensure that changes in the Cloud part are sent to the edge caching mechanism (EdgeHub).
EdgeController manages edge nodes and performs coordination between edge nodes.
The Edge part is to find the location of the Edge node. The most important Edge components include:
The EdgeHub is the interface module that communicates with Cloud components.
Edged is in charge of kubelet, managing the POD life cycle and other kubelet tasks on the node.
MetaManager ensures that all node-level metadata is persistent.
DeviceTwin is responsible for synchronizing devices between Cloud and Edge components.
EventBus uses message Queue telemetry transport (MQTT) to handle internal edge communication.
Kubernetes for edge computing
Kubernetes has become the gold standard for orchestrating containerized workloads in local and public clouds. That’s why I think KubeEdge is the perfect solution for using edge computing to benefit from data generated by mobile technologies.
The KubeEdge architecture solves network latency and speed problems by allowing autonomy at the edge computing layer. This enables you to manage and orchestrate containers in your core data center and manage millions of mobile devices through an autonomous edge computing layer. This is possible because KubeEdge uses a combination of the message bus (in Cloud and Edge components) and the data store of the Edge component to allow Edge nodes to be independent. With caching, data is synchronized with the local data store for each handshake. Similar principles apply to edge devices that require persistence.
KubeEdge handles machine-to-machine (M2M) communication in a different way than other edge platform solutions. KubeEdge uses Eclipse Mosaic, a popular open source MQTT proxy in the Eclipse Foundation. Mosquitos support WebSocket communication between the edge and the host node. Most importantly, Mosquitmosquitos allow developers to write custom logic and implement resource-constrained device communications at the edge.
For M2M communication, security is necessary. It’s the only way you can trust sensitive data sent over the Web. Currently, KubeEdge supports Secure Production Identity Framework for Everyone (SPIFFE), which ensures that: only verifiable nodes can join edge clusters; Only verifiable workloads can run on edge nodes; Short-term certificates are used with the rotation strategy.
Where is KubeEdge going?
KubeEdge is still in its early stages of adoption, but is becoming increasingly popular due to its flexible approach that makes edge computing communications secure, reliable, and autonomous, independent of network latency.
KubeEdge is a flexible, vendor-neutral, lightweight, heterogeneous edge computing platform. This enables it to support use cases such as data analytics, video analytics, machine learning, and so on. Because it is vendor-neutral, KubeEdge allows large cloud vendors to use it.
That’s why KubeEdge is my favorite project for 2020. More needs to be done, and I would like to see more community contributions to drive wider adoption. It’s an exciting future that will enable us to take the data that’s available and use it for the greater good.
The original link: opensource.com/article/21/…
Welcome to Huawei cloud native team, we will provide you with:
We update the cloud native technology dynamics, practical progress, application cases and so on every day;
Join the group and the industry technology champion, 10,000 + cloud native lovers link to learn together;
Irregularly invite cloud OG level technology to share technical combat
…………………