Monolito

Toda la aplicación en un único proceso desplegable.

Contexto

Una sola unidad de despliegue, una sola codebase, una sola BD. Es lo correcto para casi todos los proyectos nuevos.

#Ventajas

  • Simple: deploy único, debugging local, refactors atómicos.
  • Transacciones reales entre módulos.
  • Latencia interna = llamada a método.

#Cuándo te empieza a doler

  • El equipo crece (>15-20 ingenieros tocando lo mismo).
  • Algunas partes necesitan escalar diferente que el resto.
  • Releases bloqueados por features ajenas.
Cuándo NO aplicarlo
  • Cuando el dominio requiere autonomía total entre equipos.
  • Cuando hay perfiles de carga radicalmente distintos (un módulo necesita 100 réplicas, otro necesita 1).
Tradeoffs
Pro Contra
Máxima simplicidad operativa Acoplamiento si no hay disciplina
Refactors atómicos Deploy único = blast radius alto
Transacciones ACID gratis Escalado all-or-nothing

#architecture #monolith