We use vROps as a monitoring solution because it is good at that. It is designed to monitor VMware data centers.
I am using AWS and Azure. I prefer AWS, but it depends on the budget of the company as well. Having customers in the cloud is cheaper than on-premises, but it is completely different.