Descrivere le funzionalità di disponibilità elevata e ripristino di emergenza di Azure per le macchine virtuali di Azure
Azure offre tre opzioni principali per migliorare la disponibilità delle distribuzioni IaaS:
SET DI DISPONIBILITÀ
Zone di disponibilità
Azure Site Recovery
Tutte e tre le opzioni sono esterne alla macchina virtuale e non conoscono il tipo di carico di lavoro in esecuzione all'interno di essa.
Set di disponibilità
I set di disponibilità assicurano un tempo di attività rispetto alla manutenzione correlata ad Azure e ai singoli punti di guasto in un unico data center. Si tratta di una delle prime funzionalità per la disponibilità introdotte nella piattaforma Azure, che è possibile effettivamente considerare come regole di anti-affinità per le macchine virtuali. In altre parole, se erano presenti due macchine virtuali SQL Server in un set di disponibilità o in una coppia di log shipping, questa funzionalità consentiva di assicurarsi che non sarebbero mai eseguite nello stesso server fisico.
I set di disponibilità sono suddivisi in domini di errore e domini di aggiornamento per supportare entrambi gli aggiornamenti all'infrastruttura di Azure sottostante. I domini di errore sono set di server all'interno di un data center, che usano la stessa fonte di alimentazione e la stessa rete. In un data center possono essere presenti fino a tre domini di errore, come illustrato da FD 0, 1 e 2 nell'immagine seguente. I domini di aggiornamento, contrassegnati da UD nell'immagine seguente, indicano i gruppi di macchine virtuali e l'hardware fisico sottostante che possono essere riavviati nello stesso momento. La presenza di domini di aggiornamento diversi assicurano la separazione dei dati.
I set di disponibilità e le zone non proteggono da errori interni al guest, come un arresto anomalo del sistema operativo o dell'RDBMS; ecco perché è necessario implementare soluzioni aggiuntive come AG o FCI per garantire il rispetto degli RTO e degli RPO. I set e le zone di disponibilità sono entrambi progettati per limitare l'impatto dei problemi dell'ambiente a livello di Azure, ad esempio un errore del data center o dell'hardware fisico e interruzioni della rete o dell'alimentazione.
Per un'applicazione multilivello, è necessario inserire ogni livello dell'applicazione nello specifico set di disponibilità. Se, ad esempio, si crea un'applicazione Web con un back-end SQL Server insieme a Active Directory Domain Services, è necessario creare un set di disponibilità per ogni livello (Web, database e Active Directory Domain Services).
I set di disponibilità non sono l'unico modo per separare le macchine virtuali IaaS. Anche in Azure sono disponibili zone di disponibilità, ma non è possibile combinarle con i set. È possibile scegliere solo una delle due soluzioni.
Zone di disponibilità
Le zone di disponibilità tengono conto degli errori a livello di data center in Azure. Ogni area di Azure è costituita da molti data center con connessioni di rete a bassa latenza. Quando si distribuiscono risorse di macchine virtuali in un'area che supporta le zone di disponibilità, è possibile scegliere di distribuire tali risorse in Zona 1, 2 o 3. Una zona è una posizione fisica univoca, vale a dire un data center, disponibile all'interno di un'area di Azure.
I numeri di zona sono rappresentazioni logiche. Se, ad esempio, due sottoscrittori di Azure distribuiscono una macchina virtuale nella Zona 1 nelle rispettive sottoscrizioni, questo non significa che tali macchine virtuali si trovino nello stesso data center fisico di Azure. Inoltre, a causa della distanza, è possibile che sia presente una maggiore latenza nelle distribuzioni di zona. È consigliabile testare la latenza tra le macchine virtuali per assicurarsi che soddisfi gli obiettivi di prestazioni. Nella maggior parte dei casi, la latenza di round trip è inferiore a 1 millisecondo, un valore che consente lo spostamento sincrono dei dati in funzionalità come i gruppi di disponibilità. Nelle zone di disponibilità è possibile distribuire anche il database SQL di Azure.
Azure Site Recovery
Azure Site Recovery offre disponibilità avanzata per le macchine virtuali a livello di Azure e può funzionare con le macchine virtuali che ospitano SQL Server. Azure Site Recovery replica una macchina virtuale da un'area di Azure a un'altra in modo da creare una soluzione di ripristino di emergenza per la macchina virtuale. Come indicato in precedenza, questa funzionalità non è a conoscenza del fatto che SQL Server è in esecuzione nella macchina virtuale e non sa nulla riguardo alle transazioni. Anche se soddisfa l'RTO, Azure Site Recovery può non essere in grado di soddisfare l'RPO, perché non tiene conto della posizione dei dati all'interno di SQL Server. Azure Site Recovery ha un RTO mensile dichiarato di due ore. Anche se la maggior parte dei professionisti di database preferisce usare un metodo basato su database per il ripristino di emergenza, Azure Site Recovery funziona in modo efficace se i requisiti di RTO e RPO vengono soddisfatti.