Consigli sul ripristino di emergenza per una piattaforma dati di Azure

Questo articolo è il quarto di una serie sul ripristino di emergenza per una piattaforma dati di Azure. Fornisce raccomandazioni e esperienze acquisite per implementare una strategia di ripristino di emergenza, inclusi suggerimenti su come definire gli obiettivi di recupero, testare le procedure di ripristino di emergenza e affrontare le considerazioni operative.

Lezioni apprese

  • Assicurarsi che tutte le parti coinvolte comprendano la differenza tra disponibilità elevata (HA) e ripristino di emergenza (DR). Confondere questi concetti può comportare soluzioni non corrispondenti.

  • Collaborare con gli stakeholder aziendali per definire gli obiettivi del punto di ripristino (RPO) e gli obiettivi del tempo di ripristino (RTO) in base ai fattori seguenti:

    • Quantità di tempo di inattività che possono tollerare. Il ripristino più rapido comporta in genere costi maggiori.

    • I tipi di eventi imprevisti a cui gli stakeholder hanno bisogno di protezione e la probabilità che si verifichino. Ad esempio, un errore del server è più probabile di una calamità naturale che influisce su tutti i data center in un'area.

    • Gli effetti dell'indisponibilità del sistema sul proprio business.

    • Il budget delle spese operative (OPEX) per la soluzione a lungo termine.

  • Considerare quali opzioni di servizio ridotte gli utenti possono accettare, ad esempio:

    • Accesso ai dashboard di visualizzazione, anche se i dati non sono aggiornati. In questo scenario, gli utenti possono visualizzare i dati anche se le pipeline di inserimento hanno esito negativo.

    • Accesso in lettura senza funzionalità di scrittura.

  • Gli obiettivi RTO e RPO determinano quale strategia di disaster recovery adottare. Le strategie comuni includono active-active, active-passive e la ridistribuzione in caso di disastro. Considerare anche l'obiettivo del livello di servizio composito (SLO) per tenere conto di tutte le soglie di tempo di inattività tollerabili.

  • Assicurarsi di comprendere tutti i componenti che potrebbero influire sulla disponibilità dei sistemi:

    • Gestione delle identità

    • Topologia di rete

    • Gestione dei segreti e gestione delle chiavi

    • Origini dati

    • Automazione e pianificazione dei processi

    • Repository di codice sorgente e pipeline di distribuzione come GitHub e Azure DevOps

  • Il rilevamento anticipato delle interruzioni può ridurre i valori RTO e RPO. Applicare le procedure seguenti:

    • Definisci che cos'è un'interruzione e come si collega alla definizione di interruzione secondo Microsoft.

    • Implementare un sistema di monitoraggio e avviso con una proprietà chiara in modo che il team riveda tempestivamente le metriche e gli avvisi.

  • Per la progettazione delle sottoscrizioni, un'infrastruttura aggiuntiva per il ripristino di emergenza può risiedere nella sottoscrizione originale. Le offerte PaaS (Platform as a Service) come Azure Data Lake Storage in genere includono funzionalità di failover native. Queste funzionalità supportano istanze secondarie in altre aree mentre rimangono all'interno della sottoscrizione originale. Per ottimizzare i costi, è possibile allocare un gruppo di risorse dedicato esclusivamente per le risorse correlate al ripristino di emergenza.

    • I limiti delle sottoscrizioni possono introdurre vincoli in questo approccio.

    • Questo approccio aggiunge anche complessità di progettazione e richiede controlli di governance per impedire ai team di usare i gruppi di risorse di ripristino di emergenza per i flussi di lavoro di routine.

  • Progettare il flusso di lavoro di ripristino di emergenza in base alla criticità e alle dipendenze di una soluzione. Ad esempio, non tentare di ricompilare un'istanza di Azure Analysis Services prima che il data warehouse sia operativo perché attiva un errore. Lasciare prima i lab di sviluppo per un processo successivo e ripristinare le soluzioni aziendali di base.

  • Eseguire attività di ripristino in parallelo tra soluzioni per ridurre il totale di RTO.

  • Se la tua soluzione utilizza pipeline di Fabric, includere i gateway dati locali nell'ambito. Usare Azure Site Recovery per questi computer.

  • Automatizzare le operazioni di ripristino laddove possibile per ridurre l'errore umano, in particolare per situazioni ad alta pressione.

    • Adottare il provisioning delle risorse tramite Bicep, modelli di Azure Resource Manager (modelli ARM), Terraform o script di PowerShell.

    • Adottare il controllo delle versioni del codice sorgente e della configurazione delle risorse.

    • Usare le pipeline di rilascio CI/CD per l'integrazione continua e la distribuzione continua invece di eseguire manualmente le operazioni.

  • Pianificare il failback e il failover. Documentare le procedure per restituire le operazioni alle istanze primarie dopo il ripristino.

  • Definire indicatori e metriche chiari per verificare che il failover abbia esito positivo e che le soluzioni siano operative. Verificare che le prestazioni tornino alla normalità, note anche come funzionalità primarie.

  • Decidere se i contratti di servizio devono rimanere invariati dopo il failover o se una riduzione temporanea della qualità del servizio è accettabile. La risposta dipende dalla criticità del carico di lavoro. Ad esempio, un sistema di prenotazione sala ha una tolleranza di inattività diversa rispetto a un sistema finanziario o operativo principale.

  • Definire gli obiettivi RTO e RPO a livello di scenario utente anziché a livello di infrastruttura. Le destinazioni basate su scenari semplificano l'identificazione dei processi e dei componenti da classificare in ordine di priorità durante il ripristino.

  • Eseguire i controlli della capacità nell'area di destinazione prima di procedere con un failover. In un disastro maggiore, molti clienti potrebbero tentare di eseguire il failover nella stessa regione abbinata contemporaneamente. Questo scenario può comportare ritardi o contenziosi nell'approvvigionamento delle risorse. Se questi rischi sono inaccettabili, valuta una strategia di disaster recovery o attiva-attiva o attiva-passiva.

  • Creare e mantenere un piano di disaster recovery per documentare il processo di ripristino e i responsabili delle azioni. Assegnare un contatto di backup per ogni ruolo per tenere conto dei membri del team non disponibili.

  • Eseguire normali esercitazioni sul ripristino di emergenza per convalidare il flusso di lavoro del piano di ripristino di emergenza, assicurarsi che soddisfi i requisiti RTO e RPO necessari e formare i team responsabili. Testare regolarmente i dati e i backup di configurazione per verificare che possano supportare il ripristino quando necessario.

  • Collaborare fin dall'inizio con i team responsabili della rete, dell'identità e del provisioning delle risorse per concordare:

    • Reindirizzamento del traffico al sito secondario. Prendere in considerazione strumenti come il reindirizzamento DNS (Domain Name System) o Gestione traffico di Azure.

    • Come concedere l'accesso al sito secondario in modo rapido e sicuro.

  • Durante un'emergenza, comunicare chiaramente con tutte le parti coinvolte per eseguire il piano in modo efficiente. Informare i gruppi seguenti durante il ripristino:

    • Responsabili decisionali
    • Team di risposta agli eventi imprevisti
    • Utenti e team interni interessati
    • Team esterni
  • Coordinare il ripristino delle risorse nella sequenza corretta per ottimizzare l'efficienza.

