Saltar al contenido principal
Arquitectura & Desarrollo
30 de enero de 2026
4 min de lectura

Cuándo migrar tu stack (y cuándo no hacerlo)

La decisión que puede salvar o hundir tu proyecto

"Deberíamos reescribir esto en [framework de moda]."

Es una frase que aparece en muchos proyectos. A veces tiene sentido. La mayoría de veces, no.

Razones legítimas para migrar

1. El stack actual bloquea el negocio

No puedes implementar funcionalidades críticas. No es que sea difícil, es que es imposible sin cambios fundamentales. Por ejemplo, si necesitas tiempo real (WebSockets) y tu stack solo soporta peticiones HTTP tradicionales, o si tu monolito no puede escalar horizontalmente y estás perdiendo usuarios en picos de tráfico.

2. No encuentras talento

Si tu stack es tan antiguo o nicho que no puedes contratar a nadie que lo mantenga, tienes un problema real de continuidad.

3. Costes de mantenimiento insostenibles

Cada cambio pequeño requiere semanas. Los bugs tardan días en diagnosticarse. El equipo tiene miedo de tocar ciertas partes del código porque nadie sabe exactamente qué hacen. Esto es deuda técnica fuera de control.

4. Seguridad comprometida

El framework ya no recibe actualizaciones de seguridad (end of life) y no hay forma de parchearlo. Estás expuesto a vulnerabilidades conocidas que cualquiera puede explotar.

Razones ilegítimas para migrar

1. "Es viejo"

Viejo no significa malo. jQuery sigue funcionando perfectamente para muchos casos de uso. PHP 8 es un lenguaje moderno y potente. Una tecnología "vieja" pero estable y mantenida es mejor que una nueva sin madurar.

2. "X framework es mejor"

¿Mejor para qué? ¿Para tu caso concreto? ¿Con tu equipo? ¿O mejor según las tendencias de Twitter? La tecnología se elige por contexto, no por popularidad.

3. "Los desarrolladores quieren"

Entendible — trabajar con tecnología antigua puede ser frustrante. Pero el aburrimiento técnico no justifica el riesgo empresarial de una migración.

4. "Todos lo están haciendo"

Lo que funciona para Netflix con miles de ingenieros no funciona para un e-commerce con 1.000 visitas diarias. El contexto lo es todo.

Costes ocultos de una migración

Estos son los que casi nadie presupuesta:

  • Tiempo: siempre es el doble de lo estimado. Es una regla casi universal en migraciones
  • Bugs nuevos: cada reescritura introduce bugs que el sistema anterior ya había resuelto hace años
  • Conocimiento perdido: lógica de negocio que estaba en el código y nadie documentó. Esos condicionales extraños que parecen absurdos hasta que descubres que resuelven un caso real de un cliente importante
  • Parálisis: mientras migras, no puedes añadir funcionalidades nuevas al sistema en producción. Tu competencia sigue avanzando
  • Moral del equipo: las migraciones largas queman. Meses trabajando en algo que "debería ser igual que antes" desgasta
  • La alternativa: strangler fig pattern

    En lugar de reescribir todo de golpe, el patrón strangler fig (inspirado en los higos estranguladoras que crecen alrededor de otro árbol) propone migrar pieza a pieza:

  • 1La nueva funcionalidad se hace en el stack nuevo
  • 2La funcionalidad existente se migra gradualmente, módulo a módulo
  • 3El sistema viejo se va "estrangulando" hasta que desaparece
  • Técnicamente, esto se implementa con un proxy o API gateway — un intermediario que dirige las peticiones al sistema nuevo o al viejo según la ruta. Así ambos conviven durante la transición sin que el usuario note nada.

    Es más lento, pero infinitamente menos arriesgado. No hay un "día D" donde todo puede fallar.

    Señales técnicas de que sí necesitas migrar

    Para los más técnicos, estas son señales claras:

  • Ciclos de deploy de horas o días — si desplegar un cambio simple lleva más de 30 minutos, el tooling o la arquitectura son un problema
  • Tests que no puedes escribir — si el código es tan acoplado que no puedes testearlo unitariamente, la mantenibilidad se degrada con cada cambio
  • Dependencias sin soporte — si tu framework depende de librerías que llevan años sin mantenimiento y tienen CVEs (vulnerabilidades publicadas) abiertos
  • Imposibilidad de escalar un componente específico — si todo es un monolito y necesitas escalar solo una parte (como procesamiento de imágenes o colas de trabajo)
  • Mi regla personal

    Migra cuando el coste de no migrar supere claramente el coste de migrar.

    Y ese cálculo debe incluir:

  • Coste real de la migración (no el optimista)
  • Coste de oportunidad de no hacer otras cosas durante la migración
  • Riesgo de que la migración falle o se alargue indefinidamente
  • Conclusión

    La mayoría de migraciones que se proponen son innecesarias. Las que son necesarias, se subestiman brutalmente.

    Antes de migrar, pregúntate: ¿qué problema concreto estoy resolviendo? Si la respuesta es vaga, probablemente no deberías migrar. Si es específica y medible, entonces vale la pena analizar el camino.


    Si estás considerando un cambio de tecnología y quieres una segunda opinión, puedo ayudarte a evaluar si realmente merece la pena o si hay alternativas menos drásticas.

    Etiquetas

    #arquitectura#migración#deuda técnica

    ¿Te ha resultado útil?

    Explora más artículos en el tablón

    Volver al tablón