blue/green deployment

This definition is part of our Essential Guide: ALM best practices for advanced DevOps organizations

A blue/green deployment is a software deployment strategy that relies on two identical production configurations that alternate between active and inactive. One environment is referred to as blue, and the duplicate environment is dubbed green.

The two environments, blue and green, can each handle the entire production workload and are used in an alternating manner rather than as a primary and secondary space. One environment is live and the other is idle at any given time. When a new software release is ready, the team deploys this release to the idle environment, where it is thoroughly tested. Once the new release has been vetted, the team will make the idle environment active, typically by adjusting a router configuration to redirect application traffic. This leaves the alternate environment idle.

A blue/green deployment avoids interruptions to service or performance degradation during roll out of a patch or upgrade. The deployment scheme can eliminate application downtime because the update process does not impinge on the production workload. The current application version continues to operate normally until the new version is completely tested and then switched over. An IT organization may choose to follow this advanced software deployment pattern for consumer-facing applications or applications with critical uptime requirements.

Blue-green deployment is touted as one of the most foolproof deployment strategies. If unforeseen problems arise during testing, the team can prevent the new version from cutting over to production until additional development work is performed. If problems are discovered once a cutover occurs, the rollback simply requires redirecting traffic to the alternate, idle configuration that still runs the original version. Once the new version is proven in production, the organization can choose to update its idle configuration environment to the newer code. This provides an added measure of disaster recovery capability.

In a blue/green deployment, identical environments run with one active while the other is updated and thoroughly tested. Once the deployment is ready, a simple network change flips the active and idle environments.
In a blue/green deployment, identical environments run with one active while the other is updated and thoroughly tested. Once the deployment is ready, a simple network change flips the active and idle environments.

Blue/green deployment demands the largest IT hardware commitment of the various software deployment techniques, because an enterprise must provide twice the hardware found in a conventional production setting, yet only half of that hardware is actually running a production workload at any one time. A company could use dynamic cloud resources to run any number of identical production environments -- green, blue, purple and so on -- concurrently during deployment times. Once the deployment is verified as good, the additional environments collapse, freeing resources.

Blue and green hardware sets must generally match to minimize performance or compatibility differences between blue and green configurations. Organizations that cannot commit to duplicate hardware configurations may opt for other deployment strategies, such as rolling deployments. A software developer should also pay close attention to the potential effect that a blue/green deployment has on relational databases. Different software versions may cause discrepancies in blue and green databases, so it is usually considered best practice to use a single database to ensure forward and backward compatibility.

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.

This was last updated in August 2016

Continue Reading About blue/green deployment



Find more PRO+ content and other member only offers, here.

Join the conversation

1 comment

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

What's the most efficient way to host blue/green deployments on IT resources?


File Extensions and File Formats

Powered by: