Database is the sticky part of this strategy. If Blue is in production and Green is on deck, how are updates to the Blue database pushed to Green?
The database when treated as a unique exception allows you to just get on with developing robust infrastructure.
However for this to work you need to keep code off the database and treat database changes as migrations not blue/green deploys.
I can't say this enough, treat the database as an exception, keep it clean without code on it and with 'soft' schemas (ones that tolerate minor changes well) - then you can do b/g deploys easily.
Also let someone else host the DB where possible (or the same cloud infrastructure of course), it's just not worth the pain.