Una raccomandazione per contrastare i SPOF è quella di creare ridondanze. Diverse istanze di un componente critico (ad esempio alimentazione, connessione di rete, server DNS) vengono gestite in parallelo. Se uno di essi si guasta, il sistema continua a funzionare senza che si verifichino cali delle prestazioni.
La ridondanza impedisce anche molti SPOF sul lato software. Un esempio sono i famosi microservizi rispetto ai software monoliti. Un sistema di microservizi è disaccoppiato e meno complesso, il che lo rende più robusto contro i SPOF. Inoltre, poiché i microservizi vengono avviati come contenitori, è più facile creare ridondanze.
Come fa esattamente la ridondanza a proteggere un sistema? Utilizziamo la stima dell’affidabilità di un sistema nota come “legge di Lusser” per illustrarlo. Di seguito riportiamo un esempio:
Supponiamo che un sistema abbia due connessioni indipendenti e parallele a un alimentatore. Supponiamo inoltre che la probabilità che il collegamento si guasti in un determinato periodo sia dell’1%. La probabilità di guasto completo del collegamento di alimentazione può essere calcolata come il prodotto delle probabilità:
- Probabilità di fallimento di un’istanza:
1% = 1 / 100 = 1 / 10 ^ 2 = 0,01
- Probabilità di fallimento di due istanze in successione:
1% * 1% = (1 / 10 ^ 2) ^ 2 = 1 / 10 ^ 4 = 0,0001
Come si può vedere, la probabilità di un SPOF non si dimezza quando si eseguono due istanze, ma si riduce di due dimensioni. Si tratta di un miglioramento considerevole. Con tre istanze in esecuzione in parallelo, un guasto dell’intero sistema dovrebbe essere quasi impossibile.
Purtroppo, la ridondanza non è una panacea. Piuttosto, questo metodo protegge un sistema dai SPOF entro certi limiti. In primo luogo, la probabilità di guasto di un’istanza deve essere indipendente dalla probabilità di guasto dell’istanza o delle istanze ridondanti. Questo non è il caso in cui il guasto è causato da un evento esterno. Se un data center va a fuoco, i componenti ridondanti si guastano insieme.
Oltre alla ridondanza dei componenti distribuiti, la distribuzione di alcuni componenti è fondamentale per mitigare i SPOF. La distribuzione geografica dell’infrastruttura di archiviazione dati e di calcolo protegge dai disastri ambientali. Inoltre, è utile cercare di ottenere una certa eterogeneità o diversità dei componenti critici del sistema. La diversità riduce la probabilità che le istanze ridondanti si guastino.
Illustriamo il vantaggio della diversità usando la ((sicurezza informatica|server/sicherheit/was-ist-cybersicherheit/)) come esempio. Immaginate un data center con load balancer ridondanti dello stesso tipo. Una vulnerabilità di sicurezza in uno dei load balancer si presenta anche nelle istanze ridondanti. Nel peggiore dei casi, un attacco paralizzerà tutte le istanze. Utilizzando modelli diversi, l’intero sistema ha maggiori possibilità di continuare a funzionare a prestazioni ridotte.