Web Hosting: Unix vs Windows

I have a real dilemma when it comes to writing web applications, and web hosting.

I spent the last couple of days moving 8 different websites from one host to another, and in doing so, I had to dig into each web app to figure out where it stored some configuration information. 

They’re all PHP based, which means they all have a PHP file somewhere that stores some variables that indicate what database to connect to.  Pretty common, but it meant I had to look inside the apps, something I hadn’t done before, and frankly I didn’t like what I saw.

Apps like phpBB and WordPress are written in PHP in a style similar to Classic ASP.  Intermixed HTML and code, and no classes.

That’s fine if you like writing apps that way, but I don’t.  I much prefer the ASP.NET style of having real classes, and aspx templates that reference those classes.  You can write an ASP.NET application like the Ottawa Events site without ever having to manually mix code and markup.  You’re in one world or the other.

So I want to create my web apps with ASP.NET. 

The problem is, ASP.NET hosting is expensive.

DreamHost offers hosting plans like $9.95 a month for 20 gig of disk space, 1 terabyte of bandwidth, and unlimited domains and databases.  Wow.  (And you can use stevex as a promo code if you sign up for that plan, it’s worth $77 off, meaning for your first year it’s $42.40). 

A Windows host like DiscountASP also offers $9.95 a month, but what do you get?  20 gig of bandwidth (Just 2% of the bandwidth you get with DreamHost), 750mb disk (3.75% the disk you get with DreamHost), and you have to pay an extra $10 a month for a 100mb SQL Server database.  Even for a MySQL database (on which they would pay no licensing fees) they charge you $5/month, for only 50mb of space.

My DreamHost account has 8 sites hosted in it now, which means 8 MySQL databases, and it’s got about a gig of data stored there.  If I were to move this to DiscountASP, it would cost me about $60/month, six times as much for hosting.

DreamHost isn’t unique in being an inexpensive Unix host, and DiscountASP isn’t unique in being an expensive Windows host.  There must be some good reason that Windows hosting costs more.  I don’t know what it is.

If I really wanted Windows hosting, I guess the way to go would be dedicated hosting, where I could install my own software on the box, but that seems to start at around $79/month, and now we’re up to 10 times what I’m paying for a Unix host.

The point of this rant is that practical hosting considerations are making me rethink writing my own apps using ASP.NET.  If something ever grows big enough that I don’t want to host it here at my house, then I’m screwed.  I can’t see outgrowing what DreamHost offers me anytime soon for the stuff I do, but outgrowing the limited services the Windows hosts offer, well, I’ve already done that.

Has anyone used ASP.NET on a commercial Unix host like DreamHost through Mono or any other technology and had it work acceptably well?