After a daily scrum with your development teams, you’ve agreed that using Blue/Green style deployments would benefit
the team. Which technique should you use to deliver this new requirement?
A.
Re-deploy your application on AWS Elastic Beanstalk, and take advantage of Elastic Beanstalk deployment types.
B.
Using an AWS CloudFormation template, re-deploy your application behind a load balancer, launch a new AWS CloudFormation stack
during each deployment, update your load balancer to send half your traffic to the new stack while you test, after verification update
the load balancer to send 100% of traffic to the new stack, and then terminate the old stack.
C.
Re-deploy your application behind a load balancer that uses Auto Scaling groups, create a new identical Auto Scaling group, and
associate it to the load balancer. During deployment, set the desired number of instances on the old Auto Scaling group to zero, and
when all instances have terminated, delete the old Auto Scaling group.
D.
Using an AWS OpsWorks stack, re-deploy your application behind an Elastic Load Balancing load balancer and take advantage of
OpsWorks stack versioning, during deployment create a new version of your application, tell OpsWorks to launch the new version
behind your load balancer, and when the new version is launched, terminate the old OpsWorks stack.
B
The only options that makes sense is A.
Elastic Beanstalk enables Blue-Green deployment by swapping environment DNS records.
B is nonsense because you can’t assign to autoscaling groups to an ELB.
C is not blue-green, it is describing rolling deployment.
D is nonsense because it is not blue-green deployment.
A – is the best choice because according to AWS white paper EBS supports autoscaling and ELB which enable blue/green deployment (https://d0.awsstatic.com/whitepapers/AWS_Blue_Green_Deployments.pdf) . Also chech AWS docs (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) You can enable blue/green by cloning the environment and then just swapping out the Environment URLs. However in EBS there is no Blue/Green deployment type as an option in order to implement it your would use the above steps.
B – Is AB testing to me when you split traffic between two environments so therefore could not be an answer.
C – Also makes sense because it is what Blue/Green deployment is about creating two environments and then associating it with an ELB or DNS record however you can’t put a load balancer in an Autoscaling group, and this might be an issue because you instantly delete the old environment which means you can’t revert back to the old environment
D – I don’t think OpsWorks offers versioning as well as this type of deployment is All at once deployment because it requires you to replace your current environment so therefore this answer is not valid.
C
A – no such thing as “Elastic Beanstalk deployment types”
B – Sending half traffic to new stack isn’t Blue/Green; more like A/B
C – looks OK
D – no such thing as “OpsWorks stack versioning”.
C is answer but C is not the best in practical.
C
Although AWS supports Blue/Green deployment through CNAME swaps, option A in this case doesnt make sense. C is the next best answer.
B is correct answer.
http://docs.aws.amazon.com/opsworks/latest/userguide/best-deploy.html
See “Using a Blue-Green Deployment Strategy”
C is not good because you must make sure your new works is OK then terminate the old ones.
C is best choice.
B is wrong because the new stack shouldn’t have the traffic before they have been verified.
A