Dimensionare e gestire soluzioni IoT con gli stamp di distribuzione

Hub eventi di Azure
Hub IoT Azure
Gestione traffico di Azure

Questo articolo illustra una strategia per l'uso di stamp di distribuzione per supportare l'aumento del numero di dispositivi connessi in una soluzione Internet delle cose (IoT). L'articolo descrive anche in dettaglio come distribuire dispositivi e applicazioni IoT tra stamp di distribuzione.

La strategia per l'uso di stamp di distribuzione per le soluzioni IoT si basa sul modello di progettazione Stamp di distribuzione. Gli stamp di distribuzione sono unità costituite da componenti eterogenei che supportano una popolazione definita di dispositivi. L'uso di stamp di distribuzione consente di aumentare il numero di dispositivi IoT connessi tramite la replica degli stamp, invece di aumentare in modo indipendente le diverse parti di una soluzione.

Vantaggi associati all'uso di stamp di distribuzione:

  • Posizionare e distribuire i dispositivi in base a criteri quali la dipendenza geografica, il ciclo di vita o lo stato di rilascio.
  • Contenere l'impatto di interruzioni o riduzioni del servizio a stamp specifici.
  • Distribuire nuove funzionalità, capacità e modifiche dell'architettura in stamp specifici in grado di supportarle.
  • Supportare la gestione di dispositivi di più generazioni allineando capacità e servizi a popolazioni di dispositivi specificate.
  • Fornire un modello di scalabilità e costi basato sugli stamp per supportare in modo prevedibile la crescita futura.

Architettura per l'uso di stamp di distribuzione IoT

Diagramma che mostra una strategia di stampa della distribuzione da usare in Azure IoT.

Scaricare un file di Visio di questa architettura.

Il diagramma precedente illustra una strategia per l'uso di stamp di distribuzione per Azure IoT. Questa soluzione consente di creare stamp atomici costituiti ognuno dai componenti seguenti:

Gli stamp devono sempre essere progettati per supportare capacità esplicite. Per determinare il numero corretto di dispositivi da supportare, valutare la quantità prevista di traffico di comunicazione dei dispositivi. In questa soluzione ogni stamp supporta in modo ottimale una popolazione definita di dispositivi compresa tra 1.000 e 1.000.000 di dispositivi. Per supportare la crescita della popolazione dei dispositivi, vengono aggiunte istanze di stamp.

Spostare dispositivi e applicazioni tra stamp

Anche se gli stamp di distribuzione sono destinati alla distribuzione atomica, a volte è necessario spostare popolazioni di dispositivi tra stamp. Ad esempio, potrebbe essere necessario eseguire le operazioni seguenti:

  • Spostare popolazioni di dispositivi da stamp di test a stamp di produzione come parte di un ciclo di rilascio.
  • In una strategia a disponibilità elevata spostare dispositivi e utenti in un altro stamp come parte della risoluzione delle interruzioni.
  • Bilanciare il carico per distribuire più uniformemente le popolazioni di dispositivi tra stamp.

Spostare i dispositivi tra hub

Se i componenti dello stamp includono solo il comportamento da dispositivo a cloud, lo spostamento dei dispositivi tra hub è sufficiente per eseguirne la migrazione da uno stamp a un altro. Il servizio Device Provisioning in hub IoT di Azure offre la possibilità di spostare i dispositivi tra istanze dell'hub IoT. Prima di usare il servizio Device Provisioning nella strategia per l'uso di stamp, vedere l'articolo Terminologia del servizio Device Provisioning in hub IoT che include informazioni sui concetti.

Nota

Il servizio Device Provisioning usa gli ID registrazione, mentre l'hub IoT usa gli ID dispositivo. Questi ID hanno spesso lo stesso valore, ma possono essere diversi. Quando si esegue una query o si gestiscono dispositivi con le API del servizio Device Provisioning, assicurarsi di usare gli ID di registrazione.

Spostare dispositivi e applicazioni tra stamp autonomi

