Martin Fowler's Blog, page 4
July 29, 2021
An example: Integration Middleware Removal

To illustrate how these patterns work in practice, Ian, Rob, and James describe an example of how one of our teams used a number of Legacy Modernization Patterns to successfully replace integration middleware critical to the operation of their client's business as part of a larger legacy modernization programme. They combined patterns and refactorings to successfully manage risk to the business, and facilitate eating this particularly gristly part of the elephant.
July 27, 2021
Feature Parity

On many occasions when my colleagues find themselves talking to IT executives they hear how the executives have a suite of aging applications built using soon to be, if not already end of life technologies. More often that not these systems are hosted in costly data centers managed by 3rd parties and with inflexible contracts. These applications are critical to the successful operation of the business, while at the same time being one of the largest sources of business and operational risk.
One approach in this situation is to try to minimize the impact of replacement on the broader organization by 'simply' replacing the technology while leaving everything else 'as is'. Whilst Feature Parity often sounds like a reasonable proposition, we have learnt the hard way that people greatly underestimate the effort required, and thus misjudge the choice between this and the other alternatives.
July 21, 2021
Extract Product Lines

To do effective legacy displacement, we need to figure out how to break down the problem into manageable pieces. Extract Product Lines does this by identifying product lines and using them as the basis for migration.
July 20, 2021
Patterns of Legacy Displacement

My colleagues do a lot of work that involves replacing legacy software systems. Three of my colleagues - Ian Cartwright, Rob Horn, and James Lewis - have started to capture their experience and advice for this is a collection of patterns. We begin with an overview article that lays out four main categories of activity that need to be done for a successful legacy displacement.
July 2, 2021
photostream 126
July 1, 2021
Follower Reads

When you are using Leaders and Followers, you can use Follower Reads to achieve better throughput and lower latency. However there is always a replication lag between the leader and the followers, so you may need to take action to preserve consistency.
June 29, 2021
Stepping Back from Speaking
A personal note on why I wish to give up doing talks
Version Vector

A Lamport Clock is effective to order events on a single server, but with multiple servers we need a vector of version numbers to detect concurrent updates.
June 23, 2021
Hybrid Clock

While a Lamport Clock is often necessary to order events in a distributed system, clients often need to know the actual times too. The Hybrid Clock, Unmesh's next pattern, combines these two demands.
Lamport Clock

Next distributed system pattern from Unmesh is the Lamport Clock. Distributed systems can't assume that time is consistent between servers, and sometimes time goes backwards. Yet it's important to have some way to order events.
Martin Fowler's Blog
- Martin Fowler's profile
- 1099 followers
