EdgeX Foundry Techical Face - to – Face Orlando, January 16-18, 2018
Schedule (Brett Preston) Tuesday: 9am - 5pm Lunch 12pm-1pm Group Dinner – 6pm @ Wednesday: 9am - 5pm Cocktails 5pm @ Dinner on your own Thursday: 9am - 12pm EdgeX Board meeting: 12-5pm @ Core WG Meeting: 12-5pm TBD - Brett TBD - Brett TBD – Brett/Keith
High Level Agenda Day 1 (Keith Steele) Tuesday a.m. Introductions Preview Release Contents Timing Announcements/Marketing California Release General Contents Minus Security/Sys Mgmt (afternoon) Resource needs Tuesday p.m. Security California release Resource needs Roadmap System Management
High Level Agenda Day 2 (Keith Steele) Wednesday a.m. Carry-over from Day 1 Review action items/decisions California Performance Metrics Near real time? Real time? Target/required throughputs Target/required footprint Target/required startup/shutdown How measured/tested Wednesday p.m. Future Roadmap(s) Delhi Release (Oct 2018) XXX Release (Apr 2019) Beyond Open Source v. Value Add What should EdgeX not do?
High Level Agenda Day 3 (Keith Steele) Thursday a.m. Carry-over from Day 2 Review action items/decisions Release Schedule Release naming Conferences/Events 2018 Targets Hannover Messe Demo plans OpenIoT Summit Hackathons Miscellaneous Thursday p.m. Tech Working Group Breakout Architectural issues/resolutions EdgeX Foundry Board Meeting
Introductions
California Preview Release
Preview Release (Jim White) Contents Go Micro Services Feature “near” complete Export services are ~ X% replacements Missing core client libraries Java SDK Refactoring Better but not great Reusable libraries of boilerplate code Test Framework Automated Blackbox testing For core services Documentation In GitHub DevOps Integrated Blackbox testing Go Builds Arm Builds
Preview Release (Jim White) Pushed Azure IoT Hub cleanup/refactor Alt. language DS SDK(s) – Go or C Blackbox tests of all micro services Web oriented Demos Timing Do we have and actual “release” vs. just announcement of Go availability? Release date & Announcement Marketing plan Blogs, news release, etc. Resource needs discussion Action Items
Preview Release Early Metrics (Jim White) Table of metrics to be provided by Jim W here
Preview Release Resource Needs/Planning Resource Needs Discussion Resource commitments Action Items
California Release
California Release (Jim White) Contents Security & System Management Covered later Go Replacements To-Be Done Export services (remaining features) Remaining reuse libraries Supporting Services Logging, Alerts/Notifications, Scheduler, Rules Engine SDK (Go and C?) Device Services How many and which ones?
California Release (Jim White) Test/QA Complete Blackbox testing Export, Support, DS Security Testing System Management Testing Performance Testing Native Arm Testing DevOps CIP? Achieve performance targets Covered later Expose & advertise commands As port of export? Access rights? DS SDK Additional protocols? Zigbee, CANBus, … OS dependent stacks (e.g. BLE) Tool Plugins
California Release (Jim White) From the roadmap OS Support Mac? RTOS? EdgeX UIs? Additional export support Watson? AWS? Haystack? Endpoint types (AMPQ, DDS, …)? Other MVP?
California Release Resource Needs/Planning Resource Needs Discussion Resource commitments Go Work Test/QA DS/SDK Other Additional Action Items
Security
California Release - Security (David Ferriera) Data Protection Identity and Access Operational Security DAR Encrypted Storage DIT Encrypted Comms Access Management (Least Privilege) Administration Local and Remote Security Monitoring Audit Key Management Data Protection Policy Authentication Identity and Access Policy SW Update Management Attestation Identity Management Chain of Trust Operational Security Policy Guidelines Privacy Inbound Connection Manager Firewall Secure Auto-configuration
California Release - Security (David Ferriera) AAA service and service interface To include an identity store/lifecycle management of that store Open source to be used: API abstraction to allow 3rd party implementation?? Inbound secure reverse proxy service for HTTP(S) Also known as the API manager. Use of the network layer to protect access I.e. no changes to existing micro services at this time (to be provided by David) (to be provided by David - Traefix)
California Release - Security (Riaz Zolfonoon) Data Protection Services Key Management, Certificate Services, Encryption Open source to be used: HashiCorp’s Vault API abstraction to allow 3rd party implementation/extensions
California Release Resource Needs/Planning What is MVP for California? Resources & Assignments AAA Inbound Secure Reverse Proxy Data Protection Services Test/QA of above Additional Action Items
Security Roadmap (David Ferriera) Delhi Additional services Guidelines What should always be area for value add i.e. what EdgeX won’t do Need more details from David & Riaz
System Management
California Release – Sys Mgmt (Salim AbiEzzi) “EdgeX Foundry System Management” Device Provisioning and Management APIs – Already in place Already provided through Metadata & Device Service today Auto discovery provided through DS and DS SDK EdgeX Microservice Management – to be implemented in California Micro service System Management API Added to base service in all services (Java or Go) Communicate with Management service agent System Management Agent (another micro service)
California Release – Sys Mgmt (Salim AbiEzzi)
System Management Roadmap (Salim AbiEzzi) “EdgeX Gateway System Management” Will cover the lifecycle of the EdgeX Foundry and its hosting platform(s) Out-of-band auto-discovers, configures the server, establishes secure connection, downloads EdgeX and other application bootstrap packages Install, bring-up, & orchestrate EdgeX microservices (or other applications) On-board devices, connects them to the system, loads, corresponding device microservices, populates meta data DB Monitor & manage system and applications thru management agent Collects metrics, actions and alerts based on Managed Objects (MO) abstraction Facilitates display of components on management UI(s) Application metrics transfer for data analytics and storage Manages software updates (including micro services), security patching Connect & disconnect devices, alerting services Must allow for 3rd party implementations Need to work with Salim to clean up
System Management Roadmap (Salim AbiEzzi) California Release Define Managed Object Use in EdgeX Foundry System Management APIs?? Define EdgeX Gateway APIs Define first iteration of EdgeX Gateway Implementation Scope definition Select “reference implementation” technologies Delhi Release First iteration of EdgeX Gateway POC or user ready to be determined Need to work with Salim to clean up
Day 2
Day 1 Action Items/Review
Day 1 Review (Keith Steele) Placeholder Significant Decisions Action Items/Owners
EdgeX Performance
EdgeX Performance Targets (Andy Foster) Throughput How fast from data ingestion to command actuation How fast from data ingestion to north side export Footprint (memory use & executable file size) How big for complete set of services? [target 256MB] Allowance for any single service Startup/shutdown times All of EdgeX [up in 1 minute, down in 1 min] Individual service How do we measure/test the metrics? Are there target use cases/applications with defined performance parameters?
EdgeX Roadmap
Delhi Release – Oct 2018 (Keith Steele) Message bus alternate Between all services or treat point to point? Which one(s): DDS, MQTT, NATS, 0MQ, …? How do we determine? DS SDK in other languages C? Additional Security/Sys Management Features Per earlier discussion Deployment/Orchestration Kubernetes? Certification Process
“X” Release – Apr 2019 (Keith Steele) Naming to be discussed in meeting tomorrow Multitenancy Device manager/mesh network sensors Data Streaming Multi-Instance deployments Failover Load-balancing Device from EdgeX A triggers action on device on EdgeX B Naming/Id’s across a fog deployment
EdgeX / Value Add Boundaries (Keith Steele) Are there areas of the IoT Platform that EdgeX should not go? Analytics? Data visualization? Non-structured data (audio, video)?
Day 3
Day 2 Action Items/Review
Day 2 Review (Keith Steele) Placeholder Significant Decisions Action Items/Owners
EdgeX Release Schedule
Current Release Plan (Keith Steele) Per London meeting Release names Barcelona, California, Delhi, Edinburgh?, Fuji?, Guangzhou? Bi-annual release April (with exception of California release) October Release not associated to any event Event schedule At least 2 business events annually Hannover Messe Second event ?? At least 1 developer event annually OpenIoT Summit
OpenIoT Summit Planning (Brett Preston) Talks Lab Sponsor Booth? Brett feel free to augment as you feel necessary to guide discussion and get information/decisions we need
Hannover Messe Advanced Planning (Brett Preston) Booth? Demo(s)? Brett feel free to augment as you feel necessary to guide discussion and get information/decisions we need
Other Open Items (Keith Steele) To be determined and filled as necessary by community input to agenda or as exposed during the meetings
Meeting Wrap up (Keith Steele) Significant Decisions Action Items/Owners
Core Working Group Breakout Architectural discussions/decisions
Architecture Questions (Jim White) Line Endings Service Name/Service Discovery Service gets its name via service a la DBus (if so which one) or Service knows its name via some type of self-governing rules (or both – get name or self assign when no service) Message Bus Infrastructure See discussion framed in community email (to be provided at the meeting) Considering NATS from Go meeting Considered service to service, or EdgeX bus for wider use Micro service Startup and Status Check “At what point should we consider a service ready?” When can a dependent start What is provided by a status check and how/when is it done
Architecture Questions (Jim White) Micro service Startup and Status Check “At what point should we consider a service ready?” When can a dependent start What is provided by a status check and how/when is it done DCO Submissions Other/New Opens
Resolutions (Jim White) Architecture Decisions Requires additional research Action items/owners Tabled/Deferred items