EdgeX is a vendor-neutral open source project hosted by The Linux Foundation launched in April 2017. The primary focus is to standardize industrial IoT edge computing and build a common framework. The project combines the work of the Linux’s IoTX and Dell, which developed its FUSE software for IoT. The vision is to create a common interoperability framework that enables an ecosystem of plug-and-play, “EdgeX Certified” components.
EdgeX Foundry goals include:
- Build and promote EdgeX as the common open platform unifying Internet of Things (IoT) edge computing
- Enable and encourage the rapidly growing community of IoT solutions providers to create an ecosystem of interoperable plug-and-play components around the EdgeX platform architecture
- Certify EdgeX components to ensure interoperability and compatibility
- Provide tools to quickly create EdgeX-based IoT edge solutions that can easily adapt to changing business needs
- Collaborate with relevant open source projects, standards groups, and industry alliances to ensure consistency and interoperability across the IoT
EdgeX Foundry is focused on the Industrial IoT Edge. EdgeX Foundry leverages cloud-native principles (e.g. loosely-coupled microservices, platform-independence) but is architected to meet specific needs of the IoT edge including accommodating both IP- and non-IP based connectivity protocols, security and system management for widely distributed compute nodes, and scaling down to highly-constrained devices. EdgeX Foundry will benefit industry-specific interoperability efforts and strives to be a unifying force, creating an ecosystem of ecosystems, providing maximum flexibility to unify heterogeneous ingredients.
The vision of EdgeX is to provide a set of microservices for industrial IoT solutions, a rich application framework that is uniformly available on multi-vendor gateways, while allowing for differentiation and value add. These microservices bridge a large set of device protocols and data formats to common REST APIs. It was established under the Linux Foundation (LF) to leverage well-honed structure, processes, and resources that have been tried and refined along the years for developing open source systems. The LF approach involves open communication and complete transparency; for example, code, documents and meeting recordings are available publicly. To insure quality code, EdgeX will only allow well attributed code by certified developers, no anonymous contributions.
EdgeX includes core services for reliably communicating data from connected devices to services. Also, a notification and alerting capability for applications to be notified in case of important events, such as when a new device is connected or a sensor value exceeded a threshold. The plan is to add security and system management capabilities, including for secure communication, security patches, and other software updates.
EdgeX is based on the latest software engineering principles and open source methodologies. EdgeX microservices could be implemented in any language, hence it is polyglot; for example, performance critical ones could be implemented in efficient languages such as C or Go, and others implemented in ease of development languages such as Java or Python. These microservices are loosely coupled: could be in the same process, in different processes on the same machine, or on different machines. For example, they might reside on the gateway, on collocated edge servers, or on remote cloud servers. This flexibility is enabled by the REST protocol over HTTP for remote procedure calls (RPCs), which employs URIs for references and JSON for serializing data types.
Following are useful resources: