Carlos Cifuentes
Glosario

Migración incremental

Una migración incremental lleva una aplicación a una tecnología nueva en pasos pequeños que se publican, mientras el producto sigue en producción todo el tiempo.

Una migración incremental reemplaza la tecnología vieja pieza por pieza. Después de cada paso la aplicación se despliega y se usa. No hay un período largo en el que el código nuevo espere sin publicarse. Lo viejo y lo nuevo corren lado a lado, conectados por algún tipo de puente, hasta que se retira la última pieza vieja.

En un frontend, los puentes habituales son:

  • Una aplicación híbrida, donde los dos frameworks corren en una página con ngUpgrade.
  • Un shell que envía algunas URLs a la aplicación vieja y otras a la nueva.
  • Web components que llevan funcionalidades nuevas a páginas viejas.

Ejemplo

Un equipo que migra desde AngularJS planifica por rutas. El primer sprint configura el build de Angular y el puente, sin cambios visibles. El segundo mueve la pantalla de login. El tercero mueve la lista de clientes. Cada sprint termina con un release a producción. El avance se mide como la proporción de rutas servidas por el código nuevo, y la gerencia ve ese número cada dos semanas.

Confusión frecuente

A veces se entiende incremental como lento o sin final. El esfuerzo total suele ser parecido al de una reescritura, y puede ser mayor por el código puente. Lo que cambia es el perfil de riesgo. Los problemas aparecen temprano y en dosis pequeñas, el valor llega a los usuarios de forma continua, y el proyecto se puede pausar sin perder lo hecho.

El peligro real es detenerse cuando ya se hizo la mayor parte. Las pantallas restantes mantienen vivos el framework viejo, el build viejo y el puente. Define la meta desde el inicio: el framework viejo fuera del bundle. La guía Cómo migrar de AngularJS a Angular sin downtime describe los pasos.

Por qué importa. Mantiene el producto en producción y el roadmap de funcionalidades en movimiento durante la migración, y convierte un riesgo grande en muchos riesgos pequeños y reversibles.

Términos relacionados

¿Planeas una migración o una plataforma de microfrontends?

En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.

Escríbeme por LinkedIn