Architettura di riferimento di Azure IoT

Funzioni
Hub IoT
Servizio Device Provisioning IoT
Analisi di flusso
Gemelli digitali

Questo articolo illustra un'architettura consigliata per le applicazioni IoT che usano componenti PaaS (piattaforma distribuita come servizio) di Azure. Il diagramma seguente riflette diversi componenti di Azure che possono essere usati per la progettazione di una soluzione IoT. Il diagramma mostra e l'articolo evidenzia la maggior parte dei servizi di uso comune, ma nessuna soluzione li richiede tutti. Se si è appena iniziato a Azure IoT o si sta cercando di creare la prima soluzione di modello di verifica, iniziare da qui:

Diagramma dell'architettura

Questa architettura di riferimento usa componenti PaaS (piattaforma distribuita come servizio) di Azure. Microsoft consiglia di iniziare a usare Azure IoT Central,che è una piattaforma di soluzione IoT aPaaS (application platform-as-a-service). È progettato per semplificare e accelerare le operazioni e l'assembly della soluzione IoT preassemblando, ridimensionando e gestendo molti degli stessi servizi PaaS descritti in questa architettura di riferimento. Il risultato è un'esperienza utente predefinita e pronta per l'uso dell'esperienza utente e della superficie di attacco dell'API, completa delle funzionalità necessarie per connettere, gestire e gestire flotte di dispositivi su larga scala. Altre informazioni su come confrontare IoT Central (aPaaS) con un approccio alla soluzione PaaS in base alle esigenze della soluzione.

Azure IoT soluzioni includono elementi (in genere dispositivi )che generano dati, informazioni dettagliate che si formano sui dati e azioni eseguite in base alle informazioni dettagliate. Si consideri un motore che invia dati sulla temperatura. Questi dati vengono usati per valutare se il motore sta eseguendo come previsto. Le informazioni dettagliate sulle prestazioni vengono usate per classificare in ordine di priorità una pianificazione di manutenzione per il motore.

Dispositivi

Azure IoT supporta un'ampia gamma di dispositivi, dai microcontroller che eseguono Azure RTOS e Azure Sphere alle schede per sviluppatori come MX Chip e Raspberry Pi. Azure IoT supporta anche gateway server intelligenti in grado di eseguire codice personalizzato. I dispositivi potrebbero eseguire alcune elaborazioni locali tramite un servizio come Azure IoT Edgeo connettersi direttamente ad Azure in modo che possano inviare e ricevere dati dalla soluzione IoT.

Quando i dispositivi sono connessi al cloud, sono disponibili diversi servizi che sono utili per l'inserimento dei dati. Azure IoT Hub è un servizio gateway cloud in grado di connettere e gestire i dispositivi in modo sicuro. Il servizio Device Provisioning in hub IoT consente il provisioning JUST-In-Time senza tocco che consente di registrare un numero elevato di dispositivi in modo sicuro e scalabile. Gemelli digitali di Azure consente modelli virtuali di sistemi reali.

Informazioni dettagliate

Dopo aver connesso i dispositivi nel cloud, i dati possono essere elaborati ed esplorati per ottenere informazioni dettagliate personalizzate sull'ambiente. A livello di alto livello, esistono tre modi per elaborare i dati: percorso critico, percorso a caldo e percorso a freddo. La differenza tra di essi è data dalla necessità di soddisfare i requisiti per la latenza e l'accesso ai dati.

  • Il percorso critico analizza i dati quasi in tempo reale all'arrivo. Nel percorso ad accesso frequente, i dati di telemetria devono essere elaborati con una latenza molto bassa. Il percorso ad accesso frequente è in genere implementato tramite un motore di elaborazione dei flussi. Valutare la possibilità di usare servizi come Analisi di flusso di Azure o HDInsight. L'output può attivare un avviso o essere scritto in un formato strutturato su cui è possibile eseguire query con strumenti di analisi.
  • Il percorso a caldo analizza i dati che possono contenere ritardi più lunghi per un'elaborazione più dettagliata. Considerare Esplora dati di Azure o Azure Time Series Insights per l'archiviazione e l'analisi di grandi volumi di dati.
  • Il percorso ad accesso sporadico esegue un'elaborazione batch a intervalli più lunghi (ogni ora o ogni giorno). Il percorso a freddo in genere opera su grandi volumi di dati che possono essere archiviati in Azure Data Lakee i risultati non devono essere così in tempo reale come i percorsi ad accesso caldo o caldo. È consigliabile Azure Machine Learning o Azure Databricks analizzare i dati a freddo.

Azioni

