Edge X Face to Face Working Agenda and

  • Slides: 48
Download presentation
Edge. X Face to Face Working Agenda and Deck Fuji Release Seoul Korea, April

Edge. X Face to Face Working Agenda and Deck Fuji Release Seoul Korea, April 29 – May 2, 2019 edgexfoundry. org | @edgexfoundry

WG Chairperson Meeting Day (chair invite only) Architecture and Design Sessions for Specific Topics

WG Chairperson Meeting Day (chair invite only) Architecture and Design Sessions for Specific Topics edgexfoundry. org | @edgexfoundry

Architect’s Day Topics (April 29 th) 9 am - Core and General (Conn) 11

Architect’s Day Topics (April 29 th) 9 am - Core and General (Conn) 11 am – Application Services v 2 (Johanson & Goodell) • High Availability • Next functions • • Application of 12 factor principles Service orchestration For non-HA scenarios Instrumentation • Database persistence • • • Decoupling from specific providers Long v short term storage (e. g. core-metadata v. core-data) Migration when models change • General Topics • • Refactoring needs Store & Forward • Rules Engine integration • Command support • Vault integration • Binary data support • Retiring Export Services • How to support all the cloud systems • Language bindings (C, C++, Node, Python) 1 pm - Security (White) • HW secure storage (TPM, TEE, …) Leads – send out your invitations • How to insure the right services are running? • Service-to-service comms 3 pm – Swagger vs. RAML (Foster) edgexfoundry. org | @edgexfoundry

Edge. X Training & Business Issues (open) Introductory to Deep Dive Tutorials (April 30)

Edge. X Training & Business Issues (open) Introductory to Deep Dive Tutorials (April 30) Business and Other Non-Technical Topics (April 30) edgexfoundry. org | @edgexfoundry

Training and Business Topics Day (April 30 th) Open to all 9 am -

Training and Business Topics Day (April 30 th) Open to all 9 am - Edge. X Introductory Tutorial (Hall) • • Basics - What and why of Edge. X Getting Edge. X Get it running Quick exploration of services & their purpose 10: 45 am – Getting started as an Edge. X developer (Conn) • • • Getting Edge. X setup in Go. Land Running Edge. X in development/debug environments Setting up and running blackbox tests 1 pm – Building Application Services using the SDK (Johanson & Goodell) • • Getting the SDK Using the SDK to create an application service How/where to extend the SDK and the services Roadmap and the future of the application services 2: 45 pm – Building Device Services using the SDK (Tony/Toby/Cloud) • • Getting the Go SDK Using the SDK to create a simple DS High level overview of the functions Where/how to extend the SDK or DS edgexfoundry. org | @edgexfoundry 9 am – Edge. X v 1 (Steele) • Marketing approach • Referenceable clients 11 am – Commerce Project (Corrion) 4 pm – The business of Certification (Thompson) • Who pays for certification • Who manages certification (internal vs. 3 rd party)

