Planejando seu AWS FISexperimentos - AWS Serviço de injeção de falhas

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á.

Planejando seu AWS FISexperimentos

A injeção de falhas é o processo de sobrecarregar um aplicativo em ambientes de teste ou produção criando eventos disruptivos, como interrupções no servidor ou limitação. API Ao observar como o sistema responde, você pode implementar melhorias. Quando você executa experimentos em seu sistema, isso pode ajudá-lo a identificar fraquezas sistêmicas de forma controlada antes que essas fraquezas afetem os clientes que dependem do seu sistema. Depois, você pode resolver os problemas de forma proativa para ajudar a evitar resultados imprevisíveis.

Antes de começar a executar experimentos de injeção de falhas usando AWS FIS, recomendamos que você se familiarize com os seguintes princípios e diretrizes.

Importante

AWS FISrealiza ações reais em situações reais AWS recursos em seu sistema. Portanto, antes de começar a usar AWS FISpara realizar experimentos, é altamente recomendável que você primeiro conclua uma fase de planejamento e um teste em um ambiente de pré-produção ou teste.

Princípios e diretrizes básicos

Antes de iniciar os experimentos com AWS FIS, siga as seguintes etapas:

  1. Identifique a implantação de destino para o experimento — Comece identificando a implantação de destino. Se esse for seu primeiro experimento, recomendamos começar em um ambiente de pré-produção ou teste.

  2. Revise a arquitetura do aplicativo — Você deve garantir que identificou todos os componentes, dependências e procedimentos de recuperação do aplicativo para cada componente. Comece analisando a arquitetura do aplicativo. Dependendo da aplicação, consulte AWS Well-Architected Framework.

  3. Defina o comportamento estável — Defina o comportamento estável do seu sistema em termos de métricas técnicas e comerciais importantes, como latência, CPU carga, falhas de login por minuto, número de novas tentativas ou velocidade de carregamento da página.

  4. Forme uma hipótese — Forme uma hipótese de como você espera que o comportamento do sistema mude durante o experimento. A definição de uma hipótese segue esse formato:

    If (Se) fault injection action é executado, o business or technical metric impact não deve exceder value.

    Por exemplo, uma hipótese para um serviço de autenticação pode ser a seguinte: “Se a latência da rede aumentar em 10%, haverá um aumento de menos de 1% nas falhas de login”. Depois que o experimento for concluído, você avalia se a resiliência do aplicativo está alinhada às suas expectativas comerciais e técnicas.

Também recomendamos seguir essas diretrizes ao trabalhar com AWS FIS:

  • Sempre comece a experimentar com AWS FISem um ambiente de teste. Nunca comece com um ambiente de produção. À medida que avança em seus experimentos de injeção de falhas, você pode experimentar em outros ambientes controlados além do ambiente de teste.

  • Aumente a confiança da sua equipe na resiliência do seu aplicativo começando com experimentos pequenos e simples, como executar a ação aws:ec2:stop-instances em um destino.

  • A injeção de falhas pode causar problemas reais. Prossiga com cuidado e certifique-se de que suas primeiras injeções de falha sejam em instâncias de teste para que nenhum cliente seja afetado.

  • Teste, teste e teste um pouco mais. A injeção de falhas deve ser implementada em um ambiente controlado com experimentos bem planejados. Isso permite que você ganhe confiança nas habilidades de seu aplicativo e suas ferramentas para resistir a condições turbulentas.

  • É altamente recomendável que você tenha um excelente programa de monitoramento e alerta antes de começar. Sem isso, você não conseguirá entender ou medir o impacto de seus experimentos, o que é fundamental para práticas sustentáveis de injeção de falhas.

Diretrizes para planejamento de experimentos

Com AWS FIS, você executa experimentos em seu AWS recursos para testar sua teoria de como um aplicativo ou sistema funcionará em condições de falha.

A seguir estão as diretrizes recomendadas para planejar seu AWS FISexperimentos.

  • Revise o histórico de interrupções — Analise as interrupções e eventos anteriores do seu sistema. Isso pode ajudá-lo a criar uma imagem da integridade geral e da resiliência do seu sistema. Antes de começar a executar experimentos em seu sistema, você deve abordar problemas e fraquezas conhecidos em seu sistema.

  • Identifique os serviços com o maior impacto — Analise seus serviços e identifique aqueles que têm o maior impacto sobre seus usuários finais ou clientes se eles falharem ou não funcionarem corretamente.

  • Identifique o sistema de destino — O sistema de destino é o sistema no qual você executará experimentos. Se você é novo em AWS FISSe você nunca realizou experimentos de injeção de falhas antes, recomendamos que comece executando experimentos em um sistema de pré-produção ou teste.

  • Consulte sua equipe — Pergunte com o que eles estão preocupados. Você pode formar uma hipótese para provar ou refutar suas preocupações. Você também pode perguntar à sua equipe com o que eles não estão preocupados. Essa pergunta pode revelar duas falácias comuns: a falácia do custo irrecuperável e a falácia do viés de confirmação. Formar uma hipótese com base nas respostas da sua equipe pode ajudar a fornecer mais informações sobre a realidade do estado do seu sistema.

  • Revise a arquitetura do aplicativo — Conduza uma revisão do seu sistema ou aplicativo e certifique-se de ter identificado todos os componentes do aplicativo, dependências e procedimentos de recuperação para cada componente.

    Recomendamos que você revise o AWS Well-Architected Framework. O framework pode ajudar você a construir uma infraestrutura segura, de alto desempenho, resiliente e eficiente para seus aplicativos e workloads. Para ter mais informações, consulte AWS Well-Architected.

  • Identifique as métricas aplicáveis — Você pode monitorar o impacto de um experimento em seu AWS recursos usando CloudWatch métricas da Amazon. Você pode usar essas métricas para determinar a linha de base ou o “estado estável” quando seu aplicativo está funcionando de maneira ideal. Em seguida, você pode monitorar essas métricas durante ou após o experimento para determinar o impacto. Para obter mais informações, consulte Monitorar métricas de uso do AWS FIS com o Amazon CloudWatch.

  • Defina um limite de desempenho aceitável para seu sistema — Identifique a métrica que representa um estado estável aceitável para seu sistema. Você usará essa métrica para criar um ou mais CloudWatch alarmes que representem uma condição de parada para seu experimento. Se o alarme for acionado, o experimento será interrompido automaticamente. Para obter mais informações, consulte Condições de parada para o AWS FIS.