Migração de workflows: 4.200 em um único fim de semana
Toda migração de workflows em massa parece impossível até alguém fazer. A Cobalt Finance tinha 4.200 workflows rodando na plataforma de um concorrente. O concorrente estava desligando o serviço. A Cobalt tinha 8 semanas para migrar tudo antes das luzes apagarem. Fizeram em um fim de semana. Aqui está o playbook operacional.
As restrições da migração de workflows
- 4.200 workflows, em sua maioria criados entre 2019 e 2023, em sua maioria por pessoas que tinham saído
- Sem testes, documentação esparsa, nomenclatura inconsistente
- A Cobalt tinha 90% deles classificados como “missão crítica” (não eram, mas isso é assunto pra outro post)
- Um fim de semana de downtime aceitável, não mais
O que não funcionou primeiro
Inicialmente propusemos migração faseada em seis semanas. O CFO da Cobalt calculou o custo de rodar as duas plataformas em paralelo e impôs: “faça acontecer em uma janela”.
Nossa segunda proposta foi uma ferramenta automática de migração que traduzia o JSON de workflow do concorrente para o nosso. Construímos em 2 semanas. Funcionou para 73% dos workflows. Os outros 27% tinham peculiaridades que a ferramenta não cobria — em sua maioria, workflows inativos guardados “por garantia”. O padrão Strangler Fig de Martin Fowler é útil aqui mas exige mais tempo do que tínhamos.
O que funcionou
Três coisas tornaram o cutover de fim de semana possível:
- Não migramos tudo. Classificamos workflows por última execução e jogamos qualquer coisa que não rodou em 90 dias em um “arquivo frio” que não precisava migrar. Isso eliminou 38% dos 4.200.
- Os 2.600 restantes migramos em duas levas: 1.900 via a ferramenta automática (que agora tinha 96% de sucesso após ajustes) e 700 manualmente, por um time dedicado de 6 engenheiros em um turno de 36 horas.
- Tínhamos um observador do lado do cliente em cada turno, com autoridade para tomar decisões na hora sobre migrar, adiar ou matar um workflow.
A autoridade de decisão no lado do cliente é o que comprime o cronograma. O resto é mecânico. Para times pensando em migrações similares, vale também olhar nossa consolidação na Arcline — escalas diferentes, princípios iguais.