Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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

...