| Concepto | Definición breve |
|---|---|
| Migración de aplicaciones | Proceso de mover una aplicación de un entorno a otro (físico → nube, versión antigua → nueva, etc.) |
| Objetivo | Mejorar rendimiento, reducir costes, modernizar tecnología o eliminar deuda técnica |
| Decisión clave | Elegir la modalidad adecuada según coste, riesgo y valor esperado |
| Modalidad | También llamada | Cambio en código | Complejidad | Objetivo principal |
|---|---|---|---|---|
| Rehosting | Lift & Shift | ❌ Mínimo | 🟢 Baja | Mover sin tocar |
| Replatforming | Lift, Tinker & Shift | ⚠️ Parcial | 🟡 Media | Optimizar en nueva plataforma |
| Refactoring | Re-architecting | ✅ Profundo | 🔴 Alta | Rediseñar arquitectura |
| Refronting | — | ⚠️ Solo frontend | 🟡 Media | Modernizar interfaz |
| Replacement | — | ❌ Se abandona | 🟡 Media | Sustituir por solución nueva |
| Repurchasing | — | ❌ Se abandona | 🟢 Baja | Comprar producto de mercado (SaaS) |
| Retaining | — | ❌ Ninguno | 🟢 Baja | No migrar (por ahora) |
| Retiring | — | ❌ Ninguno | 🟢 Baja | Dar de baja la aplicación |
Mover la aplicación tal cual a otra infraestructura (p. ej., de servidores físicos a nube) sin modificar el código.
Migrar realizando ajustes menores para que la aplicación funcione mejor en la nueva plataforma, sin rediseñarla.
Modificar en profundidad el código o la arquitectura para adaptarse al nuevo entorno, mejorar escalabilidad o eliminar deuda técnica.
Cambiar o modernizar la capa de presentación (UI/UX) manteniendo la lógica interna y el backend.
Sustituir la aplicación antigua por una nueva solución desarrollada a medida o estándar, en lugar de migrar la existente.
Abandonar la aplicación actual y adquirir un producto ya existente en el mercado (frecuentemente SaaS) que cubra la misma necesidad.
No migrar la aplicación, al menos por el momento, porque sigue siendo útil o porque migrarla no compensa el esfuerzo.
Dar de baja la aplicación porque ya no aporta valor, ha quedado obsoleta o sus funciones ya no son necesarias.
¿La aplicación sigue aportando valor?
│
NO ──┴──► Retiring
│
SÍ
│
¿Se debe migrar ahora?
│
NO ──┴──► Retaining
│
SÍ
│
¿Se puede sustituir por un producto de mercado?
│
SÍ ──► Replacement / Repurchasing
│
NO
│
¿Solo hay que cambiar la interfaz?
│
SÍ ──► Refronting
│
NO
│
¿Hace falta cambiar código?
│
NO ──┴──► Rehosting (Lift & Shift)
│
Ajustes menores ──► Replatforming
│
Cambios profundos ──► Refactoring / Re-architecting
| Modalidad | Coste | Riesgo | Tiempo | Beneficio tecnológico |
|---|---|---|---|---|
| Rehosting | 💰 Bajo | 🟢 Bajo | ⚡ Rápido | Bajo |
| Replatforming | 💰💰 Medio | 🟡 Medio | 🕐 Medio | Medio |
| Refactoring | 💰💰💰 Alto | 🔴 Alto | 🕐🕐 Largo | Muy alto |
| Refronting | 💰💰 Medio | 🟡 Medio | 🕐 Medio | Medio (solo UI) |
| Replacement | 💰💰💰 Alto | 🔴 Alto | 🕐🕐 Largo | Alto |
| Repurchasing | 💰💰 Medio | 🟡 Medio | ⚡ Rápido | Alto (SaaS) |
| Retaining | 💰 Nulo | 🟢 Nulo | — | Nulo |
| Retiring | 💰 Nulo | 🟢 Nulo | ⚡ Rápido | Eliminación deuda técnica |
Las 8 modalidades de migración (las "8 R") cubren todo el espectro desde no hacer nada (Retaining/Retiring) hasta rediseñar completamente (Refactoring), pasando por mover sin cambios (Rehosting) o sustituir por soluciones de mercado (Repurchasing).
La elección de modalidad depende del equilibrio entre coste, riesgo, tiempo disponible y el beneficio tecnológico esperado; no existe una opción universalmente mejor.
En contexto de oposiciones, se suele preguntar la diferencia entre modalidades similares: Replacement vs Repurchasing, Rehosting vs Replatforming, y el criterio para elegir Retiring frente a Retaining.