Skip to main content
Framework #29

Strangler App

Martin Fowler (2004)

What does it mean?

Most organisations have a big problem with historic investments into legacy web systems  - they combine wide ranging functionality in a ‘monolithic’ way, meaning that logically discreet elements belonging to different functional domains are tightly coupled. They share characteristics:

  • difficult to update to meet changing customer needs,
  • harder to maintain and
  • often only vertically scalable (leading to higher costs, reduced performance and reliability.

These systems are well known in the context of an organisation, but little ends up being done about them as there is a concern that any update to these business critical systems would incur high costs and lost revenue in the perceived high probability that something went wrong. Sound familiar?

The Strangler App approach safely allows companies to gradually replace and supersede old functionality from these systems with new loosely coupled microservices to which users of the legacy system will be increasingly and transparently rerouted as their portfolio grows. The approach allows both old and new services to run concurrently, “strangling” the legacy system by gradually building and rerouting to the services that make it obsolete, until it is safe to “turn it off”.

Why do we believe it's important?

It enables companies to manage legacy and deliver new value without impacting performance of existing systems.

The Strangler App approach is effective as there is no need for all client systems to switch at the same time - change can be gradual and incremental. Strangling the monolith whilst concurrently delivering new services reduces the footprint of the legacy safely, minimising business disruption, leading to extended life of the legacy system or easier replacement.

Increased value and agility can be delivered from the moment the first service is deployed while risk can be better managed by for example starting with smaller chunks of functionality and moving on to more complex aspects once the strangling process is well in place.

Lastly, conversely to a rewrite, it is not limited to simply mimicking the old system: new differentiating services can be deployed well before the legacy system is decommissioned.

How do we put it into practice?

When investigating options for technology delivery, we always start by investigating the value that the current legacy IT systems have, and the best route to evolve and provide value. Critically, when systems are monolithic in nature but are also critical to delivering business value, we use the Strangler App concept to evolve them safely and deliver new value without impacting performance. In doing so we reduce cost, increase pace of change and increase certainty of success.

Source: Martin Fowler, 2004

Solving your most complex business and transformation challenges starts with a conversation

If you're like us, let's start the conversation about how we can help transform your business.

Talk to us