Antipatterns

Ambito e strategia degli eventi

Ambito degli eventi disastrosi

Diversi eventi hanno ambiti di impatto diversi che richiedono risposte diverse. Il diagramma seguente illustra l'ambito dell'impatto e della risposta per un evento di emergenza.

Diagramma che mostra l'ambito dell'evento e il processo di ripristino.

Il diagramma è denominato Ambito evento di emergenza e ha due parti. A sinistra, sette cerchi concentrici annidati diminuiscono di dimensioni dal più esterno all'interno, che rappresenta un ambito di impatto decrescente. In alto appare un'icona con l'etichetta «evento catastrofico», mentre lungo il bordo sinistro corre una freccia verso il basso con l'etichetta «ambito dell'impatto». Una nota in basso indica che, a seconda della natura dell'evento, si deciderà in quale punto di questo continuum avrà inizio un processo di disaster recovery. Sulla destra è presente una tabella a due colonne con le colonne «ambito dell'evento» e «processo di ripristino». Le righe vanno dall'impatto più ampio a quello più ristretto. Un'interruzione di Internet o della rete elettrica corrisponde al ripristino dei servizi di pubblica utilità. Un'interruzione dei servizi condivisi aziendali corrisponde al ripristino del supporto ai servizi aziendali. Un'interruzione di un servizio, di un'area geografica o di un data center di Azure corrisponde al ripristino da parte di Microsoft. Le mappe offline dei servizi della piattaforma rientrano nel piano di disaster recovery della piattaforma. Un componente della piattaforma offline viene mappato a un subset del piano di ripristino di emergenza della piattaforma o a una risoluzione degli eventi imprevisti del servizio. Una singola soluzione corrisponde al ripristino del piano di disaster recovery della soluzione. Un singolo problema di integrità del set di dati è mappato a un evento imprevisto dei dati. Una parentesi graffa sulla destra indica le righe 4 e 5 come ambito di questo piano di disaster recovery della piattaforma.

Opzioni di strategia DR

