Blue-green deploys
Two gardens
Martin Fowler describes blue-green deployment: "two production environments, as identical as possible." One, say blue, serves every player. The new release goes onto the other, green, where it can be tested with no players on it.
Flip the switch
When green is ready, Remy switches the router, the part that sends each request to a server, so that "all incoming requests go to the green environment."
And "if anything goes wrong you switch the router back to your blue environment." Blue then waits as the place for the next release.
Quick check
Green went live and failed saves jumped. What is Remy's fastest way back?
- Switch the router back to blue
- Rebuild blue from scratch
- Wait for the next release
Show the answer
Switch the router back to blue
Blue is still running the old version, untouched. Switching back takes seconds.
Canary or blue-green?
A canary moves a few players first and watches. Blue-green moves everyone at once, but going back is instant.
The cost is a second full copy of production during every release. Teams often mix the two: green gets 5% of players before the full switch.
Count the cost
Shard Garden runs on 10 servers. How many does blue-green need during a release?
- 20: two full copies
- 10
- 11
Show the answer
20: two full copies
Blue and green are two production environments, as identical as possible, so both need all 10 while the switch happens.
The shared database
Blue and green usually share one database, and that is the hard part. Fowler's advice: "separate the deployment of schema changes from application upgrades."
The database changes first, in a way both versions can use. Only then does the router switch.
Quick check
Green's release renamed a database column that blue still reads. What happens if the team switches back to blue?
- Blue breaks: it looks for a column that is gone
- Nothing: blue has its own copy of the data
- The rename undoes itself
Show the answer
Blue breaks: it looks for a column that is gone
Both colours share the database. A change only one version understands removes the way back, which is why schema changes go first and stay compatible.
Not every undo is a switch
Switching back is one kind of rollback. Some changes are much harder to undo.
Bolt says: Next: rollbacks.
Fact-checked 12 October 2026
- Martin Fowler: BlueGreenDeployment martinfowler.com