Panoramica dell'acceleratore di soluzioni di monitoraggio remoto

L'acceleratore di soluzioni di monitoraggio remoto implementa una soluzione di monitoraggio end-to-end per più computer in località remote. La soluzione combina i servizi chiave di Azure per offrire un'implementazione generica dello scenario aziendale. È possibile usare la soluzione come punto di partenza per l'implementazione e personalizzarla in base ai requisiti aziendali specifici.

Questo articolo illustra alcuni degli elementi principali della soluzione di monitoraggio remoto per comprenderne il funzionamento. Queste informazioni consentono di:

  • Risolvere i problemi nella soluzione.
  • Pianificare come personalizzare la soluzione per soddisfare requisiti specifici.
  • Progettare la propria soluzione IoT che usa i servizi di Azure.

Il codice dell'acceleratore di soluzione di monitoraggio remoto è disponibile su GitHub:

Architettura logica

Il diagramma seguente illustra i componenti logici dell'acceleratore di soluzioni di monitoraggio remoto sovrapposti nell'architettura IoT:

Architettura logica

Perché usare i microservizi?

Da quando Microsoft ha rilasciato i primi acceleratori di soluzioni, l'architettura cloud si è evoluta. I microservizi rappresentano un metodo collaudato per ottenere scalabilità e flessibilità senza compromettere la velocità di sviluppo. Diversi servizi Microsoft usano questo modello di architettura internamente con risultati straordinari in termini di scalabilità e affidabilità. Gli acceleratori di soluzioni aggiornati mettono in pratica quanto appreso con l'esperienza, in modo che tutti possano trarne vantaggio.

Suggerimento

Per altre informazioni sulle architetture dei microservizi, vedere .NET Application Architecture (Architettura delle applicazioni .NET) e Microservices: An application revolution powered by the cloud (Microservizi: una rivoluzione delle applicazioni basata sul cloud).

Connettività dei dispositivi

La soluzione include i componenti seguenti nella parte dell'architettura logica relativa alla connettività dei dispositivi:

Dispositivi reali

È possibile connettere dispositivi reali alla soluzione. È possibile implementare il comportamento dei dispositivi simulati usando Azure IoT SDK per dispositivi.

È possibile effettuare il provisioning di dispositivi reali dal dashboard nel portale della soluzione.

Microservizio di simulazione dispositivi

La soluzione include il microservizio di simulazione dispositivi che consente di gestire un pool di dispositivi simulati dal portale della soluzione per testare il flusso end-to-end nella soluzione. I dispositivi simulati:

  • Generano dati di telemetria da dispositivo a cloud.
  • Rispondono alle chiamate ai metodi da cloud a dispositivo dall'hub IoT.

Il microservizio fornisce un endpoint RESTful per consentire di creare, avviare e arrestare le simulazioni. Ogni simulazione è costituita da un set di dispositivi virtuali di diversi tipi, che inviano dati di telemetria e rispondono alle chiamate ai metodi.

È possibile effettuare il provisioning di dispositivi simulati dal dashboard nel portale della soluzione.

Hub IoT

L'hub IoT inserisce i dati di telemetria inviati dai dispositivi reali e simulati nel cloud. L'hub IoT rende i dati di telemetria disponibili per l'elaborazione da parte dei servizi nel back-end della soluzione IoT.

L'hub IoT nella soluzione esegue anche le operazioni seguenti:

  • Gestisce un registro delle identità in cui vengono archiviati gli ID e le chiavi di autenticazione di tutti i dispositivi autorizzati a connettersi al portale.
  • Richiama i metodi nei dispositivi per conto dell'acceleratore di soluzioni.
  • Gestisce i dispositivi gemelli per tutti i dispositivi registrati. Nel dispositivo gemello vengono archiviati i valori delle proprietà segnalati da un dispositivo. Qui vengono archiviate anche le proprietà desiderate, impostate nel portale della soluzione, in modo che il dispositivo possa recuperarle alla connessione successiva.
  • Pianifica processi per impostare proprietà per più dispositivi o richiamare metodi in più dispositivi.

e analisi dei dati

La soluzione include i componenti seguenti nella parte dell'architettura logica relativa all'analisi e all'elaborazione dei dati:

Microservizio gestione di hub IoT

La soluzione include il microservizio gestione di hub IoT per la gestione delle interazioni con l'hub IoT, ad esempio:

  • Creazione e gestione di dispositivi IoT.
  • Gestione di dispositivi gemelli.
  • Chiamata di metodi nei dispositivi.
  • Gestione di credenziali IoT.

Questo servizio esegue anche query sull'hub IoT per recuperare i dispositivi appartenenti a gruppi definiti dall'utente.

Il microservizio fornisce un endpoint RESTful per gestire i dispositivi e i dispositivi gemelli, richiamare metodi ed eseguire query sull'hub IoT.

Microservizio telemetria

