Windows on Amazon EC2

Back in February I suggested that Amazon and Microsoft should figure out a way to provide Windows Server on Amazon’s EC2 hosting service. Three weeks ago, Amazon announced a private beta of their Windows hosting service on EC2; today they are opening EC2 on Windows up to everyone.

Their pricing is interesting. It’s slightly more than what you’d pay for a Linux distribution, which is no surprise, but if you’re paying for dedicated Windows hosting today, you will still probably save a significant amount of money with EC2 (particularly if you have spikey traffic and need to spin up and take down servers in response to load). A small EC2 instance running Windows Server 2003 will set you back about $91/month ($0.125 per hour). That’s less than half of what we’re paying per dedicated server at our Windows hosting provider today (ServerBeach) (however, see note below).

Note, however, that you only get that price if you don’t need SQL Server Standard Edition (the non-crippled version of SQL Server that lets you use all your RAM and hard disk space — that is to say, the only edition you’d ever want to actually use in a production environment). Running SQL Standard on an EC2 instance will set you back $1.10 per hour — more than $800 per month for a single server. Ouch.

It gets worse from there — if you need more than five Windows user accounts, you need to use something called Windows Authentication Services, which costs used to cost a lot more (see update 2 below). A standard EC2 instance running Windows Server, SQL Server Standard and Authentication Services will set you back something north of $980 per month. I’d be interested to know what kind of user is going to shell out for this package — the pricing seems almost punative.

So it sounds like Windows on EC2 is a great deal, as long as you just use it to run Windows and bag all that other stuff. Bear in mind that you can create spectacular data-driven Web applications without SQL Server. For .NET developers, the ease of programming is the same (since it’s all ADO.NET). Setting up MySQL on Windows is not difficult, and it runs quite well on Windows.

We’ve been doing MySQL on Windows (as well as Linux) for a couple of years now. You might have caught my talks on using MySQL on Windows at the MySQL conferences (both this year and last year) and at the VSLive conferences over past year and a half. If you have or are planning to build a Windows application and host it on EC2, we would love to help you as part of our Amazon Web Services consultancy.

Update: I pointed out to ServerBeach that Amazon EC2 was undercutting them significantly on Windows Server hosting, and after some back and forth they agreed to match Amazon’s price, which means that at least one part of the economy is still working the way it’s supposed to.

Update 2: I am guessing that a lot of other people did the same pricing arithmetic that I did and stayed away from the “Authentication Services” product, because Amazon/Microsoft just bagged that pricing tier. Now Windows Servers that require logins are billed at the same rate, which has the happy side effect of simplifying the product offering considerably. Kudos!