Ansible for application deploys to cloud resources

I’m curious how folks are using Ansible in scenarios where you provision an environment on AWS EC2 (or any cloud platform) then deploy your application to it.

Take a QA environment example – your latest code is ready for QA so you provision a new QA envt on AWS EC2, deploy to it, do your testing, then tear down the environment.

Are you using Ansible modules to call AWS for provisioning (and tear down)?
Are you using Ansible to then configure middleware of AMIs (e.g, put down LAMP stack)
How is this orcestrated / automated? (if at all)

I know Ansible is capable of this but am interested to hear any real world examples.