# Strangler Application

> Grow a new microservice system around your monolith — strangle it piece by piece until nothing's left.

- **Category**: Microservices
- **Subcategory**: Migration & Refactoring
- **Canonical URL**: https://designpattern.fyi/patterns/strangler_application/

---

## Description
Clean, reusable architecture pattern.


## Use Cases
E-commerce monolith. Strangler starts: proxy sits in front. Search is extracted to Elasticsearch-backed Search Service first — proxy routes /search to it. Then Product Catalog. Then Orders. Over 18 months, monolith is drained and decommissioned.





## Trade-offs


### Advantages

- No big bang rewrite — low risk, continuous delivery throughout migration

- Ship new microservices incrementally — value delivered from day one

- Rollback is easy — proxy can route back to monolith if new service has issues

- Teams learn microservice patterns in production, not in a vacuum




### Considerations & Drawbacks

- Proxy/facade must be maintained and scaled throughout migration

- Shared database coupling slows extraction until DBs are separated

- Can take years — requires sustained organizational commitment

- Running two systems in parallel doubles operational complexity during migration







---
**Reference**: [Original Source](https://microservices.io/patterns/refactoring/strangler-application.html)

