A .NET developer team works with many ASP.NET web applications that use EC2 instances to host
them on IIS. The deployment process needs to be configured so that multiple versions of the
application can run in AWS Elastic Beanstalk. One version would be used for development, testing
and another version for load testing. Which of the following methods do you recommend?
Correct answer - "Define a dev environment with a single instance and a 'load test' environment
that has settings close to production" : It is common practice to have many environments for the
same application. You can deploy multiple environments when you need to run multiple versions of
an application. For example, you might have development, integration, and production
environments.
"You cannot have multiple development environment in Elastic Beanstalk, just one development and
one production environment" - Incorrect, use the Create New Environment wizard in the AWS
Management Console to guide you
"Use only one Beanstalk environment and perform configuration changes using an Ansible script" -
Ansible is an open source deployment tool that integrates with AWS. It allows us to deploy the
infrastructure. Elastic Beanstalk provisions the servers that need and handles multiple
environments as part of AWS so keep using Beanstalk
"Create an Application Load Balancer to route based on hostname so you can pass on parameters to
the development Elastic Beanstalk environment. Create a file in .ebextensions/ in order to know
how to handle the traffic coming from the ALB" - This is not a good design if you need to load
test because you will have two versions on the same instances and may not be able to access
resources in the system due to the load testing