Nesta página, descrevemos as janelas de exclusão no Fault Injection Testing e como usá-las para proteger seus aplicativos e serviços durante operações comerciais críticas.
As janelas de exclusão aumentam seu controle sobre os cronogramas de testes de resiliência. Uma janela de exclusão é um período definido por você em que novos experimentos de injeção de falhas não podem ser iniciados. Esse recurso ajuda a proteger seus aplicativos e serviços durante eventos críticos, como:
- Horários de pico de tráfego ou eventos de vendas de alto volume
- Migrações ou upgrades importantes do sistema
- Janelas de manutenção críticas
Enquanto uma janela de exclusão está ativa, o Fault Injection Testing bloqueia qualquer tentativa de iniciar novos experimentos no escopo definido. Os experimentos que já estavam em execução antes da ativação da janela de exclusão podem continuar até a conclusão.
Como as janelas de exclusão funcionam
Escopo e segmentação
Ao configurar um período de exclusão, você seleciona uma região específica do Google Cloud. Depois de ativada, a janela de exclusão impede que novos experimentos sejam iniciados apenas nessa região designada, independente do modelo de experimento usado.
Ativação e duração
A criação de uma janela de exclusão define os parâmetros dela, mas não a ativa imediatamente. É preciso iniciar explicitamente a janela para ativá-la.
Uma janela de exclusão ativa para de bloquear experimentos de duas maneiras:
- Expiração automática:cada período de exclusão é configurado com uma duração. Depois de ativada, a janela é desativada automaticamente após esse período. O sistema calcula o horário de término (horário de início + duração) e para de bloquear novos experimentos quando o horário atual passa desse horário de término.
- Interrupção manual:é possível interromper manualmente um período de exclusão ativo antes do fim da duração programada. Isso é útil se o período crítico terminar antes do esperado e você quiser retomar os testes imediatamente.
Gerenciar janelas de exclusão no console do Google Cloud
Antes de continuar, você precisa ter a função roles/faulttesting.operator.
Criar e configurar uma janela de exclusão
- No console do Google Cloud , navegue até a página Períodos de exclusão do Fault Injection Testing.
- Clique em Criar período de exclusão.
- Especifique a região do Cloud, a duração e uma descrição opcional.
- Clique em Criar.
Controlar manualmente uma janela de exclusão
Você pode acionar manualmente as ações Iniciar e Parar para qualquer janela de exclusão configurada diretamente no console do Google Cloud .
Ativar automaticamente uma janela de exclusão
Por exemplo, você pode querer se alinhar a uma janela de manutenção programada ou evento recorrente. Para automatizar a ativação de uma janela de exclusão:
- Depois de criar uma janela de exclusão, copie o URL HTTPS da RPC
StartExclusionWindowmostrada na UI. - Use um serviço de programação, como o Cloud Scheduler, para configurar um job que envie uma solicitação para esse URL no horário escolhido.
Gerenciar períodos de exclusão usando a Google Cloud CLI
É possível gerenciar recursos de janela de exclusão usando os comandos gcloud alpha fault-testing
exclusion-windows.
Criar uma janela de exclusão
Para criar um período de exclusão, use o comando create. Especifique o ID da janela, a região de destino e a duração:
gcloud alpha fault-testing exclusion-windows create EXCLUSION_WINDOW_ID \
--location=REGION \
--duration=DURATION \
[--description="DESCRIPTION"]
Substitua:
EXCLUSION_WINDOW_ID: um identificador exclusivo da janela (por exemplo,black-friday-freeze).REGION: a região Google Cloud em que essa janela se aplica (por exemplo,us-central1).DURATION: a duração ativa, especificada em segundos (por exemplo,86400spara 24 horas).DESCRIPTION: (opcional) uma descrição da finalidade da janela.
Exemplo:
gcloud alpha fault-testing exclusion-windows create black-friday-freeze \
--location=us-east1 \
--duration=259200s \
--description="Exclusion window for Black Friday to Cyber Monday sales period"
Excluir uma janela de exclusão
Para excluir uma definição de período de exclusão, use o comando delete:
gcloud alpha fault-testing exclusion-windows delete EXCLUSION_WINDOW_ID \
--location=REGION
Iniciar uma janela de exclusão
Para ativar uma janela de exclusão configurada, use o comando start:
gcloud alpha fault-testing exclusion-windows start EXCLUSION_WINDOW_ID \
--location=REGION
Parar uma janela de exclusão
Para desativar manualmente uma janela de exclusão ativa antes do tempo, use o comando stop:
gcloud alpha fault-testing exclusion-windows stop EXCLUSION_WINDOW_ID \
--location=REGION
Práticas recomendadas
Ao criar um período de exclusão, considere o seguinte:
- Planeje a sobreposição de experimentos. Comece as janelas de exclusão um pouco antes do período crítico de negócios. Como os experimentos em execução podem ser concluídos, iniciar a janela mais cedo garante que todas as falhas sejam corrigidas antes do início do período crítico.
- Use identificadores descritivos. Use IDs claros e significativos (por exemplo,
black-friday-freezeousystem-migration-us-east1) para identificar a finalidade e o escopo da janela. - Alinhe a duração com o tipo de evento. Faça a duração da janela corresponder à duração esperada do evento crítico. Para grandes promoções de fim de ano, recomendamos uma duração de vários dias (por exemplo,
259200spor 3 dias). - Use a automação. Use o Cloud Scheduler para automatizar a ativação de janelas de exclusão para eventos recorrentes ou manutenção planejada e reduzir o esforço manual e o risco de omissão.
- Mantenha a flexibilidade. Lembre-se de que você pode usar o comando
stoppara encerrar uma janela antes do tempo se um período crítico terminar antes do esperado, permitindo que você retome os testes de resiliência imediatamente.