Edge. X TSC 2 -day F 2 F (open) General Meetings ( May 1

Edge. X TSC 2 -day F 2 F (open) General Meetings ( May 1 -2) edgexfoundry. org | @edgexfoundry

Day 1 May 1 edgexfoundry. org | @edgexfoundry

Day 1 May 1 edgexfoundry. org | @edgexfoundry

Fuji F 2 F Meeting • Agenda • Day 1 – Planning & Scoping

Fuji F 2 F Meeting • Agenda • Day 1 – Planning & Scoping Day • 9 am Welcome and intro by Host and Chairman • 10 am Architecture issues tee-up • • • Review and explanation of upcoming items of discussion for day 2 11: 30 am Edinburgh Wrap Up Planning 1 pm Project Cadence Check • I Release Naming 1: 30 pm Fuji Planning – what’s in/out • Scope definition • Work Group Kanban Creation 4 pm Future Release Roadmaps - Geneva and beyond • Long range scoping and roadmap review • Day 2 – Architecture issues day • • 9 am Developer Advocate Perspective 10 am Architecture discussion and decisions 3 pm Action item Review 3: 30 pm Lessons Learned and Chandler Meeting Changes edgexfoundry. org | @edgexfoundry

Introductions • Host Welcome (Moonki) • Logistics and schedules • Attendee introductions • Chairman

Introductions • Host Welcome (Moonki) • Logistics and schedules • Attendee introductions • Chairman Welcome (Steele) edgexfoundry. org | @edgexfoundry

Architecture Issues Tee Up 10 am Day 1 edgexfoundry. org | @edgexfoundry

Architecture Issues Tee Up 10 am Day 1 edgexfoundry. org | @edgexfoundry

Architecture Issues • Just teeing up the conversation today • Get familiar and discuss

Architecture Issues • Just teeing up the conversation today • Get familiar and discuss with fellow attendees before tomorrow • Divided into 2 categories • Tech Debt - things we need to fix or address architecturally from the existing code base • Things we want to add (new features, functions, technology, etc. ) • Goal: resolve and target a release if necessary • Priority to Fuji items • Pick the release for other items edgexfoundry. org | @edgexfoundry

Tech Debt Issues • More unit & integration tests • Identify the real short

Tech Debt Issues • More unit & integration tests • Identify the real short comings • Release manager – we have a process, now what? • Mongo & Redis – what should be our reference implementation database(s) • Traceability – we have a correlation id. What’s next? • Rules Engine replacement (the last of the Java) • Environment support • Windows development & 0 MQ (any change? ? ) • ARM 32 support (any change? ? ) • Carry over topics from Chair WG day edgexfoundry. org | @edgexfoundry

New features, tools, processes, etc. Issues • Certification support • Which services first, full

New features, tools, processes, etc. Issues • Certification support • Which services first, full certification vs self assessment, who pays, how managed • Documentation versioning • Semantic versioning • If not Plugins, what? Or are Modules good enough? • Kubernetes (K 8 s and K 3 s) support • SMA’s responsibilities (and non-responsibilities) & design • Versus registry/config, other services or outside systems • Carry over topics from Chair WG day • LF Edge • What are the projects and what is the potential impact edgexfoundry. org | @edgexfoundry

Edinburgh Planning Issue Resolution & Wrap up Planning 11: 30 am Day 1 edgexfoundry.

Edinburgh Planning Issue Resolution & Wrap up Planning 11: 30 am Day 1 edgexfoundry. org | @edgexfoundry

Edinburgh Dates • Freeze Date – May 28 • Release Date – June 20

Edinburgh Dates • Freeze Date – May 28 • Release Date – June 20 edgexfoundry. org | @edgexfoundry

Strike Team Reports • CBOR/binary support - Toby on point with Trevor and Janko

Strike Team Reports • CBOR/binary support - Toby on point with Trevor and Janko to assist with core, supporting and export services changes • Redis implementations of DB services - Andre & Trevor • Initial performance (and load) testing infrastructure and results - Andy • LF support for TIG stack • Certification Program - Randy and Jim • SDK Unit testing (to the point short of any major refactoring) - Steve • SIGL Static Analysis - James (with LF support) • Kong Upgrade - Tingyu edgexfoundry. org | @edgexfoundry • Device services (Edinburgh public availability of Modbus, MQTT, BACNet, BLE, Virtual Device, SNMP) - Steve • Dell to provide SNMP DS • Security storing service secrets in Vault and protecting the master token - Jim and Tingyu with Intel resource assistance • Documentation clean up - Michael with WG leads to nominate areas of need first and complete doc updates by deadline • UI updates • Io. Tech UI - Keith • VMWare UI - Jim with Huaqiao • UIs not able to be updated will be archived to the Delhi release

Issues, Roadblocks & Discussion • Critical Edinburgh items edgexfoundry. org | @edgexfoundry

Issues, Roadblocks & Discussion • Critical Edinburgh items edgexfoundry. org | @edgexfoundry

Edge. X Release Cadence Semi-Annual Pulse Check 1 pm Day 1 edgexfoundry. org |

Edge. X Release Cadence Semi-Annual Pulse Check 1 pm Day 1 edgexfoundry. org | @edgexfoundry

Cadence Check • April & Oct remain target release months • • Fuji –

Cadence Check • April & Oct remain target release months • • Fuji – Oct 2019 Geneva – April 2020 Hanoi release – Oct 2020 “I” release – April 2020 • Chairmen’s Honor proclamation of the new name by James Gregg, Lenny Goodell, & Mike Johanson • F 2 F planning around time of completion of each release • Chandler – Oct/Nov 2019 • ? ? ? – April 2020 (venue to be selected – nominations? ? ) • Conferences • At least 2 x large marketing/promotional events (Hannover Messe, Io. T SWC) • At least 1 x developer focused event • Internet of Things World – May edgexfoundry. org | @edgexfoundry

Chairman and TSC Elections • Current TSC terms run through 6/2019 • The Contributors

Chairman and TSC Elections • Current TSC terms run through 6/2019 • The Contributors and Maintainers of each Working Group shall elect a Working Group Chair for their Working Group. • Each Working Group Chair will serve as a voting member of the TSC. • All Contributors and Maintainers in the Project shall elect three TSC at-large representatives to serve as voting members of the TSC. • The voting members of the TSC will elect a TSC Chair annually • TSC Chair is a voting member of the Governing Board, and will liaise between the Governing Board and technical leadership of the Edge. X Foundry Project. The • TSC Chair must be representative of a member company edgexfoundry. org | @edgexfoundry

Definitions & Process • Contributors: anyone in the technical community that contributes code, documentation

Definitions & Process • Contributors: anyone in the technical community that contributes code, documentation or other technical artifacts to the Edge. X Foundry Project codebase. • Process • • • Typically managed over email. Working Groups manage their own elections. LF can support if needed. Once the TSC has been put in place, the new TSC will take nominations for Chair. If there is more than one nomination, there will be a vote. • One week for a nomination period, and one week for voting (if needed). edgexfoundry. org | @edgexfoundry

Fuji Planning Scope Discussions 1: 30 pm Day 1 edgexfoundry. org | @edgexfoundry

Fuji Planning Scope Discussions 1: 30 pm Day 1 edgexfoundry. org | @edgexfoundry

Scope • Only 3 -4 month cycle • Major themes • • Support High

Scope • Only 3 -4 month cycle • Major themes • • Support High Availability/Better Distribution Improved Security First Certifications Application Services over Export Services • Other efforts • ? ? ? edgexfoundry. org | @edgexfoundry

Fuji – General (cross area) In Out • Move to Go 2. 0 •

Fuji – General (cross area) In Out • Move to Go 2. 0 • ARM 32 support • Upgrade to Mongo 4. 0 • Windows development support • If Mongo is still a reference implementation • Apply “ 12 Factor Apps” to all services • Services can live on any platform • Services can have multiple instances • Watchers/callbacks for config or data changes • Swagger (in addition to RAML) API documentation • Sponsor some hackathons edgexfoundry. org | @edgexfoundry • 0 MQ issue

Fuji – Core (and Supporting) In Out • Consul 1. 4 • Data Filter

Fuji – Core (and Supporting) In Out • Consul 1. 4 • Data Filter between DS and Core Data • Blacklist/whitelist of devices • Add SMS to notifications • Store and Forward ability • • When north side connectivity is lost Design/document vs implementation? • High Availability • • • Application of 12 factor principles Service orchestration For non-HA scenarios Instrumentation Design/document vs implementation? • Database persistence • • Reference Implementation Database Selection Decoupling from specific providers Long v short term storage (e. g. core-metadata v. core-data) Migration when models change • Refactoring needs • Command refactoring (device profile v command service) • Logging service rework • Intel has developed a Logging/Telemetry as a Service – Replace/Augmenting service • Support for alternate logging format • XML & CSV in addition to JSON • Command improvements • Min/max limits • Security authorization option(s)

Fuji – Application WG In Out • Rules Engine Replacement • Export commands •

Fuji – Application WG In Out • Rules Engine Replacement • Export commands • Rules engine to trigger notifications • Next iteration of Application Services and App Functions SDK • App Service to send data to Rules Engine • Message envelop changes • Added functions • • Filters: for value ranges, ? ? ? Compression Signing Additional endpoints (HTTPS/MQTTS) • More dynamic topic configuration / addressing • Alternate message bus support • Other functions (transforms, enriching, encryption, …? ? ? ) • Blockchain/digital ledger attribution • Additional language SDKs

Fuji – DS & SDK In Out • Additional DS ? ? ? •

Fuji – DS & SDK In Out • Additional DS ? ? ? • Support for mesh network protocols • Improvements to the SDK • Support device hierarchy • Cache of readings • Intel Camera device integration • Camera Discovery Components (SAF Bus) • Intel RFID device services • Propose additions? ? ? • Tooling for SDK (CLI, Jet. Brains, or Eclipse plugins, etc. ) • Tooling for Device Profile creation • Downsampling – DS throttle back on readings if nothing is changing • Additional language SDKs • Propose additions? ? ?

Fuji – System Management In Out • Implementation of SMA as lightweight registry provider

Fuji – System Management In Out • Implementation of SMA as lightweight registry provider (when Consul not there) • Storing metrics collected locally • Callbacks (alert on changes to config/metric) – • SMA translations to other protocols • Know what services are available when registry not there • Start/stop/restart all done by the executor to include stop/restart of SMA • Executor tracks completion and returns results • Executor for metrics collection • Setting configuration • SMA Translation layer (stretch) • Pick one protocol to start (LWM 2 M) • Redfish • OMADM • Actuation based on metric change • “rules engine” for control plane data • Consider use of Qo. S and blockchain to prioritize resource usage by certain services. • SMA to store configuration – lightweight configuration store • In replacement of Consul or whatever provider we have for reg/config). • Discussed at recent sys mgmt. WG meeting. Bigger question is do we still want Consul.

