Menú
Técnicas

Ejecución paralela con conciliación

Oct 2020
Probar?

Reemplazar código legado en escala siempre es un esfuerzo complicado, el cual se beneficia a menudo de realizar una ejecución paralela con conciliación. En la práctica, esta técnica se fundamenta en ejecutar el mismo flujo en producción a través del código antiguo y nuevo, retornar la respuesta del código legado pero comparar los resultados para ganar mayor confianza en la nueva implementación. A pesar de ser una técnica antigua, en años recientes hemos visto implementaciones más robustas, basadas en prácticas de entrega continua como canary releases y feature toggles, y que se amplían añadiendo una capa extra de experimentación y análisis de datos para comparar los resultados en vivo. Incluso, hemos usado este enfoque para comparar resultados sobre aspectos no funcionales como el tiempo de respuesta. Aunque hemos utilizado esta técnica varias veces con herramientas hechas a la medida, sin duda le debemos un reconocimiento a la herramienta Scientist, de GitHub, que fue utilizada para actualizar una pieza crítica de su aplicación y que ahora ha sido portada a múltiples lenguajes de programación.