emporia

È sempre Santosh Janardhan, vice presidente per l’infrastruttura di Facebook, a firmare la spiegazione ufficiale e dettagliata che fa luce sui motivi del blocco totale del 4 ottobre. In poche parole, i server che fanno “girare” il social network e le altre piattaforme hanno individuato un comportamento anomalo e sono andati in auto protezione. Una trama da serie Tv anni ’80, nel quale l’intelligenza artificiale suddivisa in varie “torri” di server si è difesa da un attacco imprevisto ma inesistente. E, seguendo la medesima trama, ha iniziato a colpire gli umani: nel vero senso della parola, togliendo loro la possibilità di accedere a Facebook, Whatsapp e Instagram. E a tutti i servizi a essi collegati, da Oculus alle app che si affidano, per esempio, a Facebook per autenticare l’accesso ai servizi.

Sì, ok, poi entrando nel dettaglio si entra nei meandri di Dns (ma non è l’unica e la sola spiegazione) e dei protocolli di instradamento dei dati (Bgp). Il fatto è uno solo, come spiega Janardhan: “Ora che le nostre piattaforme sono attive e funzionanti come al solito (…) ho pensato che valesse la pena condividere un po’ più di dettagli su cosa è successo e perché e, soprattutto, come ne stiamo imparando”. 

Un’interruzione derivata da un blocco totale del sistema Facebook

L’interruzione è stata provocata dal sistema che gestisce la rete globale di Facebook. La spina dorsale è la rete che la piattaforma ha costruito per connettere tutte le strutture informatiche, “che consiste in decine di migliaia di chilometri di cavi in ​​fibra ottica che attraversano il mondo e collegano tutti i nostri data center”.

Questi data center sono disponibili in diverse forme. Alcuni sono enormi edifici che ospitano milioni di macchine che archiviano dati ed eseguono i pesanti carichi computazionali che mantengono in funzione le piattaforme. Altri sono strutture più piccole che collegano la rete dorsale a Internet a banda larga e alle persone che utilizzano le piattaforme. ù

Dice il vice presidente: “Quando apri una delle nostre app e carichi il feed o i messaggi, la richiesta di dati dell’app viaggia dal tuo dispositivo alla struttura più vicina, che quindi comunica direttamente tramite la nostra rete dorsale a un data center più grande. È qui che le informazioni necessarie per la tua app vengono recuperate ed elaborate e reinviate attraverso la rete al tuo telefono. Il traffico dati tra tutte queste strutture informatiche è gestito da router, che determinano dove inviare tutti i dati in entrata e in uscita. E nell’ampio lavoro quotidiano di manutenzione di questa infrastruttura, i nostri ingegneri hanno spesso bisogno di prendere parte della dorsale offline per la manutenzione, ad esempio riparando una linea in fibra, aggiungendo più capacità o aggiornando il software sul router stesso”.

Questa è stata la fonte dell’interruzione del 4 ottobre. Durante uno di questi lavori di manutenzione ordinaria, è stato emesso un comando con l’intenzione di valutare la disponibilità della capacità del backbone globale, che ha involontariamente interrotto tutte le connessioni nella rete backbone, disconnettendo di fatto i data center di Facebook a livello globale. DiceJanardhan: “I nostri sistemi sono progettati per controllare comandi come questi per prevenire errori come questo, ma un bug in quello strumento di controllo ha impedito di interrompere correttamente il comando. Questa modifica ha causato una completa disconnessione delle nostre connessioni server tra i nostri data center e Internet. E quella perdita totale di connessione ha causato un secondo problema che ha peggiorato le cose”.  

Dal Dns al Bgp, quando la goccia sgretola la montagna

ContinuaJanardhan: “Uno dei compiti svolti dalle nostre strutture più piccole è rispondere alle query Dns. Il Dns è la rubrica di Internet, che consente di tradurre i semplici nomi Web che digitiamo nei browser in indirizzi IP di server specifici. Queste query di traduzione ricevono risposta dai nostri server dei nomi autorevoli che occupano essi stessi indirizzi IP ben noti, che a loro volta sono pubblicizzati nel resto di Internet tramite un altro protocollo chiamato Border Gateway Protocol (Bgp)”. 

