-
Notifications
You must be signed in to change notification settings - Fork 95
Internal services
This service allows to restrict access to the PCS application to authorized users. It can be implemented on top of Azure Active Directory or other authentication mechanisms. It allows authentication of incoming requests to PCS services, keeping status in storage.
The adapter should be designed in such a way that it can work with different backend authentication services, and different protocols. For instance, a customer might want to use OAuth, or Client Certificates, or Kerberos, etc.
All services will generate some information to be logged, with different logging levels (Debug, Info, Warning, Error). Logs are tagged by Microservice name, and can contain RESTful request details, such as Correlation IDs, that need to be collected.
All this data is stored in a searchable repository, and a developer can quickly see the logs for what is currently happening in the PCS infrastructure.
Both the Web UI and PCS microservices, will generate Correlation IDs, that need to be propagated across microservice calls to allow for debugging across them.
This microservice runs a reactive stream reading all the incoming device-to-cloud telemetry, and storing the data into the PCS storage, into separate tables (ideally one table per message type - later this might become e.g. see IoTHub2Cassandra).
The microservice supports some simple rules that can be applied in realtime, e.g. threshold based alerts.
The service streams also Operations telemetry, storing the information into the same storage.
Service to be developed for Predictive Maintenance
This is an adapter in front of the main storage service used for PCS, providing a simple Collection + Key-Value storage.
We are evaluating which backend storage to use, among DocumentDB, Cassandra and others.