Arquitectura
Migrar un ERP sin apagarlo
Cómo el patrón Strangler Fig permite reemplazar un sistema heredado módulo por módulo mientras la empresa sigue facturando.
Reescribir un ERP desde cero es la apuesta más cara que puede hacer el área de sistemas de una empresa mediana. Durante meses no hay nada nuevo en producción, el sistema antiguo sigue recibiendo parches y, cuando por fin llega la versión nueva, el negocio ya cambió.
El patrón Strangler Fig propone otro camino: el sistema nuevo crece alrededor del antiguo, como la higuera que envuelve a un árbol, hasta que el original deja de ser necesario.
Cómo se aplica en la práctica
- Mapear los módulos del sistema actual y sus dependencias: qué tablas lee, qué tablas escribe y qué otros módulos lo llaman.
- Elegir el primer módulo por valor y bajo acoplamiento. Un reporte o una consulta de cartera suelen ser mejores candidatos que la facturación.
- Compartir la base de datos al inicio y versionar cada cambio de esquema con migraciones (Flyway o Liquibase) para que ambos sistemas convivan.
- Redirigir a los usuarios desde el menú del sistema antiguo hacia la pantalla nueva. Para la persona usuaria, es solo una pantalla que mejoró.
- Retirar el código antiguo de ese módulo cuando el nuevo lleva un ciclo completo de operación sin incidentes.
Lo que hay que vigilar
- Pool de conexiones compartido. Si dos aplicaciones usan la misma base de datos, una consulta lenta en una puede agotar las conexiones de la otra.
- Reglas de negocio escondidas en procedimientos almacenados o en código generado. Hay que documentarlas antes de migrar.
- Pruebas de regresión que comparen la salida del módulo antiguo con la del nuevo usando datos reales anonimizados.
La migración por etapas no es la más vistosa, pero es la que permite mostrar resultados cada dos semanas y detenerse sin perder lo avanzado.
Publicado por el equipo de ESCAMIA. Si quieres aplicar algo de esto en tu empresa, conversemos.