Per garantire un funzionamento affidabile, i server Dns di Facebook disabilitano i Bgp se non possono dialogare con i data center, poiché questa è un’indicazione di una connessione di rete “malsana”. Nella recente interruzione l’intera dorsale è stata rimossa dal funzionamento, facendo sì che queste sedi si dichiarassero “malsane” e ritirassero l’utilizzo dei protocolli Bgp. Il risultato finale è stato che i nostri server Dns sono diventati irraggiungibili anche se erano ancora operativi. Ciò ha reso impossibile per il resto di Internet trovare i nostri server. 

SecondoJanardhan “tutto questo è successo molto velocemente. E mentre i nostri ingegneri lavoravano per capire cosa stava succedendo e perché, hanno dovuto affrontare due grandi ostacoli: primo, non è stato possibile accedere ai nostri data center con i nostri normali mezzi perché le loro reti non funzionavano, e secondo, la perdita totale del Dns si è interrotta molti degli strumenti interni che normalmente utilizzeremmo per indagare e risolvere interruzioni come questa”. 

Facebook, dai backup alla ridondanza che si sono persi nell’etere

SpiegaJanardhan: “Il nostro accesso alla rete principale e fuori banda non era disponibile, quindi abbiamo inviato tecnici in loco ai data center per eseguire il debug del problema e riavviare i sistemi. Ma questo ha richiesto tempo, perché queste strutture sono progettate pensando ad alti livelli di sicurezza fisica e di sistema. È difficile accedervi e, una volta dentro, l’hardware e i router sono progettati per essere difficili da modificare anche quando si ha accesso fisico ad essi. Quindi ci è voluto più tempo per attivare i protocolli di accesso sicuro necessari per far sì che le persone in loco e in grado di lavorare sui server. Solo allora potremmo confermare il problema e riportare online la nostra spina dorsale”. 

Una volta ripristinata la connettività di rete della dorsale nelle regioni dei nostri data center, tutto è tornato a funzionare correttamente. Ma il problema non era finito: Facebook era a conoscenza del fatto che riattivare i servizi tutti in una sola volta avrebbe potuto potenzialmente causare un nuovo ciclo di arresti anomali a causa di un aumento del traffico. I singoli data center segnalavano cali nell’utilizzo di energia nell’intervallo di decine di megawatt e l’inversione improvvisa di un tale calo nel consumo di energia avrebbe potuto mettere a rischio qualsiasi cosa, dai sistemi elettrici alle cache.   

A fronte di questa eventualità,Janardhan si è dichiarato “fortunato: “Per fortuna, questo è un evento per il quale siamo ben preparati grazie alle esercitazioni ‘tempesta’ che stiamo conducendo da molto tempo. In un’esercitazione di tempesta, simuliamo un grave guasto del sistema mettendo offline un servizio, un data center o un’intera regione, sottoponendo a stress test tutte le infrastrutture e il software coinvolti. L’esperienza di queste esercitazioni ci ha dato la sicurezza e l’esperienza per riportare le cose online e gestire con attenzione i carichi crescenti. Alla fine, i nostri servizi sono stati ripristinati in tempi relativamente brevi senza ulteriori errori a livello di sistema. E anche se in precedenza non abbiamo mai eseguito una tempesta che simulasse la messa offline della nostra spina dorsale globale, cercheremo sicuramente modi per simulare eventi come questo andando avanti”.  

Non solo Facebook: una storia che insegna a non avere paura degli errori

ConcludeJanardhan: “Ogni fallimento come questo è un’opportunità per imparare e migliorare, e abbiamo molto da imparare da questo. Dopo ogni problema, piccolo e grande, eseguiamo un ampio processo di revisione per capire come possiamo rendere i nostri sistemi più resilienti. Quel processo è già in corso”.  

“Abbiamo svolto un ampio lavoro di rafforzamento dei nostri sistemi per impedire l’accesso non autorizzato ed è stato interessante vedere come tale protezione ci abbia rallentato mentre cercavamo di riprenderci da un’interruzione causata non da attività dannose, ma da un nostro errore. Credo che valga la pena un compromesso come questo: maggiore sicurezza quotidiana rispetto a un recupero più lento da un evento, si spera raro, come questo. Da qui in poi, il nostro compito è rafforzare i nostri test, esercitazioni e resilienza generale per assicurarci che eventi come questo accadano il più raramente possibile”.