Sure, but if you ever need to shard, you can no longer assume you can do atomic transactions anyway, which means you need to rewrite a lot of stuff.<p>By designing in this way, your scaling problems change from &quot;the entire app fell over&quot; to &quot;the movie service fell over&quot;, which really helps with availability.<p>Not that there aren&#x27;t disadvantages with microservices (overhead, distributed tracing, etc), I just think app architecture isn&#x27;t one of them.