Table of Contents
...
Implement a performance test harness
To establish a baseline of performance characteristics that can be used to understand EdgeX resource utilization, data throughput, etc.
Support binary data
Allow the EdgeX system (from device services through export services) to support binary data such as images, chunks of video or audio. This will require device services, core data, and the export distribution to appropriately handle this type of data. Local edge analytics may be fed binary data and create intelligence from it to allow for actuation at the edge based on the binary data (example: examine an image an detect the presence of a person of interest).
- Explore the use of Swagger to document the EdgeX REST API
EdgeX currently uses RAML to disseminate information on microservice APIs. Swagger offers more fidelity while also offering better code generation going forward. - Provide an initial EdgeX user interface
This Javascript-based user interface will allow users to explore the sensor data collected by EdgeX as well as provide some provisioning and management capability. Used for prototyping, demonstration and management of small clusters of EdgeX instances. - Update all services to return proper HTTP status codes on HTTP requests
- Add tracing to all services, which will allow better debugging and support
- Establish a Wiki page to point EdgeX users to extensions, modules, add-ons, etc. offered by the community or 3rd parties, but that are not managed or incorporated by EdgeX Foundry.
Core & Supporting Services Tasks and Notes
Replace any Java microserices that still exist.
Implement hierarchical config organization
Replace the simple key/value pair organization of service configuration with more structured and hierarchical configuration as supported by Consul- Upgrade Consul and improve the configuration seed
Implement a process to move the latest configuration into the config-seed through the CI process Refactor the core and supporting services (inclusive of export services as necessary)
Refactor the services to implement data drive design, improves structure and organization of the code, improves ability to abstract infrastructure needs (database, messaging, etc.) to allow for replacements later, and allow services to bootstrap without artificial sleep mechanisms. Separates the domain model from the contract model.
...
System management API (action, alerts, metric) as discussed and outlined here
System management Agent (see same document above outlining the agent functionality and duties)
As a stretch goal, the functionality added with this system management capability would facilitate systemd like bootstrapping.
- Potentially explore "Gateway management" to include:
- Demonstrate basic management of EdgeX via select 3rd party console (ex: VMware Pulse IoT Center, System Center, …)
- Demonstrate EdgeX software updates
- Updates to non-EdgeX components (drivers, end-devices)
...