Last week I interviewed a Linux guy that works for a big advertising company, and they are migrating to AWS for what seems like the perfect use-case. They run thousands of VMs and the vast majority (+90%) are for web hosting. Everything is scripted via a bunch of technologies (too many for me to remember) but things like Ansible and Chef, where you have a "recipe" for a particular type of VM, and you can very quickly spin up (and destroy) VMs on the fly. This means they pay only for what they currently use/need, instead of having giant datacentres full of depreciating tin. Think of them launching some new ad campaign, which needs a large number of web hosts for the initial surge, then as demand drops they can start destroying VMs and end up only paying for what they need. This also makes it dead easy to assign a cost to a particular project/campaign.
This is what I believe AWS/Azure/Google Cloud are perfect for. Running enterprise systems with dodgy software written 100 years ago, not so much. If you can afford to re-architect your entire enterprise stack (which is always heavily inter-dependent, so good luck sorting all that out), then by all means do it with the cloud in mind. But direct migrating in-house systems to the cloud is not going to be cheaper, and introduces a whole new set of problems and challenges.