Architettura di riferimento di Azure IoT

Funzioni di Azure
Hub IoT Azure
Analisi di flusso di Azure
Gemelli digitali di Azure

È possibile creare soluzioni IoT personalizzate assemblando componenti PaaS (Platform as a Service) di Azure come descritto in questo articolo. L'articolo e questo diagramma descrivono i componenti e i servizi di Azure comunemente usati dalle soluzioni IoT, ma nessuna singola soluzione usa tutti questi componenti.

Architettura

Diagramma che mostra l'architettura per le applicazioni IoT che usano componenti PaaS di Azure.

Scaricare un file di Visio di questa architettura.

Workflow

Il flusso di lavoro seguente corrisponde al diagramma precedente:

  • Elementi, in genere dispositivi che generano dati.
  • Informazioni dettagliate sui dati.
  • Azioni eseguite in base alle informazioni dettagliate.

Ad esempio, un motore invia dati sulla temperatura. Questi dati vengono usati per valutare se il motore funziona come previsto. Si usano le informazioni dettagliate sulle prestazioni del motore per classificare in ordine di priorità la pianificazione della manutenzione.

Dispositivi

Azure IoT supporta un'ampia gamma di dispositivi, dai microcontroller che eseguono Azure Sphere alle schede per sviluppatori come MXCHIP e Raspberry Pi. Azure IoT supporta anche gateway server intelligenti in grado di eseguire codice personalizzato. I dispositivi possono eseguire un'elaborazione locale tramite un servizio come Azure IoT Edge o connettersi direttamente ad Azure in modo che possano inviare e ricevere dati dalla soluzione IoT.

Quando i dispositivi sono connessi al cloud, esistono diversi servizi che supportano l'inserimento di dati. hub IoT di Azure è un servizio gateway cloud in grado di connettersi e gestire in modo sicuro i dispositivi. hub IoT di Azure servizio Device Provisioning consente il provisioning JIT 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.

Insights

Dopo che i dispositivi sono connessi al cloud, è possibile elaborare ed esplorare i dati per ottenere informazioni personalizzate sul proprio ambiente. A livello generale, esistono tre modi per elaborare i dati: percorso critico, percorso ad accesso frequente e percorso ad accesso sporadico. I percorsi variano in base ai requisiti per latenza e l'accesso ai dati.

  • Il percorso critico analizza i dati quasi in tempo reale man mano che arrivano. I dati di telemetria dei percorsi ad accesso frequente devono essere elaborati con bassa latenza. Il percorso critico usa in genere un motore di elaborazione del flusso. Prendere in considerazione l'uso di servizi come Analisi di flusso di Azure o Azure HDInsight. L'output potrebbe attivare un avviso o essere scritto in un formato strutturato su cui è possibile eseguire query usando gli strumenti analitici.
  • Il percorso ad accesso frequente analizza i dati che possono supportare ritardi più lunghi per l'elaborazione più dettagliata. Prendere in considerazione Azure Esplora dati per l'archiviazione e l'analisi di grandi volumi di dati.
  • Il percorso ad accesso sporadico esegue l'elaborazione batch a intervalli più lunghi, ad esempio oraria o giornaliera. Il percorso ad accesso sporadico funziona in genere su grandi volumi di dati, che possono essere archiviati in Azure Data Lake Storage. I risultati non devono essere tempestivi come nei percorsi ad accesso frequente o ad accesso frequente. È consigliabile usare Azure Machine Learning o Azure Databricks per analizzare i dati ad accesso sporadico.

Azioni

È possibile usare le informazioni dettagliate raccolte sui dati per gestire e controllare l'ambiente. Le azioni di integrazione aziendale possono includere:

  • Archiviazione di messaggi informativi
  • Generazione di allarmi
  • Invio di messaggi di posta elettronica o SMS
  • Integrazione con applicazioni aziendali come CRM (Customer Relationship Management) e soluzioni software ERP (Enterprise Resource Planning)

È possibile usare i servizi seguenti per la gestione e l'integrazione aziendale:

  • Power BI si connette ai dati, ai modelli e visualizza i dati. È possibile usare Power BI per collaborare ai dati e usare l'intelligenza artificiale per prendere decisioni basate sui dati.
  • Mappe di Azure crea applicazioni Web e per dispositivi mobili con riconoscimento della posizione usando API geospaziali, SDK e servizi come ricerca, mappe, routing, rilevamento e traffico.
  • Ricerca di intelligenza artificiale di Azure offre un recupero sicuro delle informazioni su larga scala rispetto al contenuto di proprietà dell'utente nelle applicazioni di ricerca di intelligenza artificiale tradizionali e generative. Ricerca di intelligenza artificiale include funzionalità di indicizzazione, arricchimento tramite intelligenza artificiale e query.
  • Azure Gestione API offre un'unica posizione per gestire tutte le API.
  • app Azure Servizio distribuisce applicazioni Web scalabili con l'organizzazione.
  • App per dispositivi mobili di Azure crea app multipiattaforma e native per iOS, Android, Windows o macOS.
  • Dynamics 365 combina soluzioni software CRM e ERP nel cloud.
  • Microsoft Power Automate è un'offerta Saas (Software as a Service) per automatizzare i flussi di lavoro tra applicazioni e altri servizi SaaS.
  • App per la logica di Azure crea e automatizza i flussi di lavoro che integrano app, dati, servizi e sistemi.