Scegli tra quattro strategie DR di alto livello:

  • Attendere Microsoft: la soluzione rimane offline finché Microsoft ripristina i servizi nell'area interessata. Convalidare e aggiornare la soluzione prima di restituirla al servizio.

  • Ridistribuire in caso di emergenza: È possibile ridistribuire manualmente la soluzione da zero in un'area disponibile dopo un'emergenza.

  • Riserva calda (attivo-passivo): Si distribuisce una soluzione secondaria in un'altra area con capacità minima, ma non riceve traffico di produzione. I servizi secondari vengono eseguiti a prestazioni ridotte o rimangono disattivati fino a quando non si verifica un evento di ripristino di emergenza.

  • Riserva a caldo (attivo-attivo): La soluzione viene eseguita in una configurazione attiva-attiva in più aree. Ogni istanza riceve, elabora e fornisce dati come parte del sistema complessivo.

Effetti della strategia DR

Il costo è spesso il fattore decisivo quando si sceglie una strategia di disaster recovery, ma contano anche l’RTO, la complessità del ripristino e l’impatto sui clienti.

Annotazioni

L'ottimizzazione dei costi è uno dei cinque pilastri dell'eccellenza dell'architettura all'interno di Azure Well-Architected Framework. Il suo obiettivo è ridurre le spese non necessarie e migliorare l'efficienza operativa.

La tabella seguente confronta le quattro opzioni per un'interruzione completa Azure a livello di area nell'area primaria che ospita la piattaforma dati Contoso. Verde indica un risultato favorevole per tale fattore. Arancione indica un risultato moderato. Il rosso indica un risultato sfavorevole.

Diagramma che mostra gli effetti dell'interruzione sulle strategie di ripristino di emergenza.

La tabella confronta quattro strategie di ripristino di emergenza tra tre colonne: Strategia, Descrizione e Impatto. Altre cinque colonne mostrano indicatori circolari colorati: velocità di ripristino, complessità di gestione, complessità di implementazione, impatto sui clienti e costi OPEX above-the-line. Il verde indica un risultato favorevole, l'arancione indica un valore moderato, rosso indica un cerchio sfavorevole e un cerchio vuoto indica che non è applicabile. La riga Wait for Microsoft descrive l'attesa di Microsoft per completare il ripristino dei servizi. L'impatto è che la soluzione rimane offline fino a quando Microsoft ripristina l'area e tutti i componenti necessari. La velocità di ripristino è arancione, la complessità per l'esecuzione è vuota, la complessità da implementare è verde, l'impatto per i clienti è rosso e il costo OPEX sopra la riga è verde. La riga Ridispiegamento in caso di disastro descrive il ridispiegamento della soluzione partendo da zero dopo l'evento. L'impatto è che la soluzione rimane offline mentre le attività di failover vengono completate, inclusa l'acquisizione di istanze del componente e la distribuzione della codebase. La velocità di recupero è rossa, la complessità operativa è arancione, la complessità di implementazione è arancione, l'impatto sui clienti è arancione e il costo OPEX above-the-line è arancione. La riga Warm Spare descrive una soluzione secondaria in un'area alternativa con capacità minima che non riceve traffico di produzione. L'impatto consiste in un breve periodo di inattività durante il completamento del failover verso l'area geografica secondaria. La velocità di ripristino è arancione, la complessità operativa è arancione, la complessità di implementazione è rossa, l'impatto sui clienti è verde e il costo OPEX above-the-line è arancione. La riga Hot Spare descrive una configurazione attiva-attiva distribuita tra più regioni in cui tutte le istanze ricevono, elaborano e forniscono i dati. L'impatto è che la soluzione rimane in servizio senza alcun impatto sul cliente dall'interruzione. La velocità di ripristino è verde, la complessità operativa è verde, la complessità di implementazione è rossa, l'impatto sui clienti è vuoto e il costo OPEX above-the-line è rosso.

Chiave di classificazione

Per questo scenario di interruzione, i fattori seguenti determinano l'impatto relativo di ogni strategia di ripristino di emergenza:

  • RTO: Tempo trascorso previsto dall'evento di emergenza al ripristino del servizio della piattaforma

  • Complessità di esecuzione: La complessità per l'organizzazione nello svolgere le attività di ripristino

  • Complessità di implementazione: La complessità per l'organizzazione nell'implementare la strategia di disaster recovery

  • Impatto sui clienti: L'impatto diretto sui clienti del servizio della piattaforma dati derivante dalla strategia di ripristino di emergenza

  • Costo OPEX al di sopra della linea: Il costo aggiuntivo previsto derivante dall'implementazione di questa strategia, ad esempio l'aumento della fatturazione mensile di Azure per componenti aggiuntivi e ulteriori risorse necessarie

Passaggi successivi