cloud vs virtualization
you can't really put a blanket blame on virtualization when a cloud service provider fails.
It's not rocket science to run a virtualization infrastructure with good performance and low latency. Especially if you are controlling everything end to end. Having full insight into what everything is doing is key (this is often(almost always) not possible with cloud service providers).
However if you can leverage the underlying hardware and perhaps can run multi tenant from within a single app then you may be better off with bare metal. So many people seem to think that bare metal is a terrible thing to do these days, but it can make sense if your app can leverage it right. Otherwise put a hypervisor on there and run multiple VMs to better utilize the hardware.
I was talking with another startup recently that is a service provider of sorts, they too started out in the cloud (various clouds) but were forced to move out quickly because of latency and lack of consistent performance issues (cost too but that wasn't the primary driver I gather).
The solution is often only as strong as the weakest link, if your lucky and have a robust software stack then the next weakest link is probably the infrastructure, and the most commonly used cloud infrastructure is not built to be very reliable.