A company has an on-premises that is written in Go. A DevOps engineer must move the application to AWS. The company's development team wants to enable blue/green deployments and perform A/B testing. Which solution will meet these requirements?
A.
Deploy the application on an Amazon EC2 instance and create an AMI of this instance. Use this AMI to create an automatic scaling launch configuration that is used in an Auto Scaling group. Use an Elastic Load Balancer to distribute traffic. When changes are made to the application, a new AMI will be created, which will initiate an EC2 instance refresh.
B.
Use Amazon Lightsail to deploy the application. Store the application in a zipped format in an Amazon S3 bucket. Use this zipped version to deploy new versions of the application to Lightsail. Use Lightsail deployment options to manage the deployment.
C.
Use AWS CodeArtifact to store the application code. Use AWS CodeDeploy to deploy the application to a fleet of Amazon EC2 instances. Use Elastic Load Balancing to distribute the traffic to the EC2 instances. When making changes to the application, upload a new version to CodeArtifact and create a new CodeDeploy deployment.
D.
Use AWS Elastic Beanstalk to host the application. Store a zipped version of the application in Amazon S3, and use that location to deploy new versions of the application using Elastic Beanstalk to manage the deployment options.
It's not a good idea to use S3 bucket, so B and D are eliminated.
I would choose C, however, it's only migration, no development work. A is the most straightforward solution.
When an application is developed and deployed to an AWS Elastic Beanstalk environment, having two separate, but identical, environments—blue and green—increases availability and reduces risk.
I doubt CodeDeploy works with CodeArtifact. You need to use S3/Github - https://docs.aws.amazon.com/codedeploy/latest/userguide/application-revisions-repository-type.html
AWS CodeDeploy also allows you to perform canary deployments, which is a method of releasing new features to a small percentage of users before making them available to the entire user base. This is a variation of A/B testing, where a small percentage of the traffic is directed to the new version of the application, and the rest continues to see the old version.
A voting comment increases the vote count for the chosen answer by one.
Upvoting a comment with a selected answer will also increase the vote count towards that answer by one.
So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.
Maygam
Highly Voted 2 years, 4 months agoDgix
Most Recent 1 year, 6 months agoPiccaso
2 years, 2 months agoBulti
2 years, 3 months agoDakshi
2 years, 5 months agomvsnogueira2022
2 years, 6 months agoyouonebe
2 years, 7 months agoGoozian
2 years, 7 months agobigdood
2 years, 7 months agobgc1
2 years, 1 month agoGoozian
2 years, 7 months ago[Removed]
2 years, 3 months agoohcn
2 years, 8 months ago