Volver al blog
ArquitecturaPor Adrián Pastora··5 min de lectura

Monolito o microservicios: la pregunta equivocada

La decisión no es monolito vs microservicios. Es qué dependencias estás dispuesto a mantener.

ArquitecturaDecisiones

"¿Deberíamos migrar a microservicios?" es una de las preguntas que más escucho. Y casi siempre es la pregunta equivocada.

Por qué la pregunta está mal planteada

Monolito vs microservicios no es una decisión binaria. Es un espectro, y la pregunta real es: ¿qué acoplamiento estás dispuesto a mantener?

Un monolito bien modularizado puede tener las mismas ventajas que microservicios sin el coste operacional. Un conjunto de microservicios mal diseñado tiene todos los problemas de un monolito más los de un sistema distribuido.

Lo que de verdad importa

1. Independencia de despliegue

¿Puedes desplegar una parte del sistema sin desplegar el resto? Si la respuesta es no, no importa cómo lo llames: es un monolito.

2. Independencia de datos

¿Cada servicio tiene su base de datos? ¿O comparten tablas? Compartir tablas entre "microservicios" es el peor de los dos mundos.

3. Comunicación síncrona vs asíncrona

Si tus microservicios se llaman en cadena síncronamente, cualquier caída baja todo el sistema. Cuando más servicios, más probabilidad de fallo.

Un sistema distribuido mal diseñado no es un sistema distribuido. Es un sistema frágil con más piezas.

El camino que recomiendo

Casi siempre el mismo:

  1. Empieza con un monolito. Modular, bien estructurado, con fronteras claras.
  2. Identifica los puntos de dolor reales cuando aparezcan: deploy, escala, equipo.
  3. Extrae un servicio cuando el dolor lo justifique.
  4. Repite.

No al revés. No porque lo hayas leído en un blog. No porque Netflix lo haga.

En resumen

Microservicios son una solución a problemas de organización y escala. Si no tienes esos problemas, son una inversión sin retorno.

La pregunta correcta no es "¿monolito o microservicios?". Es "¿qué problema estoy intentando resolver?".


— Adrián Pastora

Si te ha resultado útil y quieres aplicar algo de esto en tu empresa, hablemos.