Criar um pipeline de validação contínua
Embora seja possível executar testes de carga e experimentos de caos manualmente, é recomendável usar um processo automatizado. Para isso, integre os dois testes de validação em pipelines de CI/CD (integração contínua/entrega contínua) e compare automaticamente os resultados com as linhas de base predefinidas.
Nesta unidade, você irá aprender como usar pipelines de CI/CD para automatizar seu processo de validação contínua.
Vantagens ao automatizar os testes de validação
Essa técnica diminui a barreira de entrada e o esforço associado a essa atividade. Os desenvolvedores e a equipe de operações podem usá-la como parte de cada versão ou alteração importante, o que melhora a qualidade e a consistência das execuções de teste.
Executar testes de carga e experimentos de caos simultaneamente permite a observação do comportamento do sistema em um ambiente que simula o tráfego real. O objetivo é prever falhas e não desestabilizar o sistema.
Ao executar testes de carga, considere o ajuste das linhas de base para determinadas situações. Por exemplo, é possível aceitar um tempo de resposta mais alto quando um determinado componente falha, mas ainda esperar que o teste seja aprovado.
Configurar os pipelines automatizados
Para criar um pipeline de CI/CD, é possível usar o Azure Pipelines, o GitHub Actions ou sua ferramenta de CI/CD preferencial. Esta imagem mostra os estágios de ponta a ponta de um pipeline no Azure DevOps.
No pipeline, defina os serviços Teste de Carga do Azure e Azure Chaos Studio como uma IaC (infraestrutura como código) usando uma ferramenta como os modelos do Azure Resource Manager, o Bicep ou o Terraform. O Teste de Carga do Azure fornece tarefas internas a fim de que o Azure Pipelines e o GitHub Actions interajam com o serviço de teste de carga, além de permitir a criação e a orquestração de testes.
Para exibir corretamente o impacto das falhas injetadas, verifique se o teste de carga começa antes da injeção das falhas. Continue a executar o teste por um tempo após o término do experimento de caos.
Analise os testes de carga com falha para ver se a linha de base ainda é precisa ou se ela deve ser ajustada.
Demonstração: validação contínua automatizada
Este vídeo mostra como integrar o Teste de Carga do Azure e o Azure Chaos Studio a um pipeline de CI/CD do Azure.