Panoramica
L'alta disponibilità permette di stabilire se un sistema 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 in ambienti ibridi ha spinto le organizzazioni a cercare infrastrutture capaci di gestire maggiori carichi sul sistema senza compromettere gli standard operativi. Perché si possa parlare di "alta disponibilità" però non è sufficiente che l'infrastruttura riscontri un generico miglioramento delle prestazioni, deve soddisfare livelli di uptime definiti e quantificabili.
Uno degli obiettivi per definire una soluzione ad alta disponibilità è la cosiddetta disponibilità a cinque nove: il che significa che un sistema funziona senza interruzioni per il 99,999% del tempo. In genere sono solo i sistemi chiave, 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 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.
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 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 un'interruzione 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 e di conformità, ai benchmark delle prestazioni 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 (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 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): la frequenza con cui l'organizzazione esegue backup e snapshot dei dati permanenti e quindi la quantità di dati che andrebbe persa in caso di guasti improvvisi. 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. Questo assicura la resilienza del sistema a qualunque tipo di errore, dai malfunzionamenti locali ai guasti generali, e garantisce l'operatività del sistema generale anche durante i periodi di manutenzione programmati o 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 predispongono i sistemi di backup che saranno disponibili in caso di guasti. Si occupano poi di automatizzare i processi di failover per rilevare 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 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 tramite la replica (eseguita in modo sincrono ma con qualche rischio per le prestazioni) o il backup dei dati (eseguito in modo asincrono ma con possibili perdite di dati).
Cosa sono i cluster ad alta disponibilità?
Le architetture ad alta disponibilità eseguono cluster attivi in modo da avere ridondanza e failover integrati. 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 dallo stesso datasource, 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.
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.