Configurar uma janela de exclusão

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

  1. No console do Google Cloud , navegue até a página Períodos de exclusão do Fault Injection Testing.
  2. Clique em Criar período de exclusão.
  3. Especifique a região do Cloud, a duração e uma descrição opcional.
  4. 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:

  1. Depois de criar uma janela de exclusão, copie o URL HTTPS da RPC StartExclusionWindow mostrada na UI.
  2. 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, 86400s para 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-freeze ou system-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, 259200s por 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 stop para 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.