Its really not that simple either. It takes time and a likely amount of changes to code and functions. Even off loading something more logical like just the login service becomes a feat in itself and introduces several more points of failure. Even if you could find suitable hardware that allows your code to work without many changes having the extra tunnel or point to point connection can be a point of stress or failure itself.

I have seen a lot of devs turn to aws or azure and come out saying nope never again and going back to using a fully or self hosted non virtualized platform.