Um dia na pele de
O caos de propósito na empresa de maquininhas
Você é a engenheira de chaos engineering de uma empresa de maquininhas de cartão: 800 mil lojistas, de padaria a posto de gasolina, que não vendem se o sistema cair. O seu trabalho é derrubar partes dele de propósito, com hora marcada, para descobrir o que acontece antes da Black Friday, daqui a cinco semanas. Nesta terça-feira, quatro coisas pedem você ao mesmo tempo, e você decide a ordem.
Os experimentos rodam da sua mesa, mas as decisões estão na sala de reunião, na ilha do produto, na sala de operação. Andar até lá leva tempo, e esse tempo entra no relógio do seu dia.
Provocar a falha que ensina sem causar a falha que custa.
Profissões com um dia assim: Engenheiro de Chaos Engineering
Ler o dia inteiro (contém os desfechos)
O caos de propósito na empresa de maquininhas: o dia por escrito
Você é a engenheira de chaos engineering de uma empresa de maquininhas de cartão: 800 mil lojistas, de padaria a posto de gasolina, que não vendem se o sistema cair. O seu trabalho é derrubar partes dele de propósito, com hora marcada, para descobrir o que acontece antes da Black Friday, daqui a cinco semanas. Nesta terça-feira, quatro coisas pedem você ao mesmo tempo, e você decide a ordem.
Os experimentos rodam da sua mesa, mas as decisões estão na sala de reunião, na ilha do produto, na sala de operação. Andar até lá leva tempo, e esse tempo entra no relógio do seu dia.
Sua mesa: O plano B que só existe no papel
Às 2h, o seu experimento desligou o banco de dados de leitura por 20 minutos. Cada serviço que depende dele diz, no próprio documento, se tem plano B: um jeito de continuar funcionando quando o banco some.
Quem tem plano B de verdade volta em poucos minutos, sozinho. Quem só volta quando o banco volta, depois de 20 minutos ou mais, não tem plano B nenhum, diga o documento o que disser.
Ache os serviços que dizem ter plano B e só voltaram quando o banco voltou. São esses três. Extrato, antifraude e relatório de vendas dizem ter plano B e só voltaram quando o banco voltou. O antifraude é o que pesa: sem ele, a autorização de cartão segue aprovando sem olhar. Cada tentativa errada custa 5 minutos.
O que acontece conforme a hora em que você chega
- Antes das 11h: Você achou antes das 11h. Deu tempo de falar com os três times pessoalmente e de tirar o antifraude do alvo de qualquer experimento até o plano B dele existir de verdade.
- Entre 11h e 15h: Você achou depois das 11h. Os chamados saíram, mas dois times só leram no fim do dia. Até lá, o antifraude continuou no alvo dos experimentos com um plano B que não funciona.
- Depois das 15h: O relatório ficou para depois das 15h. O relatório da madrugada passou o dia sem dono. Os três times continuam acreditando num plano B que só existe no documento, e a Black Friday é daqui a cinco semanas.
Sala de reunião: Derrubar uma zona inteira
O experimento grande do mês está marcado para as 15h: desligar de propósito uma das três zonas da nuvem por dez minutos e ver se o tráfego passa sozinho para as outras duas. O Marcelo, CTO, quer em produção, com lojista de verdade. "Teste de mentira dá confiança de mentira."
A Patrícia, do comercial, está na mesma sala. Uma rede de supermercados roda promoção hoje à tarde, toda passada nas suas maquininhas.
- Rodar em produção, como planejado. Às 15h uma zona cai de propósito. O tráfego passa para as outras duas em 40 segundos; 300 pagamentos falham nesse intervalo e são refeitos sozinhos. O time descobre que o alarme de zona fora do ar nunca tinha tocado de verdade. A Patrícia recebe uma ligação do supermercado perguntando o que houve às três.
- Rodar só no ambiente de teste. O experimento roda no ambiente de teste, onde tudo passa em 40 segundos. O Marcelo assina o relatório sem comentar. Ninguém sabe se a produção, com tráfego de verdade, faria o mesmo, e a próxima chance de descobrir é a Black Friday.
O que acontece conforme a hora em que você chega
- Antes das 11h: Você entrou antes das 11h. Deu tempo de ligar para a rede de supermercados e perguntar a que horas a promoção mais vende. Decidir com esse número na mão é outra decisão.
- Entre 11h e 14h: Você entrou depois das 11h. O Marcelo e a Patrícia já tinham discutido sem você. Você entrou numa sala em que cada um tinha uma posição, e as duas eram sobre o seu experimento.
- Depois das 14h: A zona ficou para depois das 14h. Com menos de uma hora para o experimento, a decisão foi tomada no corredor, com pressa. O que quer que tenha sido combinado, ninguém avisou o time de operação com antecedência.
Ilha do produto: O time que quer ficar de fora
O Lucas lidera o time do pagamento por link, que lança a versão nova na semana que vem. Ele pede para tirar o serviço dele da lista de experimentos por um mês. "A gente não pode ter susto agora. Depois do lançamento, pode quebrar o que quiser."
O argumento faz sentido. Também é o mesmo que todo time usa antes de todo lançamento.
- Dar a exceção por um mês. O pagamento por link sai da lista. O Lucas agradece e o lançamento segue sem susto. Na semana seguinte, outros dois times pedem a mesma coisa, com o mesmo argumento, citando o dele.
- Manter o serviço nos experimentos, com 1% do tráfego. O primeiro experimento pequeno acha um erro: o serviço novo trava quando o antifraude demora mais de três segundos. O Lucas corrige antes do lançamento. Não agradece, e na retrospectiva diz que o caos atrasou o time dele dois dias.
O que acontece conforme a hora em que você chega
- Antes das 12h: Você foi à ilha antes do meio-dia. O Lucas ainda não tinha levado o pedido ao chefe dele. A conversa foi entre vocês dois, sem ninguém de cima esperando resposta.
- Entre 12h e 16h: Você foi à ilha depois do meio-dia. O Lucas já tinha mandado o pedido por escrito, com o chefe dele em cópia. Qualquer resposta agora era uma resposta para dois.
- Depois das 16h: O pedido ficou para depois das 16h. O time do Lucas passou a tarde sem saber se estava ou não na lista. O que quer que tenha sido respondido, ficou a impressão de que pedido de exceção se resolve esperando.
Sala de operação: "Será que é o seu teste?"
A sala de operação está em incidente desde as 9h30: as aprovações de cartão estão lentas em todo o país. No telão, a linha vermelha sobe. Desde ontem, um experimento seu atrasa de propósito 5% das chamadas ao parceiro que processa o cartão.
O plantonista olha para você. "Desliga o seu teste aí, só para tirar a dúvida."
- Desligar o experimento na hora. Você desliga o atraso injetado. As aprovações continuam lentas por mais 40 minutos: não era você, era o parceiro. O incidente fecha, e a operação passa a pedir que você desligue tudo sempre que algo der errado.
- Mostrar no painel que não é o experimento. Você mostra que o atraso injetado só pega 5% das chamadas, e a lentidão aparece em 100%. Leva vinte minutos de gente olhando para o telão e para você. O plantonista aceita e escreve no relatório do incidente: "caos descartado, mas consumiu tempo".
O que acontece conforme a hora em que você chega
- Antes das 10h: Você foi à operação antes das 10h. O incidente estava na primeira meia hora. A dúvida sobre o experimento foi resolvida antes de virar boato.
- Entre 10h e 12h: Você foi à operação depois das 10h. O gerente da operação já tinha escrito no canal geral "pode ser o teste de caos". A conversa começou pela frase dele.
- Depois das 12h: A operação ficou para depois do meio-dia. O incidente fechou sem você na sala. O que quer que tenha sido feito com o experimento, o relatório tem uma linha que ninguém confirmou nem desmentiu: "possível impacto do teste de caos".
Copa: Café, e o caos visto de fora
Dois plantonistas da operação estão na bancada.
“…o pessoal do caos é pago para derrubar o sistema. A gente é pago para levantar.”
É quase verdade. A diferença é que você derruba com hora marcada, e eles levantam o que cai sem aviso. Quinze minutos depois, você volta para a mesa pensando em quem vai estar de plantão às 15h.
O que se ouve de passagem
Atravessar a empresa não é só deslocamento. No corredor as pessoas continuam falando, e o que elas dizem depende da hora e do que você ainda não resolveu. Nada disso custa tempo nem muda o dia.
- …o relatório da madrugada chegou. Todo mundo diz que tem plano B.
- …o time do link quer sair da lista do caos até o lançamento.
- …o CTO quer derrubar uma zona inteira às três da tarde. Em produção.
- …a operação tá em incidente. Alguém falou que é o teste de caos.
O que vem depois das escolhas
- Se você escolheu “Rodar em produção, como planejado” e “Dar a exceção por um mês”: O serviço que você deixou fora dos experimentos era o pagamento por link. Quando a zona caiu às 15h, ele foi o único que não passou sozinho para as outras duas: ninguém nunca tinha testado.
- Se você escolheu “Rodar só no ambiente de teste” e “Desligar o experimento na hora”: Você desligou o experimento ao primeiro pedido e passou o de hoje para o ambiente de teste. Na operação, alguém resumiu a terça: "o caos só roda onde não incomoda".
- Se você escolheu “Manter o serviço nos experimentos, com 1% do tráfego” e “Mostrar no painel que não é o experimento”: Você manteve o time do Lucas nos experimentos e defendeu, no telão, que o experimento não era o problema. Duas vezes na mesma terça, a regra de que nada fica de fora custou tempo de outras pessoas.
- Se você escolheu “Dar a exceção por um mês” e “Desligar o experimento na hora”: Exceção para um time de manhã, experimento desligado no meio do incidente. Na retrospectiva, a pergunta foi se ainda existe algum experimento que ninguém consegue desligar com um pedido.
Como o dia termina
Você foi para o resultado primeiro.
Havia um CTO querendo derrubar uma zona, um time pedindo para sair e uma sala em incidente, e você abriu o relatório de um experimento que já tinha acabado. Passou 1h30 comparando o que cada serviço diz com o que ele fez.
Isso não é bom nem ruim. É informação: você foi atrás do que o sistema faz, não do que dizem que ele faz. Confiabilidade é isso: o plano B só existe depois que alguém viu ele funcionar.
Você foi para o incêndio primeiro.
Você começou pela sala de operação, onde a falha era de verdade e o seu experimento estava sob suspeita. Passou 40 min entre desligar para acalmar e provar com dado que não era você.
Quem trabalha com confiabilidade vive dentro de incidentes: o trabalho é achar a causa com todo mundo nervoso, inclusive quando a causa provável é você.
Você foi para o experimento primeiro.
Você começou pela sala de reunião, onde se decidia quanto risco de verdade cabe num teste. Passou 45 min entre um CTO que quer aprender com o tráfego real e um comercial que quer o supermercado vendendo.
Chaos engineering é isso: derrubar de propósito exige decidir antes quanto dá para perder, e quem paga se der mais que isso.
Você foi para o time primeiro.
Você começou pela ilha do produto, onde alguém pedia, com um bom motivo, para ficar de fora. Passou 50 min decidindo se a regra vale para todo mundo ou para quem não está com pressa.
Quem faz chaos engineering descobre cedo que a parte difícil não é quebrar o sistema: é convencer as pessoas a deixar.
As duas portas de Infra
Infraestrutura não é uma profissão só, e as portas se separam pelo tipo de problema, não pelo assunto.
- Chaos engineering. Quebrar o sistema de propósito, com hora marcada, e convencer as pessoas de que isso protege.
- Confiabilidade (SRE). Manter no ar o que não pode cair, e descobrir a causa quando cai, com todo mundo olhando.