Which AWS service and deployment pattern should the solutions architect use to meet these requirements?
Use AWS Elastic Beanstalk and deploy the application using a rolling update deployment strategy.
Use AWS CodePipeline and deploy the application using a rolling update deployment strategy.
Use AWS CodeBuild and deploy the application using a canary deployment strategy.
Use AWS OpsWorks and deploy the application using a blue/green deployment strategy.
Explanations:
AWS Elastic Beanstalk supports various deployment strategies, including rolling updates, but it doesn’t integrate directly with Chef for managing infrastructure as code. It lacks the ability to easily implement quick rollback mechanisms as specified (5 minutes) without additional configuration.
AWS CodePipeline facilitates continuous integration and continuous deployment but does not handle the deployment process itself. It can orchestrate multiple services but would require additional tools to manage the Chef configuration and ensure rapid rollback, which is not ideal for this scenario.
AWS CodeBuild is primarily for building and testing code and does not directly handle deployments. While canary deployments can be implemented, this option does not leverage the existing Chef tools effectively for infrastructure management or rapid rollbacks.
AWS OpsWorks supports Chef for configuration management and allows for blue/green deployment strategies, which facilitate safe deployment and rapid rollback by keeping the previous version of the application active. This meets the requirement for quick rollbacks within 5 minutes after detecting issues.