Blue. Green. Red. Black. No, I'm not just talking about colors. I'm talking about a specific deployment technique we use at Kingland that allows for near zero downtime and the ability to easily rollback to a previous release if there are too many issues with the latest release.
Blue/green is a deployment technique where there are two identical sets of infrastructure. One set/environment - blue - has the current production release installed. The other set/environment - green - has the next production release installed. To keep things running smooth, a load balancer sits in front of the two environments and is pointed at the blue environment. When the green environment has the latest release installed, has been smoke tested and is ready for production, the load balancer is changed to point to the green environment. Any transactions occurring in the blue environment are allowed to finish, but all new transactions are directed to the green environment. In the event there is an issue with the release in the green environment, the release is rolled back by changing the load balancer to point to the blue environment.