Server e reti: differenza fra alta affidabilità e sistemi tradizionali

Server e reti: differenza fra alta affidabilità e sistemi tradizionali

Alta affidabilità, o High Availability (HA) è un termine che indica un’infrastruttura informatica, connessa in una rete, che fornisca il massimo del potenziale uptime e accessibilità ai dati contenuti nel sistema.

Nonostante un sistema tradizionale possa essere perfettamente in grado di servire quantità di utenti elevate, potrebbe contenere al suo interno quello che viene comunemente chiamato “single point of failure” ossia un componente del sistema stesso il cui malfunzionamento comprometta l’intera infrastruttura, al punto di mandarla in down.

I sistemi ad alta affidabilità evitando questo problema eliminando i single points of failure ed evitando quindi che un singolo problema vada ad inficiare il funzionamento dell’intero sistema.

Cosa non è l’alta affidabilità

Pur disponendo di un sistema ad high availability, ciò non significa che il sistema o l’applicazione non andrà mai offline.

Nonostante preveda dei meccanismi di backup, e punti al 99.999% di uptime, nessun sistema è perfetto: la disponibilità dipenderà comunque dal numero di componenti, dalla loro configurazione e dalle risorse allocate ad ogni componente.

Ciononostante, un sistema ad alta affidabilità può essere scalato orizzontalmente quando necessario, aumentando la sua abilità nel distribuire contenuti.

Come funziona l’high availability

Per creare un sistema ad alta affidabilità, devono essere presenti tre caratteristiche:

  1. Ridondanza
  2. Monitoraggio
  3. Failover 

In generale, un sistema ad alta affidabilità funziona avendo a disposizione più componenti di quelle strettamente necessarie, eseguendo continui check dello stato generale del sistema, e, nel caso una di queste componenti vada offline, sostituendola con un’altra funzionante.

Ridondanza

In informatica, ridondanza sta ad indicare la presenza di più componenti adatte ad eseguire lo stesso compito.

Questo elimina il problema del single point of failure permettendo ad un secondo server, ad esempio, di prendere il controllo nel caso quello principale vada offline o venga disabilitato.

In un sistema tradizionale, l’intera infrastruttura verrebbe invece compromessa.

Un aspetto importante di questa tecnica è la replicazione: per far si che tutte le componenti ridondanti siano pronte in qualsiasi momento a subentrare nel caso di malfunzionamenti, i dati devono essere continuamente sincronizzati fra loro, in maniera che dispongano sempre delle stesse informazioni.

Monitoraggio e failover

In un high availability setup, il sistema deve essere in grado di monitorare se stesso per identificare eventuali malfunzionamenti.

Questo comporta check periodici per assicureare che tutti i componenti lavorino correttamente.

Per failover si intende invece il processo per il quale un componente secondario diventa primario quando il monitoraggio rileva che un componente primario è inattivo o compromesso.

In un sistema tradizionale, nel quale ad esempio sia presente un sito web, quando il server principale smette di funzionare il sito web risulterà non più raggiungibile.

In un sistema ad alta affidabilità, grazie al monitoraggio continuo, il sistema rileverà la non disponibilità della risorsa primaria e automaticamente effettuerà il failover alla componente secondaria, mantenendo il sito web raggiungibile.

Perchè scegliere un sistema ad alta affidabilità

Come abbiamo visto, optando per l’high availability si avrà la sicurezza di mantenere la propria infrastruttura informatica disponibile per una percentuale di tempo assolutamente superiore rispetto ad un sistema tradizionale, e in più non vi sarà bisogno di monitorare costantemente i server, i quali si occuperanno di questo task in maniera automatizzata e trasparente.

Nel mondo business, i periodi nei quali la struttura informatica è inattiva corrispondono spesso a perdite economiche, a volte anche rilevanti.

Affidarsi ad un sistema ad alta affidabilità equivale dunque alla sicurezza di avere sempre le risorse a disposizione, e di conseguenza di poter proseguire il proprio business a prescindere da malfunzionamenti e down di rete.