The biggest issue with this is when you deploy multiple applications to a server (e.g. 5 apps on IIS or whatever) and one of them kills off the box when it behaves badly. You can auto-scale, but it takes time to provision new machines and until they are up, you are down. Once you've experienced this a few times, the desire to split out applications into micro-services gets pretty strong in order to limit the blast radius.