Vai al paragrafo

Cos'è l'alta disponibilità?

Copia URL

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'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.

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.

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).

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.

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.