È possibile usare le informazioni dettagliate raccolte sui dati per gestire e controllare l'ambiente. Le azioni di integrazione aziendale possono includere l'archiviazione di messaggi informativi, la generazione di avvisi, l'invio di messaggi di posta elettronica o SMS o l'integrazione con applicazioni aziendali come CRM ed ERP. Per la gestione e l'integrazione aziendale sono disponibili i servizi seguenti:

  • Power BI connette, modella e visualizza i dati. Power BI consente di collaborare ai dati e usare l'intelligenza artificiale per prendere decisioni guidate sui dati.
  • Azure Mappe consente di creare applicazioni Web e per dispositivi mobili in grado di riconoscere la posizione usando servizi geospaziali (ricerca, mappe, routing, rilevamento e traffico), API e SDK.
  • Ricerca cognitiva di Azure un servizio di ricerca su vari tipi di contenuto. Sono incluse le funzionalità di indicizzazione, arricchimento dell'intelligenza artificiale e query.
  • Azure API Management un'unica posizione per gestire tutte le API.
  • App Web di Azure consente di distribuire applicazioni Web che vengono ridimensionate con l'organizzazione.
  • App per dispositivi mobili consente di creare app multipiattaforma e native per iOs, Android, Windows o Mac.
  • Dynamics 365 combina CRM (customer relationship management) ed ERP (enterprise resource planning) nel cloud.
  • Microsoft Flow è un'offerta SaaS per l'automazione dei flussi di lavoro tra applicazioni e altri servizi SaaS.
  • App per la logica di Azure è un'offerta PaaS basata sul cloud usata per creare e automatizzare flussi di lavoro che integrano app, dati, servizi e sistemi.

Sono disponibili anche diversi servizi forniti da Azure per monitorare l'intera soluzione IoT e mantenerla sicura. I servizi di diagnostica includono Monitoraggio di Azure. I servizi di sicurezza come Azure Active Directory e Microsoft Defender per IoT consentono di controllare, visualizzare e gestire le impostazioni di sicurezza, il rilevamento delle minacce e la risposta.

Gemelli digitali

I clienti stanno esplorando Gemelli digitali come meccanismo per controllare e monitorare gli ambienti connessi. Un gemello digitale è un modello virtuale di un ambiente reale basato sui dati dei sistemi aziendali e dei dispositivi IoT. Viene usato per abilitare informazioni dettagliate e azioni per un'azienda o un'organizzazione. Sviluppatori e architetti stanno cercando i gemelli digitali come soluzione che consente ambienti intelligenti e connessi come i seguenti:

  • Manutenzione predittiva nella produzione
  • Visibilità della supply chain
  • Scaffali intelligenti per l'inventario in tempo reale
  • Case connesse ed edifici intelligenti

Distribuzione su larga scala

Creare la soluzione per la distribuzione su scala globale. Per una scalabilità ottimale, creare l'applicazione IoT come servizi discreti che possono essere ridimensionati in modo indipendente. Questa sezione contiene considerazioni sulla scalabilità per vari servizi di Azure.

Funzioni. Durante la lettura dall'endpoint Hub eventi, è previsto un limite massimo di istanze di funzione per ogni partizione dell'hub eventi. La velocità di elaborazione massima è determinata dalla velocità con cui un'istanza di funzione può elaborare gli eventi da una singola partizione. La funzione deve elaborare i messaggi in batch.

Hub IoT. Per l'hub IoT, tenere presente i fattori di scala seguenti:

  • La quota giornaliera massima di messaggi nell'hub IoT.
  • La quota di dispositivi connessi in un'istanza di Hub IoT.
  • Velocità effettiva di inserimento: velocità effettiva di inserimento dei messaggi nell'hub IoT.
  • Velocità effettiva di elaborazione: velocità effettiva di elaborazione dei messaggi in ingresso.

Viene effettuato il provisioning di ogni hub IoT con un determinato numero di unità in un piano tariffario e di scalabilità specifico. Il livello e il numero di unità determinano la quota giornaliera massima dei messaggi che i dispositivi possono inviare all'hub. Per altre informazioni, vedere Quote e limitazione dell'hub IoT. È possibile aumentare le prestazioni di un hub senza interrompere le operazioni esistenti.

Analisi di flusso. I processi di Analisi di flusso vengono ridimensionati in modo ottimale se sono paralleli in corrispondenza di tutti i punti della pipeline di Analisi di flusso, dall'input, alla query, fino all'output. Un processo completamente parallelo consente ad Analisi di flusso di dividere il lavoro tra più nodi di calcolo. Per altre informazioni, vedere Sfruttare i vantaggi della parallelizzazione delle query in Analisi di flusso di Azure.

L'hub IoT partiziona automaticamente i messaggi dei dispositivi in base all'ID dispositivo. Tutti i messaggi da un dispositivo specifico arriveranno sempre nella stessa partizione, ma una singola partizione conterrà messaggi da più dispositivi. Di conseguenza, l'unità della parallelizzazione è costituita dall'ID partizione.

Sicurezza

Questa sezione contiene considerazioni per la creazione di soluzioni sicure.

Zero Trust di sicurezza

