Blue Green Deployment
Blue-Green Deployment is a strategy for deploying and publishing software. The concept is based on two separate but productive environments that are capable of providing the respective applications. The individual environments are called Blue and Green and are in the best case identical.
Only one of the two environments is active at one time (Blue) and accepts the requests to the productive applications. In front of the endpoints of each environment is a router or load balancer to route traffic to the active environment.
If a new software release is developed, it is first deployed to the inactive environment (Green). In a blue-green deployment, the non-active environment is the final “staging” environment. It maps the production environment (the active environment) as close as possible and is also used for the final test.
As soon as the new software version has been tested and considered to be stable, the new release can be provided as a productive version by routing the traffic to the “green” environment by the router / load balancer. The previous active environment (blue) becomes inactive and the previous staging environment (green) becomes a productive environment.
From this time, the previous software version is no longer active but still available. If the new version shows unexpected anomalies or serious problems, the last state can be restored to the old environment by simply reconfiguring the router / load balancer.
“A blue/green deployment is sometimes called A/B, but should not be confused with A/B split testing, wherein two distinct options are presented to a sample group of target users to gauge which option is more effective”. http://searchitoperations.techtarget.com/definition/blue-green-deployment
Blue - Green Deploying in ECommerce
Especially in the eCommerce environment “Blue Green Deployments” are a good concept to support the continuous deployment of new releases. After all, the leading eCommerce shops have not been updating updates, new features and features for a long time, but have established a process that ensures that releases are continually rolled out. This is due to the fact that the innovation and competitiveness of eCommerce companies is now closely linked to a short clock frequency of new releases. But only if these can also be inserted without interruption in the running operation are the efforts also crowned with success.
Static shops with few releases per year are on the siding. The ability to integrate new functions into the weekly, daily or hourly rhythm and thus to further develop one's own business model is becoming increasingly important in the age of eCommerce and digitization. A Continuous Deployment supported by a Blue Green Deployment strategy helps eCommerce companies and web shop operators achieve this goal.
Experiences with Blue - Green Deploying
Overall, we have had very good experiences with Blue-Green Deployments. The deployments work smoothly, no software adjustments are necessary (apart from dealing with DB schema changes - the problem has to be solved anyway). Also the possibility to roll back at any time is a trust-building measure: Due to the possibility to immediately switch back to the previous release, one would tend to deploy in a hot phase - which results in a lot of small deployments, is much less risky than the large, rare deployments of “Major Releases” - performed nightly and controlled by a comprehensive process.