Fuji - Security In Out • Generation of PKI • Distribution of per service

Fuji - Security In Out • Generation of PKI • Distribution of per service Vault secrets • HW secure storage abstraction layer • Implementation of service-to-service communications • Securely providing service updates • How to securely provision new devices/sensor • How to protect the Vault Master Key • Secure Service to Service requirements and design • Ensuring the services running are those expected (and authorized) • Renew/refresh threat assessment • Device identification and authentication/authorization • Hyperledger/blockchain/digital ledger integration • Protect data at rest • In DB like Mongo • In log files • Privacy concerns (HIP-A, GDRP, …) edgexfoundry. org | @edgexfoundry

Fuji – Test/QA/Documentation In Out • Improved unit tests across services (improvements should be

Fuji – Test/QA/Documentation In Out • Improved unit tests across services (improvements should be driven by specific WG dev teams) • Automated Performance Testing • • Improve blackbox test structure including reorganization of the tests and better test case documentation • • • New test framework (e. g. Robot or Cucumber) to support additional types of functional/blackbox and system integration tests e. g. Device Service or system level latency tests • Blackbox tests for new Application Services microservices • Blackbox test for Device Services - Virtual, Modbus, MQTT, BACNet, OPC UA. Initially develop common set of tests that can be used against all Device Services. • Automated performance testing • • API Load testing (measure response time) and metrics (CPU, memory) collection for all Edge. X microservices (this work was started during the Edinburgh iteration) Edge. X microservice startup times • Test coverage analysis e. g. using tools such as Codecov. io • Automated system level latency and throughout testing (e. g. device read to export or device read to analytics to device actuation) - STRETCH GOAL The ability to create summary reports/dashboards of key Edge. X performance indicators with alerts if thresholds have been exceeded Blackbox and performance test runs against other container technologies supported (e. g. snaps Automated performance testing - baseline performance of service binaries no container • Configuration testing • Existing testing uses a single static configuration • Need to identify and additional testing configurations to automated blackbox testing • Static code analysis • • Using tools such as Sonar. Qube or Coverity to identify badly written code, memory leaks and security vulnerabilities – STRETCH GOAL Documentation • Replacement of RAML API documentation with Swagger – STRETCH GOAL • Tracing edgexfoundry. org | @edgexfoundry • During testing, configuration • Candidate tools/technology based on Open. Tracing standard: Zipkin, Jaeger

Fuji Planning – Dev. Ops In Out • Static code analysis tool identified and

Fuji Planning – Dev. Ops In Out • Static code analysis tool identified and integrated into the Edge. X Jenkins Pipeline • Code and artifact signing with semantic versioning • Fix Documentation – edgex-go • Build Performance Optimizations • Alternate deployment/orchestration • Beyond Docker/Snaps • Kubernetes • Kata Containers • … • Sonar. Qube – Sonar. Cloud is already in play in the LF Decision: wait to see what codecov. io offers • Suggestion to rename all of the Jenkins “arm” jobs so as to differentiate 32 bit / 64 bit architectures • Full Pipeline transformation for Edge. X services • • Pipelines for Edge. X Foundry base build images Basebuild images managed locally within Nexus Leverage Py. Pi Proxy for local pip dependencies ARM builds – optimization leveraging different high CPU build nodes / OS (ARM team)

Fuji – Vertical Solutions In Out • Additional project groups • Propose additions? ?

Fuji – Vertical Solutions In Out • Additional project groups • Propose additions? ? ? • Oil/Gas • Smart Factory • Gap analysis by each project group • What is needed by the vertical that is not provided by Edge. X today? • Proposed Edge. X roadmap additions • High level architectural needs/changes • High level designs • Technological suggestions/input • Propose additions? ? ?

Fuji - Certification In Out • Self Assessment process • Device Service Certification •

Fuji - Certification In Out • Self Assessment process • Device Service Certification • Application, Core Certification

Backlog Review • What else do we need to consider? • Backlog review •

Backlog Review • What else do we need to consider? • Backlog review • https: //wiki. edgexfoundry. org/display/FA/Backlog • Edinburgh Roadmap review (what did we not get done) • https: //wiki. edgexfoundry. org/display/FA/Edinburgh+Release • New additions/opens edgexfoundry. org | @edgexfoundry

Future Roadmapping Beyond Fuji 4 pm Day 1 edgexfoundry. org | @edgexfoundry

Future Roadmapping Beyond Fuji 4 pm Day 1 edgexfoundry. org | @edgexfoundry

Future Roadmaps • What moves to Geneva • What’s the major theme(s) for spring

Future Roadmaps • What moves to Geneva • What’s the major theme(s) for spring release • Do we have plans for Hanoi • What are some big rocks we want to set out as markers for the nex few releases edgexfoundry. org | @edgexfoundry

Day 2 May 2 edgexfoundry. org | @edgexfoundry

Day 2 May 2 edgexfoundry. org | @edgexfoundry

Admin and Schedule Review • Action items, announcements from Day 1 • Agenda for

Admin and Schedule Review • Action items, announcements from Day 1 • Agenda for Day 2 • • 9 am Developer Advocate Perspective 10 am Architecture discussion and decisions 3 pm Action item Review 3: 30 pm Lessons Learned and Chandler Meeting Changes edgexfoundry. org | @edgexfoundry

Developer Advocate Report Current Project Community and how to shape it 9 am Day

Developer Advocate Report Current Project Community and how to shape it 9 am Day 2 edgexfoundry. org | @edgexfoundry

State of the Development Community • What’s the current community of developers look like?

State of the Development Community • What’s the current community of developers look like? • Stats and information on contributors, reviewers, etc. • What’s the current community of users look like? • What are the common questions • What are the common needs edgexfoundry. org | @edgexfoundry

Areas of Improvement • How do we onboard new developers better? • How do

Areas of Improvement • How do we onboard new developers better? • How do we provide better help to the community of developers? • How do we provide better help to the community of users? edgexfoundry. org | @edgexfoundry

Architecture Issues 10 am Day 2 edgexfoundry. org | @edgexfoundry

Architecture Issues 10 am Day 2 edgexfoundry. org | @edgexfoundry

Tech Debt Issues • More unit & integration tests • Identify the real short

Tech Debt Issues • More unit & integration tests • Identify the real short comings • Release manager – we have a process, now what? • Mongo & Redis – what should be our reference implementation database(s) • Traceability – we have a correlation id. What’s next? • Rules Engine replacement (the last of the Java) • Environment support • Windows development & 0 MQ (any change? ? ) • ARM 32 support (any change? ? ) • Carry over topics from Chair WG day edgexfoundry. org | @edgexfoundry

New features, tools, processes, etc. Issues • Certification support • Documentation versioning • Semantic

New features, tools, processes, etc. Issues • Certification support • Documentation versioning • Semantic versioning • If not Plugins, what? Or are Modules good enough? • Kubernetes (K 8 s and K 3 s) support • SMA’s responsibilities (and non-responsibilities) & design • Versus registry/config, other services or outside systems • Carry over topics from Chair WG day • LF Edge • What are the projects and what is the potential impact edgexfoundry. org | @edgexfoundry

Action Item Review 3 pm Day 2 edgexfoundry. org | @edgexfoundry

Action Item Review 3 pm Day 2 edgexfoundry. org | @edgexfoundry

Chandler Meeting 3: 30 pm Day 2 edgexfoundry. org | @edgexfoundry

Chandler Meeting 3: 30 pm Day 2 edgexfoundry. org | @edgexfoundry

Next Meetings Planning • For Chandler • Lessons learned • What worked well and

Next Meetings Planning • For Chandler • Lessons learned • What worked well and what did not? • Architect’s day • Training/Business day • Spring 2020 meeting • Venue • Host edgexfoundry. org | @edgexfoundry

Goodbyes 4 pm edgexfoundry. org | @edgexfoundry

Goodbyes 4 pm edgexfoundry. org | @edgexfoundry