1 min read

Blue/Green Deployment

In a traditional approach to application deployment, engineers fix the failed deployments by deploying an older stable version of the same application. Although, this approach works but there are a lot of shortcomings with it. The rollback is a cumbersome process and takes more than usual time which results in a longer downtime period of the application deployed. A new approach which is a lot more agile in nature, scalable and automated to have the deployment seamlessly done is Blue/Green deployment.


Methodology


Blue/green deployments provide near zero downtime release and easy rollback capabilities. The fundamental idea behind blue/green deployment is to shift traffic between two identical environments that are running different versions of your application. The blue environment represents the current application version serving production traffic. In parallel, the green environment is staged running a different version of your application. After the green environment is ready and tested, production traffic is redirected from blue to green.


BG.png


Benefits


  • Reduces risk by allowing time for full regression testing prior to the release of a new version.
  • Near zero-downtime deployments
  • Fast rollbacks
  • Allows you to test disaster recovery procedures
  • As new code is already loaded onto a parallel environment and the live site is unaffected, the Release and Test teams have no time pressures on quickly completing the push of new code to the website during a planned outage


This deployment is possible with almost all the cloud providers by using various services which they offer. Some services offered by different cloud providers to set up a blue/green deployment are:


DNS Service


DNS services runs on a global network of DNS servers providing customers with added features, such as routing based on health checks, geography, and latency. DNS is a classic approach to blue/green deployments, allowing administrators to direct traffic by simply updating DNS records in the hosted zone.


Load Balancing


Another common approach to routing traffic for a blue/green deployment is through the use of load balancing technologies. Elastic Load Balancing distributes incoming application traffic across designated Elastic Compute Cloud instances.


Auto Scaling


Auto Scaling helps maintain application availability and lets customers scale instance capacity up or down automatically according to defined conditions. Both Auto Scaling termination policies and Standby state enable blue/green deployment.


Application deployment has associated risks. But the advent of cloud computing, deployment and automation frameworks, and new deployment techniques, such as blue/green, help mitigate risks, such as human error, process, downtime, and rollback capability.


10 Machine Learning Technologies You Unknowingly Use

When you hear about machine learning, your first thought might be that it is an advanced technology that has nothing to do with your life. However,...

Read More

3 Types of Machine Learning and What They Are Used for

The world now is saturated with artificial intelligence. Machine learning plays one heck of a role in it. Many programmers are compelled to...

Read More

1 min read

Content Marketing for Organic Search - How to Build Successful Strategy?

What Is an Organic Content Marketing? 

Content marketing of organic search is an approach that, rather than relying on paid means, produces visitors...

Read More