Zero Trust è un modello di sicurezza che presuppone che si verificano violazioni e considera ogni tentativo di accesso come se provenisse da una rete aperta. Zero Trust presuppone che siano state implementate le nozioni di base, ad esempio la protezione delle identità e la limitazione dell'accesso. Ciò include la verifica esplicita degli utenti, la visibilità dei dispositivi e la possibilità di prendere decisioni di accesso dinamico usando il rilevamento dei rischi in tempo reale. Dopo aver soddisfatto le nozioni di base, è possibile spostare lo stato attivo sui Zero Trust seguenti per le soluzioni IoT:

  • Usare un'identità solida per autenticare i dispositivi.
  • Usare l'accesso con privilegi minimi per attenuare il raggio dell'esplosione.
  • Monitorare l'integrità del dispositivo per controllare l'accesso o contrassegnare i dispositivi per la correzione.
  • Eseguire aggiornamenti per mantenere integri i dispositivi.
  • Monitorare per rilevare e rispondere alle minacce emergenti.

Leggere il white paper Zero Trust Cybersecurity for the Internet delle cose per informazioni dettagliate.

Comunicazioni affidabili e sicure

Tutte le informazioni ricevute dai dispositivi e inviate ai dispositivi devono essere affidabili. A meno che un dispositivo non supporti le funzionalità di crittografia seguenti, le comunicazioni devono essere limitate alle reti locali e tutte le comunicazioni all'interno della rete devono transitare attraverso un gateway sul campo:

  • Crittografia dei dati e firme digitali con un algoritmo di crittografia a chiave simmetrica, analizzati pubblicamente e a livello generale.
  • Supporto per i protocolli TLS 1.2 per TCP o altri percorsi di comunicazione basati su flusso o DTLS 1.2 per percorsi di comunicazione basati su diagrammi. Il supporto della gestione dei certificati X.509 è facoltativo e può essere sostituito dalla modalità a chiave precondivisa per TLS più vantaggiosa a livello di calcolo e collegamento, che può essere implementata con il supporto per gli algoritmi AES e SHA-2.
  • Archivio chiavi aggiornabile e chiavi per dispositivo. Ogni dispositivo deve avere un materiale di chiave univoco o token che lo identificano nel sistema. I dispositivi devono archiviare la chiave in modo sicuro nel dispositivo, ad esempio usando un archivio chiavi sicuro. Il dispositivo deve poter aggiornare le chiavi o i token periodicamente o tempestivamente in caso di situazioni di emergenza, come una violazione del sistema.
  • Il firmware e il software dell'applicazione nel dispositivo devono consentire gli aggiornamenti per la riparazione delle vulnerabilità della sicurezza individuate.

Molti dispositivi sono troppo vincolati per supportare questi requisiti. In questo caso, è necessario usare un gateway sul campo. I dispositivi si connettono in modo sicuro al gateway sul campo tramite una rete locale e il gateway garantisce la comunicazione sicura con il cloud.

A prova di manomissione fisica

La progettazione del dispositivo deve includere funzionalità di protezione dai tentativi di manomissione fisica per garantire l'integrità della sicurezza e l'affidabilità del sistema complessivo.

Ad esempio:

  • Scegliere microcontroller/microprocessori o hardware ausiliario che fornisce archiviazione sicura e uso del materiale della chiave crittografica, ad esempio l'integrazione TPM (Trusted Platform Module).
  • Caricatore di avvio sicuro e caricamento sicuro del software ancorato nel TPM.
  • Usare i sensori per rilevare i tentativi di intrusione e i tentativi di manipolare l'ambiente del dispositivo con avvisi e potenziali "distruzione digitale" del dispositivo.

Per altre considerazioni sulla sicurezza, vedere Architettura della sicurezza di Internet delle cose (IoT).

Affidabilità e prestazioni

Un'area chiave da considerare per le soluzioni IoT resilienti è la continuità aziendale e il ripristino di emergenza. La progettazione per disponibilità elevata e ripristino di emergenza consente di definire e raggiungere gli obiettivi del tempo di attività necessari per la soluzione.

Diversi servizi di Azure offrono opzioni diverse per la ridondanza e il failover per consentire di raggiungere gli obiettivi del tempo di attività più adatti agli obiettivi aziendali. L'inclusione di una delle alternative tra disponibilità elevata e ripristino di emergenza nella soluzione IoT richiede un'attenta valutazione dei compromessi tra il:

  • Livello di resilienza desiderata
  • Complessità di implementazione e manutenzione
  • Impatto sui costi dei beni venduti (COGS)

L'articolo Linee guida tecniche per la continuità aziendale di Azure descrive un framework generale che consente di pensare alla continuità aziendale e al ripristino di emergenza. Il documento Ripristino di emergenza e disponibilità elevata per le applicazioni Azure fornisce linee guida per la progettazione dell'architettura sulle strategie per le applicazioni Azure per ottenere disponibilità elevata e ripristino di emergenza.

È anche possibile trovare informazioni sulle prestazioni specifiche del servizio nella documentazione per ogni Azure IoT servizio.

Considerazioni sul costo

In generale, usare il calcolatore dei prezzi di Azure per stimare i costi. Altre considerazioni sono descritte nella sezione Relativa ai costi in Microsoft Azure Well-Architected Framework.

Passaggi successivi

Per altre informazioni sui singoli componenti di un'architettura di soluzione, vedere gli argomenti seguenti: