Microservicios
DistribuidaArquitectura donde la aplicación se divide en servicios pequeños e independientes
Principios Fundamentales
Responsabilidad única por servicioDespliegue independienteDescentralización de datosDiseño para fallos
Cuándo Usar
Equipos grandes, necesidad de escalar independientemente, tolerancia a complejidad operacional
Cuándo Evitar
Equipos pequeños, MVPs, aplicaciones simples, falta de experiencia DevOps
Ventajas y Desventajas
Ventajas
- + Escalabilidad independiente por servicio
- + Equipos pueden trabajar de forma autónoma
- + Flexibilidad tecnológica (polyglot)
- + Despliegues más pequeños y frecuentes
- + Aislamiento de fallos
Desventajas
- - Complejidad operacional alta
- - Latencia de red entre servicios
- - Debugging y tracing más difícil
- - Consistencia eventual vs transaccional
- - Requiere DevOps maduro