Introdução
A metodologia de design crítico do Azure requer a validação contínua para garantir que a carga de trabalho permaneça operacional, mesmo em caso de falhas e situações inesperadas. Isso envolve testar alterações e versões regularmente em um ambiente controlado. Esses testes podem incluir uma carga contínua do usuário e falhas de injeção. O objetivo é testar a resiliência da carga de trabalho e a capacidade dela de lidar com falhas antes da implantação na produção.
A validação contínua é implementada como um conjunto de processos e ferramentas. Ela deve ser integrada a um fluxo de trabalho para permitir que os desenvolvedores e as equipes de operações realizem a validação de maneira consistente e regular, como antes de cada versão ou alteração de código importante. Os processos de validação devem ser executados sob condições de produção.
Veja as seguintes tarefas resumidas para projetar a validação contínua:
- Defina os testes com base nos fluxos de usuário e do sistema e no desempenho esperado.
- Estabeleça linhas de base para diversos cenários e estágios.
- Avalie e ajuste as linhas de base e os limites regularmente.
- Implemente os serviços do Azure em pipelines automatizados.
O Microsoft Azure fornece estes serviços para a implementação de testes de carga e da engenharia de caos:
- O Teste de Carga do Azure é um serviço gerenciado para gerar um tráfego sintético real a fim de testar o aplicativo, a infraestrutura e os serviços subjacentes.
- O Azure Chaos Studio é um serviço gerenciado que fornece recursos de engenharia de caos para a injeção sistemática de falhas em componentes importantes do aplicativo.
É possível executar os dois serviços simultaneamente, incorporando-os em um pipeline de CI/CD (integração contínua/entrega contínua) do Azure DevOps. Você tem a capacidade de validar o efeito das alterações no aplicativo em condições realistas a qualquer momento do ciclo de desenvolvimento.
Cenário de exemplo
Este módulo incorpora a validação contínua de um exemplo apresentado como parte do roteiro de aprendizagem. É recomendado familiarizar-se com esse exemplo, especialmente com esses aspectos: