AWS Certified Solutions Architect – Professional — Question 921
A company is using AWS to run an internet-facing production application written in Node.js. The Development team is responsible for pushing new versions of their software directly to production. The application software is updated multiple times a day. The team needs guidance from a Solutions Architect to help them deploy the software to the production fleet quickly and with the least amount of disruption to the service.
Which option meets these requirements?
Answer options
- A. Prepackage the software into an AMI and then use Auto Scaling to deploy the production fleet. For software changes, update the AMI and allow Auto Scaling to automatically push the new AMI to production.
- B. Use AWS CodeDeploy to push the prepackaged AMI to production. For software changes, reconfigure CodeDeploy with new AMI identification to push the new AMI to the production fleet.
- C. Use AWS Elastic Beanstalk to host the production application. For software changes, upload the new application version to Elastic Beanstalk to push this to the production fleet using a blue/green deployment method.
- D. Deploy the base AMI through Auto Scaling and bootstrap the software using user data. For software changes, SSH to each of the instances and replace the software with the new version.
Correct answer: C
Explanation
AWS Elastic Beanstalk handles the provisioning and deployment details, while a blue/green deployment pattern ensures zero downtime and seamless rollbacks for frequent daily updates. Generating new AMIs multiple times a day (Options A and B) is too slow and operationally inefficient for rapid code deployments. Manually SSHing into individual instances to update software (Option D) is error-prone, does not scale, and violates cloud deployment best practices.