While I can't disclose the infrastructures I have deployed due to NDAs and security reasons, I will say this. Never put all your eggs in one basket. What I mean by this is make sure all critical services are on separate servers, and potentially different upstream connections. You will want to keep your master separate from any server with a hypervisor. Also, you will want to keep your website on a separate upstream provider from your slaves and/or master. Why do I say this? Well, if the datacenter hosting your production servers has an outage, chances are your clients will still be able to contact you for support. Likewise, if your support site were to go down (which you should have a failover in place btw), hopefully all products/services will remain accessible.