Answer – A and C
The AWS documentation mentions the following
In Elastic Beanstalk, an application version refers to a specific, labeled iteration of deployable code for a web application. An application version points to an Amazon Simple Storage Service (Amazon S3) object that contains the deployable code such as a Java WAR file. An application version is part of an application. Applications can have many versions and each application version is unique. In a running environment, you can deploy any application version you already uploaded to the application or you can upload and immediately deploy a new application version. You might upload multiple application versions to test differences between one version of your web application and another.
For more information on Elastic beanstalk components , please refer to the below link:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.components.html
An AWS OpsWorks Stacks app represents code that you want to run on an application server. The code itself resides in a repository such as an Amazon S3 archive; the app contains the information required to deploy the code to the appropriate application server instances.
For more information on Opswork apps , please refer to the below link:
http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps.html
Option B is incorrect. Our scenario is focusing on continuous development and continuous releases of the application versions.Since this is going to be an ongoing process, it is a best practice to upload the revision of your application and if required roll back to previous version.
Option D is incorrect. This question gives importance to the application hosted on the infrastructure.
"They want to use the AWS services available to be able to deploy a web application and also ensure they can rollback to previous versions of the application quickly."
In this case, CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment. CloudFormation allows you to use a simple text file to model and provision, in an automated and secure manner, all the resources needed for your applications across all regions and accounts.
Hence, CloudFormation is nothing to do with an application hosted on the infrastructure.