I microservizi sono spesso la scelta sbagliata all'inizio. Una regola comune è "monolite prima": inizia con un monolite ben strutturato ed estrai i servizi solo quando hai una ragione concreta.
Evita i microservizi quando
✗ 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
Il costo della divisione prematura
Spostare una chiamata a un metodo in-process a una chiamata di rete aggiunge latenza, modalità di errore, serializzazione e un'unità di distribuzione. Se i confini sono sbagliati, paghi tutto questo devi comunque effettuare il refactoring tra i servizi.
