A practical discussion on when it actually makes sense to split an application into multiple deployment units (microservices). Four legitimate technical reasons are outlined: differences in traffic/workload across modules, need for horizontal scaling during peak load, multi-tenancy with data isolation (sharding), and multi-region deployments. Two common but questionable justifications are also challenged: pursuing 100% availability at all costs, and splitting services purely based on storage type. The post argues that microservices should be driven by real technical needs, not cargo cult or buzzword adoption.

5m read timeFrom event-driven.io
Post cover image