A Netflix operava seu serviço de streaming na AWS, onde falhas de instâncias são comuns e as quedas já tinham atingido duramente o setor; em vez de esperar para ser surpreendida, a equipe de engenharia decidiu surpreender a si mesma.
A ideia
Quebrar a produção de propósito: o Chaos Monkey desliga aleatoriamente instâncias ativas da AWS para que os engenheiros precisem construir serviços que sobrevivam sem que os clientes percebam.
Uma pequena ferramenta escolhe uma instância ao acaso em cada cluster e, durante o horário comercial de um dia útil, a desliga sem aviso — com engenheiros de prontidão observando como o serviço reage. A Netflix abriu o código do Chaos Monkey em julho de 2012 e depois acrescentou o Janitor Monkey e o Security Monkey ao 'Simian Army'; sua regra declarada: 'a melhor defesa contra grandes falhas inesperadas é falhar com frequência.'
O Chaos Monkey forçou a arquitetura da Netflix a tolerar a perda de instâncias sem impacto para os clientes e transformou exercícios de falha em rotina; a ferramenta de código aberto ganhou cobertura no TechCrunch e na Wired, Jeff Atwood, do Stack Exchange, atribuiu à mesma ideia a solução de suas quedas, e a prática cresceu até se tornar a disciplina da engenharia do caos.
Contexto
A Netflix operava seu serviço de streaming na AWS e, na nuvem, as instâncias falham — hosts morrem, a rede oscila, os balanceadores de carga se comportam mal. Em vez de esperar que uma queda expusesse os pontos fracos, a equipe de engenharia criou o Chaos Monkey, um software que desativa aleatoriamente instâncias de produção durante o horário comercial, enquanto os engenheiros observavam de prontidão.
O nome veio de 'soltar um macaco selvagem armado no seu data center para derrubar instâncias aleatoriamente e roer cabos — tudo isso enquanto continuamos atendendo nossos clientes sem interrupção.' O ponto não era a ferramenta em si, mas a mudança de mentalidade: se o seu sistema precisa sobreviver a ataques diários aleatórios, você constrói recuperação automática em vez de torcer para que nada quebre.
Em julho de 2012, a Netflix abriu o código do Chaos Monkey, e a ideia se espalhou. A cobertura no TechCrunch e na Wired tornou 'falhar com frequência' um lema de engenharia conhecido; Jeff Atwood, do Stack Exchange, disse que sua equipe só resolveu seu problema de quedas depois que o 'Chaos Monkey os escolheu'. A prática foi mais tarde formalizada como engenharia do caos — experimentar em sistemas de produção para construir confiança de que eles suportam condições turbulentas.
Falhas aleatórias e não assistidas durante o horário de trabalho transformam quedas raras e aterrorizantes em exercícios rotineiros com engenheiros preparados.
Falhar com frequência força mecanismos de recuperação automática, de modo que uma falha às 3 da manhã deixa de ser uma crise.
A abertura do código deu pernas à ideia — outras empresas adotaram a prática, e ela se tornou uma disciplina.
O nome tornou o conceito inesquecível, e é por isso que a prática se espalhou tão rápido.
Não espere pela queda que você não consegue prever: induza pequenas falhas durante o dia, com engenheiros observando, para que o sistema — e a equipe — aprendam resiliência antes que um desastre às 3 da manhã os ensine.
A Netflix continuou expandindo a ideia: Latency Monkey, Doctor Monkey, Chaos Kong para zonas de disponibilidade inteiras e, mais tarde, a Chaos Automation Platform, com uma equipe dedicada de engenharia do caos formada em 2015. O repositório original do Simian Army foi aposentado em 2021, substituído por ferramentas independentes, mas a prática superou a Netflix — a engenharia do caos tornou-se uma disciplina do setor, com livros, conferências, ferramentas comerciais e adotantes como o Capital One.
CONFIRA AS EVIDÊNCIAS
As fontes
- Netflix/SimianArmy — Tools for keeping your cloud operating in top form Netflix (GitHub) · github.com
- Netflix Open Sources Chaos Monkey — A Tool Designed To Cause Failure So You Can Make A Stronger Cloud TechCrunch · beta.techcrunch.com ·
- Netflix Abuses Amazon With Monkeys. Now You Can Too Wired · wired.com ·
- What is Chaos Monkey? Chaos engineering explained InfoWorld · infoworld.com ·