Azure offre anche diversi servizi per monitorare l'intera soluzione IoT e mantenerla sicura. I servizi di diagnostica includono Monitoraggio di Azure. I servizi di sicurezza, ad esempio Microsoft Entra ID e Microsoft Defender per IoT , consentono di controllare, visualizzare e gestire le impostazioni di sicurezza e il rilevamento e la risposta delle minacce.

Componenti

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Microsoft Azure Well-Architected Framework.

Gestione

È possibile usare Gemelli digitali di Azure 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. Le aziende e le organizzazioni usano gemelli digitali per abilitare informazioni dettagliate e azioni. Gli sviluppatori e gli architetti usano soluzioni di gemelli digitali per implementare ambienti intelligenti e connessi, ad esempio:

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

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che l'utente ha preso con i clienti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'affidabilità.

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

I diversi servizi di Azure offrono opzioni diverse per la ridondanza e il failover per raggiungere gli obiettivi di 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 necessario.
  • Complessità di implementazione e manutenzione.
  • Impatto sul costo delle merci vendute (COGS).

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

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per la sicurezza.

Modello di sicurezza Zero Trust

Zero trust è un modello di sicurezza che presuppone che si verifichino violazioni e gestisce ogni tentativo di accesso come se provenga 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.

L'implementazione di sicurezza di base include la verifica esplicita degli utenti, la visibilità dei propri dispositivi e la possibilità di prendere decisioni di accesso dinamico usando il rilevamento dei rischi in tempo reale. Dopo aver eseguito le nozioni di base, è possibile spostare lo stato attivo sui requisiti zero trust seguenti per le soluzioni IoT:

  • Usare un'identità complessa per autenticare i dispositivi.
  • Usare l'accesso con privilegi minimi per attenuare il raggio dell'esplosione.
  • Monitorare l'integrità dei dispositivi 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.

Comunicazioni affidabili e sicure

Tutte le informazioni ricevute dai dispositivi e inviate ai dispositivi devono essere affidabili. A meno che un dispositivo non possa supportare le funzionalità di crittografia seguenti, deve essere vincolato alle reti locali e tutte le comunicazioni tra reti devono passare attraverso un gateway sul campo:

  • Crittografia dei dati e firme digitali con un algoritmo di crittografia a chiave simmetrica a livello di sicurezza, analizzato pubblicamente e ampiamente implementato.
  • Supporto per TLS 1.2 per TCP o altri percorsi di comunicazione basati su flusso o DTLS 1.2 per i percorsi di comunicazione basati su datagram. Il supporto della gestione dei certificati X.509 è facoltativo. È possibile sostituire la gestione dei certificati X.509 con la modalità chiave precondivibile più efficiente ed efficiente dal calcolo per TLS, che è possibile implementare con il supporto per gli algoritmi AES e SHA-2.
  • Archivio chiavi aggiornabile e chiavi per dispositivo. Ogni dispositivo deve avere un materiale o token di chiave univoci 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 a supportare questi requisiti. In tal caso, è consigliabile 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 consigliata dei dispositivi incorpora funzionalità che si difendono dai tentativi di manipolazione fisica, per garantire la sicurezza, l'integrità e l'attendibilità del sistema complessivo.

Ad esempio:

  • Scegliere microcontroller/microprocessori o hardware ausiliario che offre un servizio di archiviazione sicuro e l'uso di chiavi crittografiche, ad esempio l'integrazione di un modulo TPM (Trusted Platform Module).
  • Ancorare il caricatore di avvio protetto e il caricamento sicuro del software nel TPM.
  • Usare i sensori per rilevare i tentativi di intrusione e tentare di manipolare l'ambiente del dispositivo, con avvisi e potenziali "auto-distruzione digitale" del dispositivo.

Ottimizzazione dei costi

L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'ottimizzazione dei costi.

In linea generale, usare il calcolatore dei prezzi di Azure per stimare i costi. Per ulteriori considerazioni, consultare la sezione sui costi in >Microsoft Azure Well-Architected Framework,

Efficienza prestazionale

L'efficienza delle prestazioni è la capacità di dimensionare il carico di lavoro per soddisfare in modo efficiente le richieste poste dagli utenti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'efficienza delle prestazioni.

Creare la soluzione da distribuire su scala globale. Per una scalabilità ottimale, creare l'applicazione IoT con servizi discreti che possono essere ridimensionati in modo indipendente. Questa sezione descrive le considerazioni sulla scalabilità per diversi servizi di Azure.

Hub IoT

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 limitazioni dell'hub IoT. È possibile aumentare le prestazioni di un hub senza interrompere le operazioni esistenti.

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: quanto hub IoT può inserire messaggi.
  • Elaborazione della velocità effettiva: velocità di elaborazione dei messaggi in ingresso.

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.

Funzioni di Azure

Quando Funzioni di Azure legge da un endpoint Hub eventi di Azure, è presente un numero 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.

Analisi di flusso

I processi di Analisi di flusso si adattano meglio se sono paralleli in tutti i punti della pipeline di Analisi di flusso, dall'input alla query 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.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Altro collaboratore:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi