REL12-BP05 Conduzir dias de jogo regularmente
Conduza dias de jogo para exercitar regularmente os procedimentos de resposta a eventos e deficiências que afetam a workload. Envolva as mesmas equipes que seriam responsáveis por lidar com os cenários de produção. Esses exercícios ajudam a aplicar medidas para evitar o impacto do usuário causado por eventos de produção. Ao praticar os procedimentos de resposta em condições realistas, você pode identificar e resolver quaisquer lacunas ou fragilidades antes que um evento real ocorra.
Os dias de jogo simulam eventos em ambientes parecidos com os de produção para testar sistemas, processos e respostas das equipes. O objetivo é executar as mesmas ações que a equipe executaria se um evento excepcional acontecesse. Esses exercícios ajudam você a compreender onde é possível aplicar melhorias e podem ajudar a desenvolver experiência organizacional para lidar com eventos e deficiências. Eles devem ser realizados regularmente para que a equipe desenvolva hábitos enraizados sobre como responder.
Os dias de jogo preparam as equipes para lidar com eventos de produção com maior confiança. Equipes bem treinadas são mais capazes de detectar e responder rapidamente a vários cenários. Isso resulta em uma postura de prontidão e resiliência significativamente melhor.
Resultado desejado: você realiza dias de jogos de resiliência de forma consistente e programada. Esses dias de jogo são vistos como uma parte normal e esperada dos negócios. A organização desenvolveu uma cultura de preparação, e quando ocorrem problemas de produção, as equipes estão bem preparadas para responder com eficácia, resolver os problemas de maneira eficiente e mitigar o impacto nos clientes.
Práticas comuns que devem ser evitadas:
-
Documentar seus procedimentos, mas nunca colocá-los em prática.
-
Excluir os responsáveis pelas decisões de negócios das simulações de teste.
-
Organizar um dia de jogo, mas não informar todas as partes interessadas relevantes.
-
Concentrar-se apenas nas falhas técnicas, mas não envolver as partes interessadas empresariais.
-
Não incorporar as lições aprendidas nos dias de jogo nos processos de recuperação.
-
Culpar as equipes por falhas ou bugs.
Benefícios de implementar essa prática recomendada:
-
Melhore as habilidades de resposta: nos dias de jogo, as equipes praticam tarefas e testam mecanismos de comunicação durante eventos simulados, o que cria uma resposta mais coordenada e eficiente em situações de produção.
-
Identifique e resolva dependências: ambientes complexos geralmente envolvem dependências complexas entre vários sistemas, serviços e componentes. Os dias de jogo podem ajudar você a identificar e resolver essas dependências e a verificar se os sistemas e serviços essenciais estão devidamente cobertos pelos procedimentos do runbook e podem passar por aumento vertical da escala ou ser recuperados em tempo hábil.
-
Promova uma cultura de resiliência: os dias de jogos podem ajudar a cultivar uma mentalidade de resiliência dentro de uma organização. Quando você envolve equipes multifuncionais e partes interessadas, esses exercícios promovem a conscientização, a colaboração e uma compreensão compartilhada da importância da resiliência em toda a organização.
-
Melhoria e adaptação contínuas: dias de jogo periódicos ajudam você a avaliar e adaptar continuamente as estratégias de resiliência, o que as mantém relevantes e eficazes diante das mudanças nas circunstâncias.
-
Aumente a confiança no sistema: os dias de jogo bem-sucedidos podem ajudar você a aumentar a confiança na capacidade do sistema de resistir e se recuperar das interrupções.
Nível de risco exposto se esta prática recomendada não for estabelecida: Médio
Orientação para implementação
Depois de projetar e implementar as medidas de resiliência necessárias, realize um dia de jogo para validar se tudo funciona conforme planejado na produção. Um dia de jogo, especialmente o primeiro, deve envolver todos os membros da equipe. Todas as partes interessadas e participantes devem ser informados com antecedência sobre a data, a hora e os cenários simulados.
Durante o dia do jogo, as equipes envolvidas simulam vários eventos e cenários potenciais de acordo com os procedimentos prescritos. Os participantes monitoram e avaliam de perto o impacto desses eventos simulados. Se o sistema operar conforme projetado, os mecanismos automatizados de detecção, escalabilidade e autorrecuperação deverão ser ativados e resultar em pouco ou nenhum impacto nos usuários. Se a equipe observar algum impacto negativo, ela reverte o teste e soluciona os problemas identificados, seja por meios automatizados ou por meio de intervenção manual documentada nos runbooks aplicáveis.
Para melhorar continuamente a resiliência, é fundamental documentar e incorporar as lições aprendidas. Esse processo é um ciclo de feedback que captura sistematicamente os insights dos dias de jogo e os usa para aprimorar sistemas, processos e capacidades da equipe.
Para ajudar você a reproduzir cenários do mundo real em que serviços ou componentes do sistema podem falhar inesperadamente, injete falhas simuladas como um exercício do dia de jogo. As equipes podem testar a resiliência e a tolerância a falhas dos sistemas e simular os processos de resposta e recuperação de incidentes em um ambiente controlado.
Na AWS, os dias de jogo podem ser realizados com réplicas do ambiente de produção usando infraestrutura como código. Por meio desse processo, você pode realizar testes em um ambiente seguro muito semelhante ao seu ambiente de produção. Considere usar o AWS Fault Injection Service
Etapas de implementação
-
Estabeleça um programa de dias de jogo: desenvolva um programa estruturado que defina a frequência, o escopo e os objetivos dos dias de jogo. Envolva as principais partes interessadas e especialistas no assunto no planejamento e execução desses exercícios.
-
Prepare o dia do jogo:
-
Identifique os principais serviços essenciais para os negócios que serão o foco do dia do jogo. Catalogue e mapeie as pessoas, os processos e as tecnologias que oferecem suporte a esses serviços.
-
Defina a agenda para o dia de jogo e prepare as equipes envolvidas para participar do evento. Prepare os serviços de automação para simular os cenários planejados e executar os processos de recuperação apropriados. Os serviços da AWS, como AWS Fault Injection Service
, AWS Step Functions e AWS Systems Manager , podem ajudar você a automatizar vários aspectos dos dias de jogo, como injeção de falhas e início das ações de recuperação.
-
-
Execute a simulação: no dia de jogo, execute o cenário planejado. Observe e documente como as pessoas, os processos e as tecnologias reagem ao evento simulado.
-
Faça análises após o exercício: depois do dia de jogo, faça uma sessão retrospectiva para revisar as lições aprendidas. Identifique áreas de melhoria e quaisquer ações necessárias para melhorar a resiliência operacional. Documente as descobertas e acompanhe todas as mudanças necessárias para aprimorar as estratégias de resiliência e preparação para a conclusão.
Recursos
Práticas recomendadas relacionadas:
Documentos relacionados:
Vídeos relacionados:
Exemplos relacionados: