🏬 Un monolito es un mall de un solo dueño: si cae la luz, cae todo. Microservicios son varias tiendas independientes en una calle: si una cierra, las otras siguen vendiendo.
Una arquitectura monolítica agrupa toda la lógica (usuarios, productos, pedidos, pagos) en una sola aplicación que se despliega como una unidad. Es simple al inicio, pero a medida que crece se vuelve frágil: un cambio en pedidos obliga a redesplegar todo.
Microservicios
Los microservicios dividen esa misma lógica en servicios pequeños e independientes, cada uno con su propio proceso, su propia base de datos y su propio ciclo de despliegue. Se comunican entre sí por APIs bien definidas (REST, gRPC, mensajería).
Beneficios principales
- Autonomía: cada servicio se desarrolla, despliega y escala por separado.
- Especialización: cada servicio cubre una sola capacidad de negocio.
- Resiliencia: si un servicio cae, el resto sigue funcionando.
- Diversidad tecnológica: cada servicio puede usar el lenguaje o framework que mejor le convenga.