Los microservices suelen ser la opción inicial incorrecta. Una regla común es "monolito primero": comience con un monolito bien estructurado y extraiga servicios solo cuando tenga una razón concreta.
Evite microservices cuando
✗ Small team — more services than people to run them
✗ Early-stage product — domain boundaries still shifting
✗ No CI/CD, monitoring, or tracing in place
✗ Low traffic — no real scaling pressure
✗ Simple domain — splitting adds cost, not value
El costo de la división prematura
Mover una llamada de método in-process a una llamada de red agrega latencia, modos de fallo, serialización y una unidad de implementación. Si los límites son incorrectos, paga todo eso aún tiene que refactorizar entre servicios.
