Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

Internal services

Devis Lucato edited this page Jun 26, 2017 · 1 revision

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.