EdgeX Foundry Brings an Ecosystem Ethos to the Edge
A finalist in the IoT World Awards, EdgeX, the vendor-neutral edge computing software platform, began life within Dell in the summer of 2015. “We were looking internally at what’s the right edge platform to use for our IoT strategy,” said Jason Shepherd, chief technology officer of Dell Technologies’ IoT and edge computing division who helped conceive EdgeX.
At that point, there were numerous monolithic software stacks and outdated tools that Dell execs didn’t fully support the heterogeneity of edge-based IoT applications. “We ended up basically working with a bunch of partners and customers, looking at their needs and came up with a baseline architecture,” Shepherd said.
The team also surveyed the broader IoT platform landscape and brainstormed how to unify it. “At the time, the joke was: ‘There are 200, IoT platforms. We don’t want to be the 201st,’” Shepherd said. “Now, it seems like there are 400 IoT platforms.”
The community-minded ethos that naturally developed around EdgeX, then code-named “Project Fuse,” led Dell to look for an open-source partner. “The Internet of Things scales to its true potential when you have an open foundation,” Shepherd said. “And you need an open edge to get to the true potential.” That thought process led Dell and its partners to reach out to the Linux Foundation in the middle of 2016 to help them build on the momentum they achieved with their partner relationships.
The project formally launched as the EdgeX Foundry in April 2017 with numerous founding members, ranging from Advanced Micro Devices (AMD) to ZingBox. At its peak, EdgeX had close to 80 members. In January, the project was rolled under the Linux Foundation Edge umbrella known as LF Edge. “We’ve kind of shifted focus to really the more premier members,” Shepherd said.
The EdgeX platform supports traditional industrial protocols such as Modbus and the building automation and control standard BACNET, as well as more-recent protocols such as BLE. The platform offers a software development kit to help connect proprietary device types.
The software also offers flexible support for the cloud and on-premise environments.
Also after the initial release, the EdgeX group revamped its codebase while maintaining its initial microservice-oriented architecture. Initially, EdgeX developers used Java as the central programming language because it is a known quantity with ample support in the form of libraries and connectors. “It was effectively prototype code,” Shepherd said. The programming language choice resulted in one with a memory footprint of around 2.5 GB. “Anyone who works with maker boards, or constrained systems would look at that and freak out,” Shepherd said. “But people really believed in the model.”
Dozens of companies are using EdgeX in IoT projects. One company, IOTech, is focused on commercializing EdgeX via a Red Hat Software–like model.
The fourth major EdgeX release, dubbed “Edinburgh,” could expand the platform’s use with new features including binary data support, new security features and streamlined user onboarding.
Developers already have completely revamped the code in GoLang, getting the memory footprint down to 128 MB, while also building in new security and management features. “It’s all been redone. It’s very efficient and it still maintains platform independence.”
The microservices architecture maximizes flexibility, enabling developers to rewrite any function that plugs into the open API in any language. “And that’s kind of the beauty of EdgeX is that you can work on components bit by bit,” Shepherd said. “Any given function, whether it’s a device service, analytics, functions, security tools or whatever, those can be replaced with your choice of commercial value-add or other open source projects, or whatever. The what’s different about EdgeX: It’s really built for enabling an ecosystem.”