English for Microservice Decomposition: How to Discuss Breaking Up a Monolith
Learn the English vocabulary for microservice decomposition — strangler fig, bounded contexts, seam identification, and migration phase discussions.
Decomposing a monolith into microservices is one of the most complex architectural migrations a team can undertake. It spans months or years, involves multiple teams, and requires constant alignment through technical discussions, design reviews, and stakeholder updates. Being able to discuss decomposition strategy fluently in English — including its risks, trade-offs, and progress — is a critical skill for any engineer or architect involved in this kind of work.
Key Vocabulary
Monolith A monolith is a software application where all components are tightly coupled and deployed as a single unit. The term is often used informally to describe any large, hard-to-change codebase. “Our monolith has grown to 800,000 lines of code over eight years — deployment takes 45 minutes and every change risks a full rollback.”
Decomposition Decomposition is the process of breaking down a monolith into smaller, independently deployable services. It is a strategy, not a single event. “We have been working on the decomposition of the order management domain for the last two quarters.”
Strangler fig pattern The strangler fig pattern is a migration strategy where new microservices gradually replace functionality in the monolith. Traffic is incrementally rerouted from the old system to the new one until the monolith can be retired. “We are using the strangler fig pattern — the new notifications service now handles all outbound emails, and we have removed that code from the monolith.”
Seam A seam is a natural boundary in the monolith where functionality can be cleanly separated. Identifying seams is the first step in planning a decomposition. “The first task is seam identification — we need to map the boundaries where the codebase can be split without tearing apart shared data models.”
Bounded context A bounded context, from Domain-Driven Design, is a clearly defined area of the domain model with its own internal language and logic. It is the conceptual basis for a microservice boundary. “The payments domain has a clear bounded context — it has its own entities, its own language, and minimal coupling to the inventory domain.”
Anti-corruption layer (ACL) An anti-corruption layer is a translation layer that sits between the old monolith and a new microservice, preventing the old data model from leaking into the new service’s design. “We introduced an anti-corruption layer so the new user service does not inherit the legacy account model from the monolith.”
Migration phase A migration phase is a defined stage in the decomposition plan, typically associated with a specific service or domain being extracted. Phasing allows teams to deliver value incrementally rather than attempting a big-bang migration. “We are in phase two of the migration — the catalogue service is extracted, and we are beginning the extraction of the search domain.”
Traffic routing / routing layer In a strangler fig migration, a routing layer sits in front of both the monolith and the new services, directing requests to the appropriate destination based on routing rules. “The routing layer decides whether a request goes to the legacy monolith or the new order service, based on a feature flag.”
Useful Phrases
- “We are proposing a phased decomposition over 12 months, starting with the highest-value domain boundaries.”
- “The strangler fig pattern lets us migrate incrementally without a flag day — we never have to switch everything over at once.”
- “Before we begin extraction, we need to agree on the bounded context boundaries — where does the orders domain end and the fulfilment domain begin?”
- “The main risk of decomposition is distributed transactions — we need to agree on a consistency model before we extract the payments service.”
- “This is a migration, not a rewrite — we are preserving behaviour and shifting ownership, not reinventing the logic.”
Common Mistakes
Saying “break” the monolith instead of “decompose” or “extract from” “We are going to break the monolith” sounds alarming and imprecise. Use “decompose,” “extract,” “migrate,” or “split out.” These terms communicate intent and control rather than destruction.
Confusing bounded context with microservice A bounded context is a conceptual design tool; a microservice is a deployment unit. One bounded context might become one microservice, but the concepts are not interchangeable. Say “we are using bounded contexts to guide our service boundaries,” not “we are designing bounded contexts as our microservices.”
Treating decomposition as a technical problem only Decomposition always involves organisational change — ownership, on-call responsibilities, and team topologies shift. When discussing the plan in English, include this dimension: “Extracting the payments service also means the payments team takes ownership of its SLO and on-call rotation.”
Microservice decomposition is as much a communication challenge as a technical one. Fluency in the vocabulary of seams, bounded contexts, and phased migration will help you lead and contribute to these discussions with confidence.