Se gli stamp di distribuzione includono front-end Web o applicazioni API che comunicano tramite l'hub IoT, anche questi componenti devono essere trasferiti nei nuovi hub per continuare a comunicare con i dispositivi spostati. È possibile spostare intere applicazioni e dispositivi tra gli stamp.

Se ogni stamp include un'applicazione end-to-end, Gestione traffico di Azure può spostare il traffico da uno stamp a un altro. Questa strategia implica la creazione di più stamp, ognuno dei quali contiene l'intera applicazione con il proprio URL. Intere popolazioni di dispositivi e utenti di applicazioni vengono spostate da uno stamp a un altro.

Questa strategia completamente autonoma è:

  • Facile da implementare.
  • Appropriata nell'ambito di una strategia di disponibilità elevata.
  • Utile per la migrazione di dispositivi e utenti da ambienti di test ad ambienti di produzione.

Diagramma che mostra come spostare un set di dispositivi da un timbro a un altro.

Scaricare un file di Visio di questa architettura.

Il diagramma precedente illustra il processo di spostamento di un set di dispositivi da Stamp 1 a Stamp 2:

  1. I dispositivi acquisiscono l'endpoint dell'hub IoT tramite il servizio Device Provisioning, se è sconosciuto o non è più valido.
  2. Quando i dispositivi vengono spostati in Stamp 2, Gestione traffico punta l'URL dell'applicazione all'istanza dell'applicazione 2.
  3. Il servizio Device Provisioning sposta un intero set di dispositivi da uno stamp a un altro.
  4. Ogni stamp di applicazione contiene il front-end dell'applicazione e fa riferimento all'hub IoT corrispondente a tale stamp.

Spostare i dispositivi tra stamp protetti da un singolo gateway app

Quando una singola applicazione front-end supporta più stamp di dispositivo, il front-end dell'applicazione deve aggiornare dinamicamente il mapping da dispositivo a hub per mantenere la comunicazione da cloud a dispositivo. Per supportare i dispositivi spostati in stamp e hub IoT diversi, i gateway possono usare un meccanismo di memorizzazione nella cache per il mapping da dispositivo a hub. I client di servizio possono usare una routine di ricerca condivisa per rilevare ed eseguire la migrazione dinamica delle chiamate dei dispositivi ai nuovi hub IoT.

Diagramma che illustra come i dispositivi possono spostarsi da un hub a un altro usando un gateway app.

Scaricare un file di Visio di questa architettura.

In questo modello il gateway usa una cache per eseguire il mapping dei dispositivi agli hub IoT e usa per impostazione predefinita l'endpoint memorizzato nella cache. Se il gateway riceve un errore di dispositivo non trovato, usa DPS Service SDK per eseguire query sulla registrazione di singoli dispositivi e determinare l'hub IoT ora usato dal dispositivo. Il gateway aggiorna quindi la cache con il nuovo mapping.

Ecco alcune considerazioni relative a questa strategia:

  • Anche se la memorizzazione nella cache in una ricerca condivisa evita di rinegoziare gli endpoint a ogni chiamata, è possibile che si verifichino errori nell'endpoint della cache. Una cache secondaria o un piano di fallback di rinegoziazione con il servizio Device Provisioning può migliorare l'affidabilità della soluzione.

  • Se la registrazione del dispositivo è in corso, il dispositivo non è raggiungibile. Usare un'API del servizio Device Provisioning, come Get Device Registration State, per ottenere l'hub IoT assegnato del dispositivo e il relativo stato di registrazione corrente.

  • Nel caso dello spostamento del solo dispositivo i dispositivi vengono disconnessi dall'hub IoT quando vengono spostati da un timbro a un altro. Nel caso dello spostamento da applicazione a dispositivo, l'errore si verifica quando l'app prova a raggiungere il dispositivo tramite l'hub IoT.

Autori di contributi

Questo articolo viene gestito da Microsoft. È stato originariamente scritto dai collaboratori seguenti.

Autore principale:

Passaggi successivi