Architettura della soluzione preconfigurata di monitoraggio remotoRemote monitoring preconfigured solution architecture

La soluzione preconfigurata di monitoraggio remoto IoT Suite implementa una soluzione di monitoraggio end-to-end per più computer in località remote.The IoT Suite remote monitoring preconfigured solution implements an end-to-end monitoring solution for multiple machines in remote locations. La soluzione combina i servizi chiave di Azure per offrire un'implementazione generica dello scenario aziendale.The solution combines key Azure services to provide a generic implementation of the business scenario. È possibile usare la soluzione come punto di partenza per l'implementazione e personalizzarla in base ai requisiti aziendali specifici.You can use the solution as a starting point for your own implementation and customize it to meet your own specific business requirements.

Questo articolo illustra alcuni degli elementi principali della soluzione di monitoraggio remoto per comprenderne il funzionamento.This article walks you through some of the key elements of the remote monitoring solution to enable you to understand how it works. Queste informazioni consentono di:This knowledge helps you to:

  • Risolvere i problemi nella soluzione.Troubleshoot issues in the solution.
  • Pianificare come personalizzare la soluzione per soddisfare requisiti specifici.Plan how to customize to the solution to meet your own specific requirements.
  • Progettare la propria soluzione IoT che usa i servizi di Azure.Design your own IoT solution that uses Azure services.

Architettura logicaLogical architecture

Il diagramma seguente illustra i componenti logici della soluzione preconfigurata di monitoraggio remoto sovrapposti all'architettura IoT:The following diagram outlines the logical components of the remote monitoring preconfigured solution overlaid on the IoT architecture:

Architettura logica

Perché usare i microservizi?Why microservices?

Da quando Microsoft ha rilasciato le prime soluzioni preconfigurate, l'architettura cloud si è evoluta.Cloud architecture has evolved since Microsoft released the first preconfigured solutions. I microservizi rappresentano un metodo collaudato per ottenere scalabilità e flessibilità senza compromettere la velocità di sviluppo.Microservices have emerged as a proven practice to achieve scale and flexibility without sacrificing development speed. Diversi servizi Microsoft usano questo modello di architettura internamente con risultati straordinari in termini di scalabilità e affidabilità.Several Microsoft services use this architectural pattern internally with great reliability and scalability results. Le soluzioni preconfigurate aggiornate mettono in pratica quanto appreso con l'esperienza, in modo che tutti possano trarne vantaggio.The updated preconfigured solutions put these learnings into practice so you can also benefit from them.

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).To learn more about microservice architectures, see .NET Application Architecture and Microservices: An application revolution powered by the cloud.

Connettività dei dispositiviDevice connectivity

La soluzione include i componenti seguenti nella parte dell'architettura logica relativa alla connettività dei dispositivi:The solution includes the following components in the device connectivity part of the logical architecture:

Dispositivi simulatiSimulated devices

La soluzione include un microservizio che consente di gestire un pool di dispositivi simulati per testare il flusso end-to-end nella soluzione.The solution includes a microservice that enables you to manage a pool of simulated devices to test the end-to-end flow in the solution. I dispositivi simulati:The simulated devices:

  • Generano dati di telemetria da dispositivo a cloud.Generate device-to-cloud telemetry.
  • Rispondono alle chiamate ai metodi da cloud a dispositivo dall'hub IoT.Respond to cloud-to-device method calls from IoT Hub.

Il microservizio fornisce un endpoint RESTful per consentire di creare, avviare e arrestare le simulazioni.The microservice provides a RESTful endpoint for you to create, start, and stop simulations. Ogni simulazione è costituita da un set di dispositivi virtuali di diversi tipi, che inviano dati di telemetria e rispondono alle chiamate ai metodi.Each simulation consists of a set of virtual devices of different types, that send telemetry and respond to method calls.

È possibile effettuare il provisioning di dispositivi simulati dal dashboard nel portale della soluzione.You can provision simulated devices from the dashboard in the solution portal.

Dispositivi fisiciPhysical devices

È possibile connettere dispositivi fisici alla soluzione.You can connect physical devices to the solution. È possibile implementare il comportamento dei dispositivi simulati usando Azure IoT SDK per dispositivi.You can implement the behavior of your simulated devices using the Azure IoT device SDKs.

È possibile effettuare il provisioning di dispositivi fisici dal dashboard nel portale della soluzione.You can provision physical devices from the dashboard in the solution portal.

Hub IoT e microservizio di gestione IoTIoT Hub and the IoT manager microservice

L'hub IoT inserisce i dati inviati dai dispositivi nel cloud e li rende disponibili per il microservizio telemetry-agent.The IoT hub ingests data sent from the devices into the cloud and makes it available to the telemetry-agent microservice.

L'hub IoT nella soluzione esegue anche le operazioni seguenti:The IoT hub in the solution also:

  • 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.Maintains an identity registry that stores the IDs and authentication keys of all the devices permitted to connect to the portal. Il registro delle identità permette di abilitare e disabilitare i dispositivi.You can enable and disable devices through the identity registry.
  • Richiama i metodi nei dispositivi per conto del portale della soluzione.Invokes methods on your devices on behalf of the solution portal.
  • Gestisce i dispositivi gemelli per tutti i dispositivi registrati.Maintains device twins for all registered devices. Nel dispositivo gemello vengono archiviati i valori delle proprietà segnalati da un dispositivo.A device twin stores the property values reported by a device. Qui vengono archiviate anche le proprietà desiderate, impostate nel portale della soluzione, in modo che il dispositivo possa recuperarle alla connessione successiva.A device twin also stores desired properties, set in the solution portal, for the device to retrieve when it next connects.
  • Pianifica processi per impostare proprietà per più dispositivi o richiamare metodi in più dispositivi.Schedules jobs to set properties for multiple devices or invoke methods on multiple devices.

La soluzione include il microservizio iot-manager per la gestione delle interazioni con l'hub IoT, ad esempio:The solution includes the iot-manager microservice to handle interactions with your IoT hub such as:

  • Creazione e gestione di dispositivi IoT.Creating and managing IoT devices.
  • Gestione di dispositivi gemelli.Managing device twins.
  • Chiamata di metodi nei dispositivi.Invoking methods on devices.
  • Gestione di credenziali IoT.Managing IoT credentials.

Questo servizio esegue anche query sull'hub IoT per recuperare i dispositivi appartenenti a gruppi definiti dall'utente.This service also runs IoT Hub queries to retrieve devices belonging to user-defined groups.

Il microservizio fornisce un endpoint RESTful per gestire i dispositivi e i dispositivi gemelli, richiamare metodi ed eseguire query sull'hub IoT.The microservice provides a RESTful endpoint to manage devices and device twins, invoke methods, and run IoT Hub queries.

e analisi dei datiData processing and analytics

La soluzione include i componenti seguenti nella parte dell'architettura logica relativa all'analisi e all'elaborazione dei dati:The solution includes the following components in the data processing and analytics part of the logical architecture:

Telemetria dei dispositiviDevice telemetry

La soluzione include due microservizi per gestire i dati di telemetria dei dispositivi.The solution includes two microservices to handle device telemetry.

Il microservizio telemetry-agent:The telemetry-agent microservice:

  • Archivia i dati di telemetria in Cosmos DB.Stores telemetry in Cosmos DB.
  • Analizza il flusso di dati di telemetria dai dispositivi.Analyzes the telemetry stream from devices.
  • Genera allarmi in base alle regole definite.Generates alarms according to defined rules.

Gli allarmi vengono archiviati in Cosmos DB.The alarms are stored in Cosmos DB.

Il microservizio telemetry-agent consente al portale della soluzione di leggere i dati di telemetria inviati dai dispositivi.The telemetry-agent microservice enables the solution portal to read the telemetry sent from the devices. Il portale della soluzione usa anche questo servizio per:The solution portal also uses this service to:

  • Definire regole di monitoraggio, ad esempio le soglie che attivano gli allarmi.Define monitoring rules such as the thresholds that trigger alarms
  • Recuperare l'elenco di allarmi passati.Retrieve the list of past alarms.

Usare l'endpoint RESTful fornito da questo microservizio per gestire telemetria, regole e allarmi.Use the RESTful endpoint provided by this microservice to manage telemetry, rules, and alarms.

ArchiviazioneStorage

Il microservizio storage-adapter è un adapter posto davanti al servizio di archiviazione principale usato per la soluzione preconfigurata.The storage-adapter microservice is an adapter in front of the main storage service used for the preconfigured solution. Fornisce semplice archiviazione di raccolte e coppie chiave-valore.It provides simple collection and key-value storage.

La distribuzione standard della soluzione preconfigurata usa Cosmos DB come servizio di archiviazione principale.The standard deployment of the preconfigured solution uses Cosmos DB as its main storage service.

Il database Cosmos DB archivia i dati nella soluzione preconfigurata.The Cosmos DB database stores data in the preconfigured solution. Il microservizio storage-adapter funge da adapter per consentire agli altri microservizi nella soluzione di accedere ai servizi di archiviazione.The storage-adapter microservice acts as an adapter for the other microservices in the solution to access storage services.

PresentazionePresentation

La soluzione include i componenti seguenti nella parte dell'architettura logica relativa alla presentazione:The solution includes the following components in the presentation part of the logical architecture:

L'interfaccia utente Web è un'applicazione Javascript React.The web user interface is a React Javascript application. L'applicazione:The application:

  • Usa solo Javascript React e viene eseguita interamente nel browser.Uses Javascript React only and runs entirely in the browser.
  • Ha uno stile definito con CSS.Is styled with CSS.
  • Interagisce con i microservizi pubblici tramite chiamate AJAX.Interacts with public facing microservices through AJAX calls.

L'interfaccia utente presenta tutte le funzionalità della soluzione preconfigurata e interagisce con altri servizi, ad esempio:The user interface presents all the preconfigured solution functionality, and interacts with other services such as:

Il microservizio ui-config consente all'interfaccia utente di archiviare e recuperare le impostazioni di configurazione.The ui-config microservice enables the user interface to store and retrieve configuration settings.

Passaggi successiviNext steps

Se si vuole esplorare il codice sorgente e la documentazione per sviluppatori, iniziare con uno dei due repository GitHub principali:If you want to explore the source code and developer documentation, start with one the two main GitHub repositories:

Per altre informazioni concettuali sulla soluzione preconfigurata di monitoraggio remoto, vedere Personalizzare la soluzione preconfigurata.For more conceptual information about the remote monitoring preconfigured solution, see Customize the preconfigured solution.