EdgeX Foundry F2F: Sun, Community and Code
By Jim White, Co-Chair of the EdgeX Foundry Technical Steering Committee and CTO of IOTech Systems
Earlier this month, the EdgeX Foundry Technical Steering Committee (TSC) met in Phoenix, Arizona to finalize our Fuji release (due out at the end of this week – November 15th) and scope the effort of our next release – code named Geneva – that we expect to release in the spring of 2020. While officially this was a TSC meeting, we are an open project and always invite our developer community to participate in the discussions and planning effort whenever possible.
Hosted by Intel in downtown Phoenix, this season’s meeting was attended by more than 60 people in person and another dozen on line – our largest meeting yet. Intel did a fabulous job of providing a great meeting space and allowing the community to enjoy the surrounds of the Phoenix area. If they were responsible for the picture-perfect weather, they couldn’t have made it any nicer! 80 degrees and sunny each day.
Fuji is the community’s fifth release of EdgeX and a minor dot release (version 1.1) to our 1.0 Edinburgh release launched this past spring. We have developed a well-established cadence that is two years in the making. We have two releases a year (spring and fall) with the planning of the next release right on the heels of completed release.
If you are wondering what is in Fuji that is about to be released, the highlights of this release include:
- New and improved security services – fully integrated with existing micro services (API Gateway, secure storage)
- Application services and application functions SDK as full replacements for older export services (we expect to deprecate the export services with the next release)
- System management improvements to include ability to set configuration
- Improved testing and quality assurance procedures and tools
- Addition of an many more device services (actually to be released independently in mid-December with the device service SDK release).
The fact that Fuji is a dot release on top of our 1.0 release is an important. As the project matures and stabilizes, more companies are building products on top of EdgeX and the community wanted to provide them with affirmation that EdgeX is fit for purpose without changing everything each release – while still adding new features in a way that supports backward compatibility. Companies like IOTech, Beechwoods, RSA and others (see https://www.edgexfoundry.org/edgex-in-market/) continue to leverage EdgeX and need the stability in order to avoid lots of thrashing each six months. ObjectBox is releasing their version of core EdgeX services (replacements for the EdgeX reference implementation of these services) that incorporate their embedded database with Fuji this month to coincide with the EdgeX release. These are prime examples of the community that now rely on EdgeX Foundry.
Looking ahead – what’s in the Geneva release? Based on our planning this past week, Geneva will be version 2.0 – a major release. It will include many new features and some changes. Specifically, the Geneva release will feature:
- Automatic and dynamic device/sensor provisioning and on-boarding – allowing for more zero touch deployments
- Interoperability testing – allowing the community and users to get a better appreciation that all the micro services are working together properly
- Replacing the reference implementation rules engine service – the last of the legacy EdgeX Java micro services (allowing the footprint of the overall system to be significantly reduced)
- Use of Redis as the default reference implementation database (replacing MongoDB)
- Improved security services (more secret store usage, per service token use, token revocation/expiration/rotation)
- User guidance on platform needs (more performance statistics, number of devices allowed per service/EdgeX instance recommendations, platform and hardware recommendations per edge use case)
- Exploration of an alternate message support (offering an alternative to Zero MQ)
- Archive of Export Services (the new Application Services and App Functions SDK taking its place)
- Use of Jenkins Pipelines to improve and enhance our CI/CD processes
- A refactor of the EdgeX APIs to provide more flexible and more nimble request and response bodies in the message exchange, which should improve testing and improve some performance aspects
- A number of system and sub-system designs are also forecast to be completed with this release. These designs are pre-cursor work toward the Hanoi (fall 2020) and beyond releases
It’s starting to look like winter outside in the northern hemisphere. Holiday season right around the corner. EdgeX is heating up. Good time to stay inside and curl up next to EdgeX and try out the latest features and explore the future roadmap. Come join the fastest growing open source edge platform project.