TL; DR : Chaos Monkey foi desenvolvido em 2010 na Netflix e lançado em 2012. Faz parte do Exército Simian , popular entre os seguidores dedicados . Construído sobre os princípios da engenharia do caos , o exército aumenta a resiliência ao fracasso ao injetar um fracasso constante no sistema.
Conceito
O Chaos Monkey foi desenvolvido especificamente para a AWS, onde matará aleatoriamente instâncias em um Grupo de Auto Scaling. Ele deve funcionar durante o horário comercial, quando os engenheiros estão alertas e podem reagir rapidamente às falhas descobertas.
Exército Simian
Membros do exército semeariam o caos por outros meios:
Outros macacos são úteis e removem os membros fracos do rebanho:
O Conformity Monkey encerra instâncias que não seguem as práticas recomendadas.
O Security Monkey procura vulnerabilidades de segurança conhecidas na configuração e nos serviços.
Doctor Monkey encerra instâncias prejudiciais que não estão em conformidade com determinadas métricas.
O zelador Macaco procura recursos não utilizados para recuperar.
Falha é inevitável
Falha no sistema é inevitável, algo sempre dará errado . Talvez você não consiga escolher o quê, mas tente escolher quando. Ao introduzir pequenos erros ao longo do dia, você garante a presença de seus engenheiros. Ao eliminar rapidamente os serviços não conformes, você garante que as falhas ocorram frequentemente antes da implantação. Ao tornar o ambiente mais adversário, você garante que serão os desenvolvedores que terão problemas muito antes de qualquer serviço entrar na produção. As falhas serão rapidamente aparentes na fase de integração de novos serviços com os antigos, mas tudo bem, porque os serviços de produção antigos já são resilientes.
Gado não Animais
Todos dirão ultimamente: Não trate seus servidores como animais de estimação . Há um poder em números e qualquer ponto único de falha derrubará o sistema. Não importa o quão bem você possa ajustar e otimizar seu servidor, não importa quão robusto seja o hardware que você possa obter, o quanto ele possa suportar, nunca será uma correspondência para o rebanho de pequenas instâncias escalonáveis. O Caos Monkey encoraja você a pensar em remover todos os pontos de falha, porque mais cedo ou mais tarde, o Macaco virá! Todo mundo falha e até o Amazon S3 teve uma interrupção imprevisível .
Anti-frágil
Então, qual é a teoria e por que funciona? Nassim Nicholas Taleb, em seu livro Antifragile, descreve um conceito em que os sistemas autoconscientes se beneficiam de um pequeno nível de aleatoriedade e se tornam melhores diante das adversidades. Isso é semelhante ao recozimento.
Ele também descreve um caminho evolutivo, no qual a fragilidade das partes de um sistema está se transferindo para a antifragilidade do todo . A transferência ocorre em dois níveis:
Por pequenas variações aleatórias - desenvolvedores fazendo alterações - os mais adequados para o ambiente sobreviverão e se propagarão - passarão nos testes e serão implantados . Ciclo de vida de desenvolvimento padrão .
Por falhas de partes que não são capazes de suportar um nível maior de aleatoriedade no ambiente, as partes restantes que foram capazes de suportar compõem um sistema que, como um todo, é mais capaz de lidar com a mudança de ambiente do que antes. Este é essencialmente o macaco do caos .
Níveis maiores de aleatoriedade podem ser resistidos usando a segunda abordagem.