Amazon ha pubblicato un dettagliato resoconto sugli eventi verificatesi lo scorso week end che hanno causato l’interruzione dei servizi offerti da Netflix, Instagram e Pinterest, in seguito ad una violenta tempesta che ha colpito il nord della Virginia. Oltre alla mancanza di elettricità, la piattaforma cloud AWS ha incontrato infatti vari problemi, successivi ai 10 minuti di blackout, e dovuti al riavvio dei server.
I data center che formano l’infrastruttura degli Amazon Web Services utilizzano un sistema di alimentazione a doppio backup. Quando si verifica un’interruzione di corrente o un picco di tensione, come quello di venerdì 29 giugno, entrano in funzione prima i generatori di corrente e, in caso di fallimento, gli UPS collegati ai server. A causa di una serie di eventi sfortunati, un data center è rimasto senza alimentazione per 10 minuti, in quanto il generatore non ha fornito una tensione stabile e gli UPS si sono esauriti in poco tempo. Questi 10 minuti sono stati l’inizio dei problemi per Amazon.
Le istanze EC2 (Elastic Compute Cloud) sono tornate online solo molte ore dopo, a causa di un collo di bottiglia individuato nel processo di boot dei server. I volumi di storage EBS (Elastic Block Store) sono stati attivati un’ora dopo, ma l’interruzione di corrente si è verificata durante la scrittura dei dati, per cui i volumi erano in uno stato inconsistente. Per il loro ripristino mediante le copie di backup sono state necessarie altre tre ore.
Come se ciò non bastasse, un bug inatteso ha colpito le istanze ELB (Elastic Load Balancer) che distribuiscono tra le diverse istanze EC2 il traffico diretto ad un indirizzo IP. Durante l’interruzione di corrente, gli ELB hanno iniziato a distribuire il carico tra i server. Quando il data center è tornato online, il bug ha attivato la procedura che permette di aumentare la dimensione delle istanze, causando un sovraccarico di tutta l’infrastruttura cloud e rallentando quindi le richieste provenienti dai browser degli utenti. Un altro bug software ha impedito anche il ripristino automatico dei backup di alcuni database, effettuato dalle istanze Relational Database Service (RDS), per i quali si è reso necessario un intervento manuale.
La quiete dopo la tempesta è iniziata soltanto molte ore più tardi, costringendo ancora una volta ad una riflessione sull’attuale consistenza della “nuvola” ed ai servizi che vi affidano i propri codici.