...
- A base service class is needed for all microservices (the base class could potentially include security and sys management APIs)
- Dynamic configuration change callbacks for all microservices
- Implement Device Manager capability (versus Device)
- Dependency microservice retries and retry policies for service-to-service communications
- More unit, integration, system tests are needed for most microservices
- DevOps (builds, containerization, code reviews, etc.)
Core
...
Platform and Performance
- Alternative code implementations (e.g. Go Lang, C) to reduce footprint, improve boot times and increase data throughput
- Goal: deployment of full baseline EdgeX platform in <256 MB memory utilization (ultimate footprint dependent on # of deployed microservices required of use case)
- Extensions for embedding Device Services on constrained sensors and utilizing EdgeX with RTOS.
- Goal: <10MB with <10ms response times
- High-performance messaging bus for intercommunication between microservices on the host device plus between EdgeX and other systems
- Facilitate East-West capability between EdgeX-enabled nodes
- Scaling, load balancing, failover, redundacy, etc. across EdgeX instances
- Clustering of EdgeX node management
- Facilitate North-South capability
- Gateway (EdgeX) Device Service
- Gateway (EdgeX) to Gateway (EdgeX) export
- Additional reference implementations of Device Services for common protocols (OPC-UA, CAN bus, OCF, LoRa, ZigBee, etc.)
- Addiitonal reference connectors for backend appllications (Watson, SAP HANA, etc.)
- Export Services SDK-like facility to allow for
- Additional transformations
- Additional filtering
- Alternate encryption and compress routines
- Address other protocol endpoints (AMPQ, DDS, ...)
- Device Service and Device Service SDK improvements
- Refactor/simplify the SDK
- Provide more code examples for other protocols (Zigbee, Zwave, ...)
- Better-together with standards (OPC-UA, OCF, etc.)
- Connectivity to other open source IoT platforms/systems (Kura, IoTivity, ...)
- Alternate language support (C/C++, Python, Go,...)
- Local and remote console user interfaces
...
- Management of EdgeX supporting software
- Install/uninstall, start/stop & configure databases
- Install/uninstall, start/stop & configure message brokers/message systems
- Base service implementation in all microservices
- Defines interface and API hooks for start, stop, restart, etc. of services
- Microservice Registry Ties to System Management
- Start Service
- Stop Service
- Know service responsive, performance
- Install/uninstall service
- Update service (provide rollback in some cases)
- Manage configuration (add, update, delete)
- Define the port a service runs on
- Seed service data (example: Addressable for device services)
- Notify services of other service state changes
- Store/understand/manage micro service dependency information (example: point all services to new security service provider)
- Manage blacklist services (turn off a service for maintenance, etc.)
- Assist device services provision/remove new devices
- Discover new devices being connected
- User interface to provide administration
- Plug into 3rd-party commercial management consoles (VMware Pulse, System Center, etc.)
- Build "single pane of glass" apparatus for managing of EdgeX across multiple platform instances
...
Quality Assurance
- More and improved microservice unit tests
- Checkin/code review procedures
- Test plans/test cases
- Integration tests (service to service)
- Performance testing
- Scalability testing
- Soak testing
- Platform/OS testing
- Release management schedule and procedures
- Automated build, test and release process as part of standard DevOps
Market/Business Needs
- Development of extensions for specific verticals and use cases
- Collaboration with consortium on test beds (IIC, OpenFog, etc.)
- Collaboration with other open source projects (CFF, OCI, CNCF, Kubernetes, etc.)
- Collaboration with SDOs for better together functionality
- Support for Multimulti-tenancyPay, pay-for-services model built-in (IoTaaS)
Quality Assurance Procedures
- More and improved microservice unit tests
- Checkin/code review procedures
- Test plans/test cases
- Integration tests (service to service)
- Performance testing
- Scalability testing
- Soak testing
- Platform/OS testing
- Release management schedule and procedures
- Automated build, test and release process as part of standard DevOps, etc.
Educational Assistance
- Create deeper Deeper documentation - especially around "Getting Started"
- Provide example code (device servicesDevice Services, exportExport, service replacement, ...)
- Videos
- What it does
- How it works
- Conference participation and presentation
- Forum/Blogging and other social media contributions and announcements
- Hackathons
...