Il microservizio telemetria del dispositivo fornisce un endpoint RESTful per l'accesso in lettura ai dati di telemetria del dispositivo archiviati in Time Series Insights. L'endpoint RESTful abilita inoltre operazioni CRUD sulle regole e l'accesso in lettura/scrittura alle definizioni di avviso dall'archiviazione.

Microservizio adattatore di archiviazione

Il microservizio adattatore di archiviazione gestisce coppie chiave-valore, astrae la semantica del servizio di archiviazione e presenta un'interfaccia semplice per archiviare i dati di qualsiasi formato usando Azure Cosmos DB.

I valori vengono organizzati in raccolte. È possibile operare su valori singoli o recuperare intere raccolte. Le strutture dati complesse vengono serializzate dai client e gestite come payload di testo semplice.

Il servizio fornisce un endpoint RESTful per le operazioni CRUD su coppie chiave-valore. valori

Azure Cosmos DB

Le distribuzioni dell'acceleratore di soluzioni usano Azure Cosmos DB per l'archiviazione di regole, avvisi e impostazioni di configurazione e per tutte le altre attività di archiviazione offline sicura.

Microservizio gestione di Analisi di flusso di Azure

Il microservizio gestione di Analisi di flusso di Azure gestisce i processi di Analisi di flusso di Azure, inclusa l'impostazione della configurazione, il loro avvio o arresto e il monitoraggio dello stato.

Il processo Analisi di flusso di Azure è supportato da due set di dati di riferimento. Un set di dati definisce le regole e uno definisce i gruppi di dispositivi. I dati di riferimento delle regole vengono generati dalle informazioni gestite dal microservizio telemetria del dispositivo. Il microservizio gestione di Analisi di flusso di Azure trasforma le regole dei dati di telemetria in logica di elaborazione del flusso.

I dati di riferimento dei gruppi di dispositivi vengano usati per identificare il gruppo di regole da applicare a un messaggio di telemetria in ingresso. I gruppi di dispositivi sono gestiti dal microservizio configurazione e usano query gemelle del dispositivo hub IoT di Azure.

I processi Analisi di flusso di Azure recapitano i dati di telemetria provenienti dai dispositivi connessi a Time Series Insights per l'archiviazione e analisi.

Analisi di flusso di Azure

Analisi di flusso di Azure è un motore di elaborazione di eventi che permette di esaminare volumi elevati di streaming di dati per i dispositivi.

Azure Time Series Insights

Azure Time Series Insights archivia i dati di telemetria provenienti dai dispositivi connessi all'acceleratore di soluzioni. Consente inoltre di visualizzare e interrogare i dati di telemetria del dispositivo nell'interfaccia utente Web della soluzione.

Microservizio configurazione

Il microservizio configurazione fornisce un endpoint RESTful per svolgere operazioni CRUD su gruppi di dispositivi, impostazioni della soluzione e impostazioni utente nell'acceleratore di soluzioni. Funziona con il microservizio adattatore di archiviazione per rendere persistenti i dati di configurazione.

Microservizio autenticazione e autorizzazione

Il microservizio autenticazione e autorizzazione gestisce gli utenti autorizzati ad accedere all'acceleratore di soluzioni. La gestione degli utenti può essere eseguita usando qualsiasi provider di servizi di identità che supporta OpenId Connect.

Azure Active Directory

Le distribuzioni dell'acceleratore di soluzioni usano Azure Active Directory come provider di OpenID Connect. Azure Active Directory archivia le informazioni sugli utenti e fornisce i certificati per convalidare la firma dei token JWT.

Presentazione

La soluzione include i componenti seguenti nella parte dell'architettura logica relativa alla presentazione:

L'interfaccia utente Web è un'applicazione Javascript React. L'applicazione:

  • Usa solo Javascript React e viene eseguita interamente nel browser.
  • Ha uno stile definito con CSS.
  • Interagisce con i microservizi pubblici tramite chiamate AJAX.

L'interfaccia utente include tutte le funzionalità dell'acceleratore di soluzioni e interagisce con altri microservizi, ad esempio:

  • Il microservizio autenticazione e autorizzazione per proteggere i dati degli utenti.
  • Il microservizio gestione hub IoT per elencare e gestire i dispositivi IoT.

Azure Time Series Insights Explorer è integrato nell'interfaccia utente per consentire l'interrogazione e l'analisi dei dati di telemetria del dispositivo.

Il microservizio configurazione consente all'interfaccia utente di archiviare e recuperare le impostazioni di configurazione.

Passaggi successivi

Se si vuole esplorare il codice sorgente e la documentazione per sviluppatori, iniziare con uno dei due repository GitHub:

Diagrammi dettagliati delle architetture delle soluzioni:

Per altre informazioni concettuali sull'acceleratore di soluzioni di monitoraggio remoto, vedere Personalizzare l'acceleratore di soluzioni.