Disponibilità elevata e ripristino di emergenza dell'hub IoTIoT Hub high availability and disaster recovery

Come servizio di Azure, l'hub IoT offre velocità elevata usando le ridondanze a livello di area di Azure, senza richiedere attività aggiuntive alla soluzione.As an Azure service, IoT Hub provides high availability (HA) using redundancies at the Azure region level, without any additional work required by the solution. La piattaforma Microsoft Azure offre anche numerose funzionalità che facilitano la compilazione di soluzioni con funzionalità di ripristino di emergenza o disponibilità tra aree.The Microsoft Azure platform also includes features to help you build solutions with disaster recovery (DR) capabilities or cross-region availability. Per offrire la disponibilità elevata globale tra le aree per dispositivi o utenti, sfruttare le funzionalità di ripristino di emergenza di Azure.If you want to provide global, cross-region high availability for devices or users, take advantage of these Azure DR features. L'articolo Indicazioni tecniche sulla resilienza di Azure descrive le funzionalità integrate in Azure per la continuità aziendale e il ripristino di emergenza.The article Azure Business Continuity Technical Guidance describes the built-in features in Azure for business continuity and DR. Il documento Ripristino di emergenza e disponibilità elevata per le applicazioni basate su Microsoft Azure fornisce informazioni sull'architettura nelle strategie per consentire alle applicazioni di Azure di ottenere disponibilità elevata e ripristino di emergenza.The Disaster recovery and high availability for Azure applications paper provides architecture guidance on strategies for Azure applications to achieve HA and DR.

Ripristino di emergenza dell'hub IoT di AzureAzure IoT Hub DR

Oltre alla disponibilità elevata all'interno della stessa area, l'hub IoT implementa meccanismi di failover per il ripristino di emergenza che non richiedono alcun intervento da parte dell'utente.In addition to intra-region HA, IoT Hub implements failover mechanisms for disaster recovery that require no intervention from the user. Il ripristino di emergenza dell'hub IoT viene avviato automaticamente e ha un obiettivo del tempo di ripristino di 2-26 ore e gli obiettivi del punto di ripristino (RPO) seguenti:IoT Hub DR is self-initiated and has a recovery time objective (RTO) of 2-26 hours, and the following recovery point objectives (RPOs):

FunzionalitàFunctionality RPORPO
Disponibilità del servizio per le operazioni del Registro di sistema e di comunicazioneService availability for registry and communication operations Possibile perdita di CNamePossible CName loss
Dati sull'identità nel registro delle identitàIdentity data in identity registry Perdita di dati da 0 a 5 minuti0-5 mins data loss
Messaggi da dispositivo a cloudDevice-to-cloud messages Tutti i messaggi non letti vengono persiAll unread messages are lost
Messaggi di monitoraggio delle operazioniOperations monitoring messages Tutti i messaggi non letti vengono persiAll unread messages are lost
Messaggi da cloud a dispositivoCloud-to-device messages Perdita di dati da 0 a 5 minuti0-5 mins data loss
Coda di commenti da cloud a dispositivoCloud-to-device feedback queue Tutti i messaggi non letti vengono persiAll unread messages are lost

Failover di area con l'hub IoTRegional failover with IoT Hub

L'analisi completa delle topologie di distribuzione nelle soluzioni IoT esula dall'ambito di questo articolo.A complete treatment of deployment topologies in IoT solutions is outside the scope of this article. L'articolo illustra il modello di distribuzione di failover regionale per obiettivi di disponibilità elevata e ripristino di emergenza.The article discusses the regional failover deployment model for the purpose of high availability and disaster recovery.

In un modello di failover a livello di area il back-end della soluzione viene eseguito principalmente nella località di un data center.In a regional failover model, the solution back end runs primarily in one datacenter location. Un hub IoT e un back-end secondari vengono distribuiti in un'altra località di data center.A secondary IoT hub and back end are deployed in another datacenter location. Se l'hub IoT nel data center principale subisce un'interruzione o viene interrotta la connettività di rete dal dispositivo al data center principale, i dispositivi usano un endpoint di servizio secondario.If the IoT hub in the primary datacenter suffers an outage or the network connectivity from the device to the primary datacenter is interrupted, devices use a secondary service endpoint. È possibile migliorare la disponibilità della soluzione implementando un modello di failover tra aree invece di usare una sola area.You can improve the solution availability by implementing a cross-region failover model instead of staying within a single region.

