Master
Técnicas

Execução paralela com reconciliação

NOT ON THE CURRENT EDITION
This blip is not on the current edition of the Radar. If it was on one of the last few editions it is likely that it is still relevant. If the blip is older it might no longer be relevant and our assessment might be different today. Unfortunately, we simply don't have the bandwidth to continuously review blips from previous editions of the RadarUnderstand more
Published: Oct 28, 2020
Oct 2020
Experimente?

Substituir código legado em escala é sempre uma tarefa difícil, que geralmente se beneficia da execução paralela com reconciliação. Na prática, a técnica se baseia na execução do mesmo fluxo de produção por meio do código antigo e do novo, retornando a resposta do código legado, mas comparando os resultados para ganhar confiança no novo código. Apesar de ser uma técnica antiga, vimos implementações mais robustas nos últimos anos, tendo como base práticas de entrega contínua, como implantações canário e feature toggles, e estendendo-as com a adição de uma camada extra de experimentação e análise de dados para comparar os resultados em tempo real. Usamos a abordagem até mesmo para comparar resultados interfuncionais, como tempo de resposta. Embora tenhamos usado a técnica várias vezes com ferramentas feitas sob medida, certamente devemos um reconhecimento à ferramenta Scientist, do GitHub, usada para modernizar uma parte crítica da aplicação e que agora foi disponibilizada para várias linguagens.