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