Como modernizamos um ERP em PHP sem parar a operação por um segundo
A pergunta não era "vamos modernizar?" — era "como modernizar sem parar o negócio?". A resposta exige mais estratégia do que tecnologia.
O sistema tinha 6 anos, estava em PHP 7.4, e cada nova funcionalidade levava semanas. A equipe tinha medo de mexer em qualquer coisa porque qualquer mudança quebrava algo inesperado em outra parte. O banco de dados virou o ponto central de integração entre módulos — um sinal clássico de sistema chegando no limite.
A solicitação do cliente era direta: modernizar sem parar. Sem janela de manutenção extensa. Sem migração big-bang. O negócio não podia parar.
A estratégia: Strangler Fig Pattern
O Strangler Fig Pattern é a abordagem mais segura para modernização incremental: você constrói o novo sistema ao lado do antigo, vai migrando funcionalidade por funcionalidade, e "estrangula" o legado gradualmente até ele deixar de existir.
- Novo backend NestJS/TypeScript rodando em paralelo ao PHP desde o primeiro dia
- Proxy reverso roteando rotas específicas para o novo sistema à medida que eram migradas
- Banco de dados compartilhado na fase de transição — sem migração forçada de schema
- Módulos migrados por prioridade de negócio, não por complexidade técnica
Armadilha comum
Querer migrar tudo de uma vez porque "o legado é horrível". A pressão para o big-bang é enorme, mas o risco também. Incremental sempre.
O que construímos do zero vs. o que preservamos
Reescrevemos toda a camada de API com NestJS, TypeScript, validação com class-validator e documentação automática via Swagger. Criamos autenticação JWT do zero, relatórios em Excel e PDF com bibliotecas modernas, e cobertura de testes E2E com Jest.
Preservamos toda a lógica de negócio documentada implicitamente no código PHP — não porque o código era bom, mas porque aquela lógica representava anos de conhecimento sobre o domínio. Reescrever a tecnologia sem perder o conhecimento de negócio é o verdadeiro desafio.
Resultado final
- Zero downtime durante toda a migração — o negócio nunca parou
- Tempo de desenvolvimento de novas features: de semanas para dias
- Frontend reescrito como PWA em Next.js 15 com acesso offline
- Cobertura de testes saiu de 0% para 78% nos módulos críticos
- Deploy automatizado via GitHub Actions — o que antes era manual e demorava horas
Tem um sistema legado que está freando o seu negócio? Podemos traçar juntos uma estratégia de modernização sem riscos.
Agendar diagnóstico gratuito