Criar um pipeline de validação contínua

Concluído

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.

Diagrama que mostra um pipeline de exemplo que tem um teste de carga e um experimento de caos.

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

    Diagrama que mostra o pipeline com testes de caos e de carga integrados.

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

    Captura de tela do portal do Azure que mostra uma tabela de critérios de teste de exemplo.

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

Verificação de conhecimento

1.

Como um teste de carga e um experimento de caos devem ser executados e orquestrados?

2.

O que precisa ser feito após um teste de carga com falha?