In generale, per implementare un modello di failover regionale con l'hub IoT è necessario quanto segue:At a high level, to implement a regional failover model with IoT Hub, you need the following:

  • Un hub IoT secondario e una logica di routing del dispositivo: se il servizio nell'area primaria viene interrotto, i dispositivi devono avviare la connessione all'area secondaria.A secondary IoT hub and device routing logic: If service in your primary region is disrupted, devices must start connecting to your secondary region. Data la condizione con riconoscimento dello stato della maggior parte dei servizi coinvolti, gli amministratori delle soluzioni attivano comunemente il processo di failover tra aree.Given the state-aware nature of most services involved, it is common for solution administrators to trigger the inter-region failover process. Il modo migliore per comunicare il nuovo endpoint ai dispositivi, mantenendo il controllo del processo, consiste nel fare in modo che controllino regolarmente un servizio concierge per verificare la disponibilità dell'endpoint attualmente attivo.The best way to communicate the new endpoint to devices, while maintaining control of the process, is to have them regularly check a concierge service for the current active endpoint. Il servizio concierge può essere un'applicazione Web replicata e mantenuta raggiungibile con tecniche di reindirizzamento DNS, ad esempio con Gestione traffico di Azure.The concierge service can be a web application that is replicated and kept reachable using DNS-redirection techniques (for example, using Azure Traffic Manager).
  • Replica del registro delle identità: per poter essere usato, l'hub IoT secondario deve contenere tutte le identità dei dispositivi che possono connettersi alla soluzione.Identity registry replication: To be usable, the secondary IoT hub must contain all device identities that can connect to the solution. La soluzione deve mantenere backup con replica geografica delle identità dei dispositivi e caricarli nell'hub IoT secondario prima del passaggio all'endpoint attivo per i dispositivi.The solution should keep geo-replicated backups of device identities, and upload them to the secondary IoT hub before switching the active endpoint for the devices. La funzionalità di esportazione delle identità dei dispositivi dell'hub IoT è utile in questo contesto.The device identity export functionality of IoT Hub is useful in this context. Per altre informazioni, vedere la Guida per gli sviluppatori dell'hub IoT: registro delle identità.For more information, see IoT Hub developer guide - identity registry.
  • Logica di unione: quando un'area primaria diventa di nuovo disponibile, deve essere eseguita la migrazione di tutti i dati e dello stato creati nel sito secondario all'area primaria.Merging logic: When the primary region becomes available again, all the state and data that have been created in the secondary site must be migrated back to the primary region. Lo stato e i dati sono per lo più correlati alle identità dei dispositivi e ai metadati dell'applicazione, che devono essere uniti all'hub IoT primario e agli altri archivi specifici dell'applicazione nell'area primaria.This state and data mostly relate to device identities and application metadata, which must be merged with the primary IoT hub and any other application-specific stores in the primary region. Per semplificare questo passaggio è consigliabile usare operazioni idempotenti.To simplify this step, you should use idempotent operations. Le operazioni idempotenti riducono al minimo gli effetti collaterali della distribuzione coerente degli eventi e dei duplicati o del recapito non ordinato degli eventi.Idempotent operations minimize the side-effects from the eventual consistent distribution of events, and from duplicates or out-of-order delivery of events. La logica dell'applicazione deve inoltre essere progettata per tollerare eventuali incoerenze o uno stato "leggermente" obsoleto.In addition, the application logic should be designed to tolerate potential inconsistencies or "slightly" out-of-date state. Questa situazione può verificarsi a causa del tempo aggiuntivo necessario per il recupero dell'integrità del sistema in base agli obiettivi del punto di ripristino (RPO).This situation can occur due to the additional time it takes for the system to "heal" based on recovery point objectives (RPO).

Passaggi successiviNext steps

Per altre informazioni sull'hub IoT di Azure, vedere questi collegamenti:Follow these links to learn more about Azure IoT Hub: