Jonatan Matajonmatum.com
conceptosnotasexperimentosensayos
© 2026 Jonatan Mata. All rights reserved.v2.1.1
Conceptos

Patrón Strangler Fig

Estrategia de migración incremental que reemplaza gradualmente un sistema legacy con componentes nuevos, enrutando tráfico progresivamente hasta que el sistema antiguo se puede retirar.

seed#strangler-fig#migration#legacy#pattern#modernization#architecture

¿Qué es?

El patrón Strangler Fig (nombrado por la higuera estranguladora) es una estrategia para migrar sistemas legacy de forma incremental. En lugar de un rewrite completo — el temido «big bang» que falla más de lo que funciona — se construyen componentes nuevos que gradualmente reemplazan funcionalidad del sistema antiguo mientras este sigue operando.

Martin Fowler lo describió en 2004 inspirado por las higueras estranguladoras de Australia: semillas que germinan en la copa de un árbol huésped, crecen raíces hacia abajo, y eventualmente envuelven y reemplazan al árbol original.

¿Por qué importa?

Los rewrites completos son el cementerio de proyectos de software. El patrón Strangler Fig ofrece una alternativa pragmática:

  • Riesgo controlado — cada migración es pequeña y reversible
  • Valor continuo — el sistema legacy sigue funcionando mientras se construye el nuevo
  • Aprendizaje incremental — el equipo descubre requisitos ocultos del legacy gradualmente, no al final
  • Financiamiento sostenible — se puede justificar inversión continua porque cada iteración entrega valor

Proceso

  1. Colocar un proxy/facade frente al sistema legacy — este es el punto de control que permite enrutar tráfico
  2. Implementar nueva funcionalidad en el sistema nuevo para una ruta o feature específica
  3. Enrutar tráfico gradualmente al sistema nuevo (por porcentaje, por usuario, por región)
  4. Validar y monitorear — comparar comportamiento entre ambos sistemas
  5. Repetir hasta que el legacy no reciba tráfico
  6. Retirar el sistema legacy cuando ya no sea necesario

¿Cuándo usarlo?

  • Sistemas monolíticos que necesitan modernizarse pero no pueden detenerse
  • Migraciones de bases de datos donde la consistencia es crítica
  • Transiciones de on-premise a cloud
  • Reemplazo de frameworks o lenguajes obsoletos

¿Cuándo no usarlo?

  • Sistemas pequeños donde un rewrite toma menos de un sprint
  • Cuando el sistema legacy no tiene una interfaz clara para interceptar
  • Si no hay forma de enrutar tráfico selectivamente

Variantes

VarianteMecanismoCuándo usar
Strangler Fig (clásico)Proxy HTTP redirige tráfico gradualmenteMigración de monolito web a microservicios
Branch by AbstractionAbstracción interna en el códigoReemplazar componentes internos sin cambiar la API
Parallel RunEjecutar ambos sistemas y compararCuando la corrección es crítica (pagos, cálculos)
Feature ToggleFeature flags controlan qué usuarios ven el nuevo sistemaMigración gradual por segmento de usuarios

Referencias

  • Strangler Fig Application — Martin Fowler, 2004. El artículo original que nombró el patrón.
  • Legacy Application Strangulation — Paul Hammant, 2013. Casos de estudio reales de aplicación del patrón.
  • Strangler Fig Pattern — Azure — Microsoft, 2024. Guía de implementación del patrón.

Contenido relacionado

  • Microservicios

    Estilo arquitectónico que estructura una aplicación como colección de servicios pequeños, independientes y desplegables, cada uno con su propia lógica de negocio y datos.

  • Patrón API Gateway

    Patrón que proporciona un punto de entrada único para múltiples microservicios, manejando routing, autenticación, rate limiting y agregación de respuestas.

  • Arquitectura Hexagonal

    Patrón arquitectónico que aísla la lógica de negocio del mundo exterior mediante puertos y adaptadores, facilitando testing y cambio de tecnologías.

  • Prácticas DevOps

    Conjunto de prácticas técnicas y culturales que implementan los principios DevOps — desde Infrastructure as Code hasta blameless post-mortems. El «cómo» detrás de la filosofía.

Conceptos