Have you considered running your apps on AppHarbor? That way, you wouldn't have to worry about servers at all. We also have many of the services you use as add-ons: https://appharbor.com/addons
I did and in principle it's a great idea but I can't wrap my head around the pricing - as a solo founder earning South African Rands with the requisite technical expertise to manage these things myself, I can't bring myself to pay more than I know I strictly need to until my business is profitable.
As for deployment, if your .NET app doesn't have highly specialised dependencies you're likely to get away with a simple file copy deployment. Even if you do need to install some frameworks/packages, offerings from e.g. ScaleXtreme (who allow you to manage both Windows and Linux servers from a single dashboard, private or in the cloud), make managing instances (via templates, scripts and integrated monitoring and patching) extremely simple.
This is great because I prefer writing my code in C# and running it under Windows but prefer Linux for the heavy-lifting (PostgreSQL, memcached, nginx for static content, etc.). I do accept that not everybody knows how to use both platforms or would like to learn, however that is a matter of preference not practicality. I'd say the two platforms are on par with practicality.