I think it's the best way to go, but also for a resilience approach, I want to be able to ditch a datacenter in 15min. If you can ditch the datacenter, why not ditch the whole provider?
So we tried to keep the deployment scripts ready for a competitor at all times, having backups we could restore there etc. And if you grow big enough, this becomes a bargaining chip with your provider too: I can ditch you in 15 min.