Production Blue-Green Deployment Pattern
came up during IRIS call with Zac, Joel, Julian & Robb - This is Robb's write-up on the matter.
- Blue-Green deployment: two Production ASGs & ELBs
- only one is live at any time (Route53 Alias)
- standby ASG can be deployed-to (rollforward or rollback), warmed-up (scaling, caching ,etc), and verified (smoke tests, etc. aginst
standby.us-east-1.iris.tv) BEFORE being made live
- Route53 API [ChangeResourceRecordSets] are transactional
- Post-swap, the newly standby ASG can be updated to 0 desired instances (min and max = 0 too).
- DNS changing is how AWS Elastic Beanstalk works too (
SWAP CNAMEAPI call).