EdgeX Foundry — Open Source IoT Edge Platform

Arun Teja
NEW IT Engineering
Published in
5 min readApr 20, 2022

Working as IoT developer and technology enthusiast, I am glad to share about EdgeX Foundry platform and insights.

EdgeX Foundry is a vendor neutral, open-source edge platform originally developed by DELL technologies and currently hosted under LF Edge organisation(Linux Foundation) leveraging the capabilities of IoT edge computing.

What is LF Edge?

LF Edge

LF Edge is an umbrella organisation that enables to build an open source and interoperable framework for edge computing with software and hardware agnostic. The development process of LF Edge projects are categorised into various development stages based on maturity level shown in the above diagram. The maturity level of the project is voted based on approved project life cycle document process that includes number of commits, use of the project in Proof of Concepts, community participation and compatibility with other LF Edge projects.

Following are the different stages of development process:

Large stage : potential recognition of the projects by Technical Advisory Council(TAC) to be prominent in edge ecosystem and get started or long-term established project with minimal need of resources. In addition provides a beneficial and neutral home for further collaborative development process and enables to align with other foundation projects in the process of project graduation.

Growth stage: allows the edge projects to reach impact stage with identified growth plans and also receive mentorship from TAC to actively build the community of contributors, governance and other growth plan strategies.

Impact stage: is the final stage of project development by reaching the growth strategies and have a self -sustaining cycle in terms of development, maintenance and long-term support. The edge project in the impact stage are used in production environments involving project contributors with minimum of two organisations.

EdgeX being part of LF Edge organisation had reached the impact stage with goal of building a simplified and standardised edge ecosystem connecting the brownfield and greenfield devices in SouthBound to the external cloud or Enterprise IT systems on NorthBound.

Let’s dive into the technical details of EdgeX platform

The core EdgeX platform is developed based on loosely coupled microservices architecture involving different service layer with dedicated services shown in diagram below.

EdgeX Foundry platform architecture

Main service layers:

· Application Services Layer

· Supporting Services Layer

· Core Services Layer

· Device Services Layer

Underlying system services layers

· Security services

· System Management services

Application Services Layer:

Application services layer drives device data to extract, process, transform and send the meaningful data over desired choice of protocols (MQTT, REST) to cloud or enterprise application.

The Application services are developed based on the concept of functional pipelines with collection of functions to perform defined actions. The initial function acts as a trigger and execute set of actions to filter, transform and encrypt. Finally function pipelines is set to a sink state to deliver resultant data to cloud or external IT system.

Core Services Layer

Core services layer acts as an intermediatory between the device layer and application layer providing information about device connectivity, data flow and configurations. Core services layer have four services.

Core data: persistent storage and management services to handle data from the field level devices (physical layer).

Command: handles requests and control the field level devices based on the defined action.

Metadata: repository and management service of connected devices metadata.

Registry and Configuration: provides information about the microservices associated with other services in EdgeX and configuration properties.

Supporting Services Layer:

Supporting services layer bound to wide range of microservices to perform edge analytics and consists of following services

Rules Engine: enables edge analytics based on device data from the EdgeX instance to perform condition actuation. In current release of EdgeX, eKuiper is used as rules engine, which is also part of LF Edge projects.

Scheduler: perform configured action in EdgeX at defined instance of time.

Alert & Notifications: facilitate to send alerts and notifications to the end user.

Device Service Layer:

The device services are the edge connectors to interact with field level devices and transform the generated device data into defined EdgeX data structure and delivered to other services in EdgeX.

EdgeX foundry device services currently serve with some of the commonly used IoT protocols like MQTT, Modbus, BACnet, CoAP etc. in stable release versions and protocols like OPCUA, UART, Bluetooth, etc. under development.

Security Infrastructure Service:

The security services in EdgeX protect data and control the devices with security features built and integrated with open interfaces, pluggable and replaceable module.

Security services consist of two major components.

· Security store: store of secrets and tokens for connectivity.

· Reverse PROXY: restrict access to EdgeX REST resources to perform access control related works.

Systems Management Service:

System management service acts as point of contact to external management systems to perform actions in EdgeX platform like START/ STOP/ RESTART and get metrics on used EdgeX services.

How does EdgeX work?

Considering VPLC project integrating with EdgeX services for camera use case, the architecture shown below is defined for the camera module integrating with EdgeX to send the captured image events to AI services.

Architecture of VPLC project with EdgeX for camera module
End to end data flow for camera use case

1. Device OPCUA service translates the captured image data into an event object and send to the message bus. The event object on message bus with be consumed by core data service or application services or even both based on the defined requirements.

2. The data is sent from message bus to core data service as persistence data storage (Redis) via REST. Redis Pub/Sub over MQTT or ZMQ as message infrastructure will send the image data to application service via defined topic.

3. Application service transforms the image with defined requirements and send image via MQTT topic or HTTP endpoint to the AI Services.

4. The developed Computer vision AI model detect the image and provide specification of the image. The results from the AI services are send to Node-Red dashboard over MQTT for the end user.

As, EdgeX OPCUA device service is currently under development. The next steps for VPLC project is to integrate EdgeX with stable release of OPCUA device service and implement above defined camera use case.

I hope EdgeX Foundry is one of the best open source IoT edge platform under LF Edge projects to get started and explore the capabilities of edge computing.

--

--