One bounded context per microservice often creates a distributed monolith
A widely accepted rule in software architecture holds that each Domain-Driven Design bounded context should map to one microservice, but critics argue this approach frequently produces a distributed monolith. Splitting a domain into separate services does not remove coupling between components — it merely moves that coupling onto the network, adding significant latency overhead. Amazon Prime Video's 2023 case study illustrated this risk: their microservices-based Video Quality Analysis tool collapsed at just 5% of expected load, and consolidating services into a single process cut infrastructure costs by 90%. Experts including Sam Newman, Kelsey Hightower, and Simon Brown have each warned that decomposing systems prematurely results in all the drawbacks of both monoliths and distributed systems simultaneously. The recommended approach is to first establish well-structured bounded contexts as modules within a single deployable, and only extract services when there is a concrete, justified need.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in