This pattern is part of "Patterns of Legacy Displacement"

Canary Release

Roll out a change to a subset of users

This page is a stub. We intend to fully expand it in later revisions of this material. However we are still in the middle of developing these patterns, so it's likely that patterns will be renamed, split, or merged as we continue to learn how best to frame and explain these ideas.

The canary release technique can be especially useful for legacy replacement as it allows a gradual cutover and ramp up of traffic. Combined with finding the right 'thin slice' of legacy to replace it can give a low risk approach to initial go-live and ongoing migration as we replace more and more of the existing system.

We do need to consider aspects such as user experience being obviously different for users directed to the new solution, especially when for some interactions they end up back at the legacy system. Integration points and reporting also need careful consideration, for example to make sure the business still see consistent overall metrics as we change the traffic flows. We've Canary Release often works well when combined with other approaches such as Revert to Source and Divert the Flow

For more details on this see this bliki post