Does the question specify if manual approval is required before production, or just automation? If manual approval is mandatory, C might fit better, but if not, B makes more sense.
Q: 17
A company is using AWS CodePipeline for the CI/CD of an application to an Amazon EC2 Auto Scaling
group. All AWS resources are defined in AWS
CloudFormation templates. The application artifacts are stored in an Amazon S3 bucket and deployed
to the Auto Scaling group using instance user data scripts.
As the application has become more complex, recent resource changes in the CloudFormation
templates have caused unplanned downtime.
How should a solutions architect improve the CI/CD pipeline to reduce the likelihood that changes in
the templates will cause downtime?
Options
Discussion
B is the stronger answer since it brings in CloudFormation change sets for safe previews plus blue/green deployment with CodeDeploy, which really minimizes downtime. Automated testing with CodeBuild helps catch stuff early too. Pretty sure that's what AWS wants here, but let me know if someone thinks otherwise.
C
I think C looks good because it adds in validation steps using the IDE and CLI checks, so errors in CloudFormation could be caught early. Manual test plan before production is pretty common too. The trap is not catching that B's blue/green is more robust, but manual checks seem safer for complex apps.
Be respectful. No spam.
Question 17 of 35