Diagnóstico antes de tocar no código
Mapeamento de dependências, pontos de falha e do que realmente é usado. Boa parte de todo sistema legado é código morto — e código morto não se migra, se apaga.
Modernizar um sistema legado é substituir, em partes, o software que sustenta a operação — sem que a operação pare em nenhum momento. A Core Hub faz isso por migração incremental: o sistema antigo continua rodando enquanto módulos novos assumem funções específicas, um de cada vez, com possibilidade de voltar atrás a qualquer momento. Reescrita completa de uma vez é o caminho que mais falha nesse tipo de projeto, e não é o que recomendamos.
Mapeamento de dependências, pontos de falha e do que realmente é usado. Boa parte de todo sistema legado é código morto — e código morto não se migra, se apaga.
Testes de caracterização e observabilidade entram antes da primeira mudança estrutural. Sem isso não há como saber se a migração quebrou algo.
Aplicamos o padrão strangler: o novo sistema cresce ao redor do antigo interceptando funções, uma a uma, até o legado ficar sem função.
Cada etapa é reversível. Se algo dá errado numa madrugada de virada, o caminho de volta existe e está testado.
Leitura do código, das integrações e do que a operação de fato usa. Termina com um mapa de risco por módulo.
Testes e monitoramento no sistema atual, para que qualquer regressão apareça imediatamente.
Um módulo por vez, do menor risco para o maior, com o tráfego sendo desviado gradualmente.
O legado só é desligado quando nenhuma função depende mais dele — e depois de um período de convivência das duas versões.
A escolha final vem do problema e de quem vai manter o sistema depois.
Dá, com migração incremental. O sistema novo assume uma função por vez enquanto o antigo continua respondendo pelo resto. A alternativa — reescrever tudo e virar a chave num único dia — concentra todo o risco num só momento e é onde a maioria dos projetos falha.
Depende do tamanho do sistema, da cobertura de testes existente e de quantas integrações externas dependem dele. Por isso o projeto começa por um diagnóstico: sem ler o código, qualquer prazo dado seria chute.
Quase nunca. Reescrita do zero descarta anos de regras de negócio que ninguém documentou e que só existem no código antigo. Quando é mesmo o caminho, dizemos — mas é a exceção.
Em até um dia útil você recebe uma leitura do problema, os riscos que enxergamos e uma proposta de caminho — sem compromisso.