Andrii Rusanov
Andrii Rusanov

Reputation: 4606

Blue/green deployment, canary releases and database consistency

There is a few techniques to ensure new changes doesn't break the system, like mentioned above blue-green or canary deployment. Both means applying changes partially (change only part of infrastructure, or run new version in parallel with old one).

However I don't get how to keep data consistency if any major changes comes in data structure (let's say, you made changes for GDPR - pretty possible case, huh?).

Even on NoSQL based solutions it may cause issues (as I imagine it). I've tried to look for solutions, but the problem is only widely mentioned, but rarely addressed.

How is it possible to introduce such techniques and keep data consistency? How does it achieved normally in real life applications?

Upvotes: 1

Views: 3941

Answers (1)

ChucK
ChucK

Reputation: 2134

If I understand your question correctly you're talking about the Expand-Contract pattern in which you change your system to support multiple data structures during an update.

You would do multiple expand-contracts for a large data structure change that couldn't be done in one deployment.

Also known as Parallel Change.

https://martinfowler.com/bliki/ParallelChange.html

Upvotes: 0

Related Questions