Panoramica
L'alta disponibilità è la capacità di un sistema IT di essere accessibile e affidabile per la maggior parte del tempo, con un downtime ridotto al minimo o allo zero. Permette di stabilire se un sistema IT soddisfa il suo livello di efficienza operativa in base a due parametri: se il livello di accessibilità o disponibilità continua di un dato servizio o server è prossimo al 100% e se quel servizio o server è in grado di assicurare le prestazioni previste per un determinato periodo di tempo. Garantire l'alta disponibilità dei sistemi non significa solo soddisfare il livello del servizio (SLA) concordato o le aspettative fissate tra provider di servizi e cliente, bensì offrire sistemi resilienti, affidabili e perfettamente funzionanti.
L'importanza dell'alta disponibilità
L'adozione di servizi online e di carichi di lavoro ibridi ha spinto le organizzazioni a cercare infrastrutture per gestire maggiori carichi sul sistema senza compromettere gli standard operativi. Perché si possa parlare di "alta disponibilità", però, non è sufficiente che l'infrastruttura (detta anche sistema ad alta disponibilità) riscontri un generico miglioramento delle prestazioni: deve soddisfare livelli di uptime definiti e quantificabili.
Uno degli obiettivi per definire una soluzione, o servizio, ad alta disponibilità è la cosiddetta disponibilità a cinque nove, che significa che un sistema funziona senza interruzioni per il 99,999% del tempo. In genere sono solo i sistemi di importanza critica, come quelli dei servizi finanziari, governativi o sanitari, a necessitare di un livello di disponibilità così elevato per assicurare la conformità e la competitività dell'azienda. Sono comunque moltissime le organizzazioni che hanno bisogno di sistemi ad alta disponibilità con uptime del 99,9% o addirittura del 99,99% per poter ad esempio garantire sempre l'accesso digitale ai loro clienti o per consentire ai dipendenti di lavorare in smart working.
Risorse da Red Hat
Come funziona l'alta disponibilità?
L'alta disponibilità di un'infrastruttura dipende dal rilevamento e dall'eliminazione dei singoli punti di vulnerabilità che aumentano i tempi di fermo dei sistemi e impediscono alle organizzazioni di raggiungere le prestazioni previste. Un singolo punto di vulnerabilità è un aspetto dell'infrastruttura che può compromettere il funzionamento dell'intero sistema e nei sistemi complessi ci possono essere molteplici singoli punti di vulnerabilità.
Le organizzazioni devono anche tenere conto dei diversi tipi di errore che possono verificarsi nelle infrastrutture IT moderne e complesse. Gli errori possono riguardare i componenti hardware, quelli software (il sistema operativo ma anche le applicazioni in esecuzione), i servizi (come l'inaccessibilità alla rete, la latenza, i problemi con i servizi cloud o i rallentamenti), ma possono anche essere guasti esterni, come le interruzioni di corrente.
Per raggiungere l'alta disponibilità, il primo passo da compiere è stabilire quali sono i risultati specifici che si vogliono ottenere in base ai servizi principali dell'organizzazione, ai requisiti normativi o di conformità e dei carichi di lavoro, ai benchmark delle prestazioni, alle applicazioni critiche e alle priorità operative:
- Quali sono i requisiti di uptime per garantire la conformità alle normative vigenti o per assicurare all'utente un'esperienza ottimale?
- L'ambiente è altamente distribuito? Quali sono i punti di vulnerabilità principali?
- Qual è il livello di prestazioni richiesto dall'applicazione? Quali sono i rischi collegati a un tale livello di prestazioni delle applicazioni (ad esempio un elevato traffico di utenti o carichi di scrittura importanti)?
- Che tipo di storage utilizza l'organizzazione?
- Quali sono i requisiti per quanto riguarda la perdita di dati o l'accesso ai dati?
- Considerando le risorse IT attualmente in uso, quale tipo di SLA è possibile garantire in caso di malfunzionamenti? Qual è il calendario delle manutenzioni e in che modo influisce sull'operatività?
- L'organizzazione ha previsto scenari di ripristino di emergenza o cambiamenti nelle operazioni aziendali?
Esistono poi tutta una serie di metriche che i team IT possono usare per valutare se la loro architettura ad alta disponibilità soddisfa le aspettative. Non tutti i valori elencati di seguito sono ugualmente rilevanti per il tuo caso specifico, ma è consigliabile prenderli in esame tutti per stabilire le aspettative di base:
- Tempo medio fra i guasti (MTBF): quanto tempo intercorre tra un errore di sistema e il successivo.
- Tempo medio di indisponibilità: per quanto tempo il sistema resta inattivo (minuti di indisponibilità) prima di essere ripristinato o sostituito nella topologia.
- Recovery Time Objective (RTO): il tempo totale richiesto per risolvere un guasto e riportare il sistema online.
- Recovery Point Objective (RPO): il periodo di tempo durante il quale è necessario recuperare i dati. Si tratta della finestra in cui possono verificarsi perdite di dati. Ad esempio, se un sistema prevede il trasferimento dal backup a un altro sistema e i backup vengono eseguiti quotidianamente, in caso di malfunzionamenti potrebbero esserci fino a 24 ore di dati persi nel sistema ripristinato. Tuttavia, predisponendo un tipo di storage basato su repliche o condiviso, la perdita di dati potrebbe ridursi a pochi minuti o anche meno.
Alta disponibilità e ripristino di emergenza
Le architetture ad alta disponibilità incorporano principi da tutti i livelli del piano di continuità operativa, come il monitoraggio e l'automazione. Ciò consente all'intero sistema di essere resiliente a tutti i tipi di guasti, da quelli locali e specifici alle interruzioni globali. Permette inoltre di mantenere operativo il sistema, anche con finestre di manutenzione pianificate e altre interruzioni del servizio.
Un ripristino di emergenza o piano di continuità operativa prevede un approccio per ogni possibile malfunzionamento:
- Anticipare malfunzionamenti specifici: gli architetti IT verificano che i sistemi dell'organizzazione siano ridondanti e che i sistemi di backup siano disponibili in caso di guasti. Si occupano poi di automatizzare i processi di failover e di rilevamento degli errori per individuare in automatico i sistemi danneggiati e spostare tempestivamente i servizi sul sistema di backup.
- Gestire le prestazioni in maniera proattiva: la tolleranza di errore risponde ai guasti, ma non si occupa di porre rimedio ai rallentamenti nelle prestazioni, per cui servono strumenti quali bilanciamento del carico e scalabilità. In questo caso gli architetti IT monitorano le prestazioni del sistema e usano più sistemi per gestire le operazioni e le richieste dei clienti. I servizi di bilanciamento del carico e la gestione del traffico sono in grado di indirizzare il traffico in tempo reale in base alla larghezza di banda, alle prestazioni dei sistemi, al tipo di utente e al tipo di richiesta.
- Gestire gli eventi dannosi: i malfunzionamenti che intaccano ampie porzioni dell'infrastruttura, come l'arresto di un servizio cloud o una calamità naturale nell'area di un datacenter, sono rari, ma quando si verificano richiedono un approccio più globale rispetto ai guasti dei singoli componenti hardware/software. Oltre a riportare l'infrastruttura online, è necessario disporre di dati aggiornati. Questo si può fare in modo sincrono tramite la replica (con qualche rischio per le prestazioni) o in modo asincrono tramite il backup dei dati (con possibili perdite di dati).
Cosa sono i cluster ad alta disponibilità?
Le architetture ad alta disponibilità eseguono cluster di failover attivi in modo da avere ridondanza e failover integrati, nonché, possibilmente, nessun tempo di fermo. All'interno del cluster viene monitorata non solo la disponibilità dei nodi ma vengono controllate anche le prestazioni delle applicazioni, dei servizi e della rete. Adottando una tipologia di storage condiviso, in cui tutti i nodi del cluster lavorano a partire dalla stessa sorgente di dati, se uno dei nodi dovesse arrestarsi, non si verificherebbe alcuna perdita di dati. Inoltre, è possibile usare il bilanciamento del carico per gestire al meglio il traffico e migliorare le prestazioni.
A parte queste caratteristiche generali, è possibile progettare cluster ad alta disponibilità per attività specifiche a seconda delle priorità e delle attività all'interno dell'infrastruttura IT. Ad esempio Red Hat Enterprise Linux High Availability Add-On prevede quattro configurazioni predefinite:
- Alta disponibilità: si concentra su uptime e disponibilità
- Prestazioni elevate: servono a ottenere velocità e operazioni simultanee
- Bilanciamento del carico: garantisce scalabilità a costi contenuti
- Storage: offre una gestione dei dati resiliente
Nella realtà i sistemi ad alta disponibilità coniugano aspetti di tutte e quattro le configurazioni.
Trovo buono il processo di patching e anche il fatto che Red Hat Enterprise Linux abbia elementi già impostati. Non mi è mai successo che il processo si interrompesse, nemmeno durante l'installazione di mille pacchetti alla volta.
Le soluzioni Red Hat per l'alta disponibilità
L'alta disponibilità interessa l'intera infrastruttura IT. Occorre infatti tenerne conto nei diversi ambienti, sia cloud che fisici, utilizzati per la gestione dei dati e lo storage oltre che nelle svariate ubicazioni dei servizi e delle applicazioni. Ecco perché disporre di una piattaforma comune e un ambiente operativo standard, che offrono coerenza indipendentemente dall'ambiente di deployment, diventa essenziale per assicurare l'alta disponibilità.
Red Hat Enterprise Linux offre funzionalità e servizi aggiuntivi che si possono includere come pacchetto add-on. Red Hat Enterprise Linux High Availability Add-on aiuta a gestire aspetti della topologia quali rete, cluster e storage.
Dato lo stretto legame fra alta disponibilità e gestione dei dati, i deployment di Red Hat Enterprise Linux per Microsoft SQL Server e SAP comprendono anche Red Hat Enterprise Linux High Availability Add-on.
Il blog ufficiale di Red Hat
Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.