Martedì scorso si è verificato un problema a livello globale che ha impedito la corretta erogazione dei servizi offerti da migliaia di siti web.
Anche realtà come Amazon, Spotify, Reddit e molte altre hanno cessato di funzionare per circa 40 minuti quando in Italia era già tarda mattinata: lato client gli utenti hanno assistito alla comparsa di errori 5xx o di messaggi che indicavano l’impossibilità di stabilire una connessione con il servizio richiesto.
Quanto accaduto ha mostrato ancora una volta quanto l’intera infrastruttura sulla quale si sorregge la rete Internet sia delicata.
Tutti i siti web divenuti improvvisamente irraggiungibili avevano qualcosa in comune ovvero si appoggiavano a Fastly.
Insieme con Cloudflare e Akamai, Fastly è uno dei servizi più noti che aiutano gli amministratori di siti web a velocizzare il caricamento delle loro pagine.
La piattaforma cloud di Fastly include anche una CDN (Content Delivery Network) che siti di tutto il mondo usano per ottimizzare l’erogazione delle pagine web.
Una CDN è un sistema distribuito che consente di erogare i contenuti richiesti dagli utenti finali attraverso server fisicamente il più vicini possibile ai loro dispositivi. Uno schema del genere consente di massimizzare le performance e ridurre la latenza: anziché percorrere migliaia di chilometri lungo le dorsali Internet e i rami della rete più periferici per arrivare a destinazione, grazie alle CDN i pacchetti dati si muovono su tratti molto più brevi. In questo modo le esperienze di streaming audio-video ne risultano notevolmente ottimizzate anche se l’efficacia della soluzione è palese anche consultando le pagine web di oggi, sempre più ricche di contenuti.
Alcuni servizi migliorano il caricamento degli script contenuti nelle pagine, ottimizzano le immagini pubblicate e in generale usano sistemi di caching che permettono di ridurre il carico di lavoro sui server dei clienti e di ottimizzare allo stesso tempo la banda di rete impegnata.
Fastly è intervenuta rapidamente per risolvere il problema tanto che dopo 49 minuti dall’incidente il 95% dei siti web dei clienti era tornato regolarmente raggiungibile.
Nick Rockwell, Senior Vice President of Engineering and Infrastructure di Fastly, ha spiegato quest’oggi il motivo dell’outage globale rivelando che un solo cliente ha reso irraggiungibili migliaia di siti.
Sembra incredibile ma una variazione applicata alla configurazione di rete da parte di un unico utente di Fastly ha provocato il problema su scala mondiale del quale tanto si è parlato in questi giorni.
“Il 12 maggio scorso abbiamo applicato alcune modifiche software introducendo un bug che avrebbe potuto essere innescato in circostanze molto specifiche. L’8 giugno un cliente ha richiesto una modifica alla configurazione dei suoi servizi che hanno innescato il bug e causato problemi sull’85% della nostra rete“, ha osservato Rockwell.
L’aggiornamento pubblicato da Fastly ha sollevato nuove preoccupazioni circa la resilienza di Internet e in particolare la dipendenza da una manciata di aziende per gestire ampie porzioni dell’infrastruttura utilizzata da siti web, servizi e piattaforme online.
Bug vengono quotidianamente scoperti in tutti i software dal momento che non è realistico testare tutte le configurazioni possibili prima di distribuire una nuova versione delle applicazioni.
Grazie alla scalabilità che assicurano le principali soluzioni cloud le aziende si sono abituate alla resilienza di tali piattaforme. Quando però si incontra un problema di configurazione a livello di piattaforma, a causa di un bug non emerso durante il controllo di qualità, ci si può ritrovare in uno scenario come quello in cui si sono ritrovati migliaia di clienti Fastly.
Fastly ha reagito bene e soprattutto molto velocemente ma quali e quante realtà di alto profilo sono rimaste coinvolte nell’incidente è sotto gli occhi di tutti.
L’azienda ha precisato che investigherà sulle pratiche di rilascio degli aggiornamenti software interni in modo da determinare come il bug è stato in grado di sfuggire alle verifiche effettuate a più livelli.