TL; DR : Chaos Monkey è stato sviluppato nel 2010 su Netflix e rilasciato in libertà nel 2012 fa parte dell'esercito di Simian , popolarissimo tra i seguaci devoti . Basato sui principi dell'ingegneria del caos , l'esercito aumenta la resilienza al fallimento iniettando un fallimento costante al sistema.
Concetto
Chaos Monkey è stato sviluppato appositamente per AWS dove ucciderà casualmente le istanze all'interno di un gruppo di ridimensionamento automatico. È progettato per funzionare durante l'orario di lavoro quando gli ingegneri sono in allerta e possono reagire rapidamente ai guasti rilevati.
Esercito di Simian
I membri dell'esercito seminerebbero il caos con altri mezzi:
Altre scimmie sono utili e rimuovono i membri deboli del branco:
Conformity Monkey chiude le istanze che non seguono le migliori pratiche.
Sicurezza Monkey cerca vulnerabilità di sicurezza note nella configurazione e nei servizi.
Il dottor Monkey chiude i casi malsani non conformi a determinate metriche.
Janitor Monkey cerca risorse inutilizzate da recuperare.
Il fallimento è inevitabile
Il fallimento nel sistema è inevitabile, qualcosa andrà sempre storto . Potresti non essere in grado di scegliere cosa, ma puoi provare a scegliere quando. Introducendo piccoli errori nel corso della giornata, garantisci la presenza dei tuoi ingegneri. Uccidendo rapidamente i servizi non conformi, ci si assicura che gli errori si verifichino spesso prima della distribuzione. Rendendo l'ambiente più contraddittorio, si garantisce che saranno gli sviluppatori a incorrere in problemi molto prima che qualsiasi servizio entri in produzione. I fallimenti saranno presto evidenti nella fase di integrazione di nuovi servizi con quelli vecchi, ma va bene, perché i vecchi servizi di produzione sono già resilienti.
Bestiame non animali domestici
Tutti te lo diranno di recente: non trattare i tuoi server come animali domestici . C'è un potere nei numeri e ogni singolo punto di errore farà cadere il sistema. Non importa quanto bene sia possibile ottimizzare e ottimizzare il server, non importa quanto hardware robusto si possa ottenere, quanto può gestire, non sarà mai una corrispondenza per un branco di piccole istanze scalabili. Chaos Monkey ti incoraggia a pensare a rimuovere tutti i punti di fallimento, perché prima o poi arriverà la Scimmia! Tutti falliscono e anche l'Amazon S3 ha avuto un'interruzione imprevedibile .
Anti-Fragile
Quindi qual è la teoria e perché funziona? Nassim Nicholas Taleb nel suo libro Antifragile descrive un concetto in cui i sistemi autocoscienti viventi trarranno beneficio da un piccolo livello di casualità e diventeranno effettivamente migliori di fronte alle avversità. Questo è simile alla ricottura.
Descrive anche un modo evolutivo, in cui la fragilità delle parti in un sistema si sta trasferendo nell'antifragilità del tutto . Il trasferimento avviene su due livelli:
A parte piccole variazioni casuali - gli sviluppatori apportano modifiche - le soluzioni più adatte all'ambiente sopravvivranno e si propagheranno - supereranno i test e verranno implementate . Ciclo di vita di sviluppo standard .
In caso di guasto di parti che non sono in grado di resistere a un livello più elevato di casualità nell'ambiente, le parti rimanenti che sono state in grado di resistere compongono un sistema che è nel complesso meglio in grado di gestire l'ambiente in evoluzione rispetto a prima. Questa è essenzialmente Chaos Monkey .
Livelli più grandi di casualità possono essere resistiti usando il secondo approccio.