Microservices vs Monolith
Decidir entre desplegar como un único servicio o dividir por capacidades de negocio, según el tamaño real del problema y del equipo.
El eje real de la decisión
No es "monolito = malo, microservicios = bueno": es cuánto acoplamiento organizacional y de despliegue puede tolerar el equipo.
Un monolito modular (módulos con límites claros dentro de un solo despliegue) suele ser el punto intermedio correcto antes de pagar el costo de una red distribuida.
Cuándo separar en servicios
Equipos distintos necesitan desplegar y escalar sus partes de forma independiente sin coordinar releases.
Una parte del sistema tiene requisitos de escalado, tecnología o disponibilidad muy distintos al resto.
Compensaciones
Microservicios cambian problemas de código (acoplamiento en un módulo) por problemas de red (latencia, fallos parciales, versionado de contratos entre servicios).
Requieren inversión en observabilidad distribuida, CI/CD por servicio y estrategia de datos (cada servicio con su propia base, o compartida) desde el día uno.
Dividir demasiado pronto, antes de conocer los límites reales del dominio, suele terminar en un "monolito distribuido": todo el dolor de red sin los beneficios de independencia.
Comentarios