Strangler Fig

The strangler fig replaces a legacy system incrementally by moving capabilities to new implementations while the old system continues to serve remaining work. Martin Fowler uses the plant metaphor for a replacement that grows alongside its host. His account emphasizes the difficulty of specifying and replacing a large system while business needs continue to change. Incremental delivery can help, but a single cutover may still suit a small system, a hard shutdown deadline, or an estate whose intermediate states are too costly to support.

Routing, ownership, and completion

Microsoft illustrates a façade that routes requests to old or new services as capabilities move. Once legacy responsibilities, dependencies, and required recovery arrangements have been addressed, the old system can be decommissioned. The façade can be removed or retained as an adapter for clients that still need its contract. Its remaining purpose should be explicit. Other seams include messages, internal interfaces, database changes, and user workflows; restrictions on source access can rule out particular implementations without excluding every gradual approach. Evaluate whether a permitted seam can preserve behavior and transfer responsibility safely. A fictional retailer had moved sixty percent of its features but still needed twenty-three adapters because reporting and other consumers relied on the legacy data they supplied. Moving features alone had not completed that dependency work.

Coexistence may be brief or prolonged; its duration is a planning result rather than part of the pattern’s definition. Identify which components are transitional, the contracts needed during coexistence, and the conditions for their removal. A routing switch is not a data rollback: current state, schema compatibility, in-flight work, and side effects determine whether returning to the old path is safe. The design and operating costs of these intermediate states are explored in Twenty-Three Adapters and No Retirement Dates.

References:


Discover more from Insightful Data Lab

Subscribe to get the latest posts sent to your email.

Similar Posts

Questions, corrections, or additional insights?

This site uses Akismet to reduce spam. Learn how your comment data is processed.