

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Aumentar a resiliência e melhorar a experiência do cliente usando a engenharia do caos no AWS
<a name="introduction"></a>

*Laurent Domb, tecnólogo chefe de finanças federais da Amazon Web Services*

*Abril de 2025* ([histórico do documento](doc-history.md))

A engenharia do caos é a disciplina de fazer experiências em um aplicativo para criar confiança na capacidade da sua organização e do aplicativo de suportar condições turbulentas na produção. É uma abordagem proativa à resiliência, com o objetivo de verificar se seu aplicativo e sua organização são capazes de absorver, se adaptar e, eventualmente, se recuperar das deficiências do serviço, introduzindo falhas controladas entre pessoas, processos e tecnologias. A intenção também é identificar e eliminar pontos fracos antes que eles possam causar interrupções ou outras interrupções na produção.

Na Amazon, entendemos que a falha é inevitável em sistemas distribuídos, a ponto de funcionar apesar da presença de falhas ser um modo normal de operação. Como as interações entre os serviços estão fadadas a falhar, você precisa entender como seus serviços reagem durante vários modos de falha e criar serviços que sejam resilientes às principais vulnerabilidades, como falhas de dependência, tempestades de novas tentativas, zonas de disponibilidade prejudicadas e esgotamento dos recursos do host.

Vamos dar o exemplo de uma nova tempestade. Uma falha localizada em um cliente pode afetar vários serviços de forma significativa. Isso é comumente chamado de *efeito borboleta*. Uma *tempestade de novas tentativas* é uma manifestação do efeito borboleta, em que uma dependência com falha faz com que clientes e clientes desses clientes tentem novamente a operação que falhou, levando a um crescimento exponencial no tráfego. Os serviços ficam sobrecarregados porque precisam responder ao tráfego regular, além de repetir o tráfego, enquanto lidam com uma degradação no desempenho.

A engenharia do caos surgiu como uma resposta à crescente complexidade dos sistemas distribuídos. É uma abordagem multidisciplinar que combina princípios da teoria do caos, pensamento sistêmico e engenharia para projetar e gerenciar sistemas complexos que são resilientes a eventos e comportamentos inesperados. Em sua essência, a engenharia do caos se preocupa em entender e gerenciar o comportamento de sistemas complexos sob condições de incerteza e imprevisibilidade. Ele reconhece que as abordagens tradicionais de engenharia, que dependem da previsão e controle de resultados, geralmente são insuficientes para lidar com a natureza complexa e dinâmica dos sistemas distribuídos. À medida que esses sistemas crescem, eles geralmente excedem o escopo de compreensão de qualquer indivíduo.

A engenharia do caos fornece conceitos, técnicas e ferramentas para injetar falhas intencionalmente nos sistemas e descobrir pontos fracos antes que eles se manifestem na produção. Essa abordagem proativa permite que as organizações criem a confiança de que seus sistemas funcionarão sob condições estressantes. Embora a engenharia do caos ainda seja uma prática em evolução, ela representa uma mudança fundamental para projetar, gerenciar e operar sistemas de computação modernos para serem resilientes diante da crescente complexidade e interconexão.

As seções a seguir deste guia discutem os benefícios da engenharia do caos, explicam como conduzir experimentos de engenharia do caos e descrevem as abordagens que você pode adotar para implementar a engenharia do caos em grande escala em sua organização. Também estão incluídos exemplos de documentos de planejamento e resultados de experimentos que você pode usar como modelos para seus experimentos de engenharia do caos.
+ [Visão geral](overview.md)
+ [Começando com a engenharia do caos](getting-started.md)
+ [Implementando engenharia de caos em AWS](implementation.md)
+ [Ciclo de vida contínuo do experimento de engenharia do caos](lifecycle.md)
+ [Dimensionando a engenharia do caos em toda a sua organização](scaling.md)
+ [Conclusão](conclusion.md)
+ [Recursos](resources.md)
+ [Apêndice: Documentos de amostra](appendix.md)

A próxima seção explora como as características da engenharia do caos diferem dos testes de resiliência tradicionais, como testes unitários, de fumaça ou de integração.