giovedì 2 marzo 2017

Aggiornamento: il fattore umano

Questo post riporta alcuni aggiornamenti (follow-up) rispetto al precedente post, che prendeva spunto dall'episodio di malfunzionamento dei servizi Amazon S3.

In un articolo abbastanza esauriente, Amazon rivela le cause e i meccanismi che hanno portato al malfunzionamento.

In estrema sintesi, un comando attivato per risolvere ben più lievi problemi (fatturazione), usato in modo improprio ha disattivato alcuni elementi critici per il funzionamento di tutto il sistema Amazon S3 della zona Nord America (che in sostanza è un servizio di cloud storage, spazio disco distribuito).

Le lezioni principali che ci sentiamo di trarre da questa vicenda sono le seguenti:

  • mai sottovalutare i single point of failure (SPOF) di un sistema complesso: in questo caso, ben due funzioni critiche (index subsystem e allocation s.) erano state affidate ad altrettanti blocchi monolitici all'interno del sistema stesso
  • mai fidarsi del fatto che la quantità di dati trattati non introduca ulteriori problemi in maniera più che lineare: far ripartire i due citati sottosistemi, che non erano finora mai stati spenti, con tutta la mole di dati accumulati in questo tempo non è stato facile, e soprattutto ha impiegato più tempo del previsto
  • mai sottovalutare le interrelazioni fra le singole parti di un sistema complesso: il fatto che l'allocation subsystem per ripartire avesse bisogno dell'index subsystem funzionante ha peggiorato ulteriormente la situazione
Naturalmente, per ottenere una soluzione strutturale a questo genere di problemi Amazon ha dovuto rivedere la pianificazione di quelle attività di ottimizzazione dell'architettura (e parziale re-ingegnerizzazione) che erano state già previste ma non erano finora considerate urgenti.

Le correzioni immediate agli strumenti in uso erano naturalmente "comprese nel prezzo" pagato per questo incident, come facevamo già rilevare nel precedente articolo.

Un'ultima nota a proposito delle prospettive illusorie di un certo marketing d'assalto: ho sentito teorizzare che questo incident capitato ad Amazon avrebbe aiutato la concorrenza a piazzare meglio la sua soluzione di cloud storage. Secondo me è una boiata pazzesca* tenendo conto che le tecnologie, le architetture, le organizzazioni sottostanti ai sistemi cloud dei diversi fornitori sono sostanzialmente equivalenti: se fosse così facile essere al riparo da quegli imprevisti imprevedibili che sono gli errori umani, sarebbe un bel vantaggio competitivo da far valere prima che la concorrenza cada in un incident.


(*) cit. Fantozzi