What's the lowest cost, legal, Microsoft server stack you can assemble? [closed]

Assuming that you have an app infrastructure that generally only requires:

  • ASP.NET MVC / C# / .NET
  • Database or NoSQL data store (must be accessible from C#)

Here's the challenge to you server gods:

  1. What is the least expensive configuration that will allow you to deploy to production in a way that doesn't break any licensing rules?
  2. In what ways does this solution differ from the "standard" Microsoft deployment scenario?
  3. Where does this solution's performance break down once the app begins to scale?

I'm not concerned about the hardware, only the server software itself. I would love to hear about any solutions you've personally put into production. Especially if they are unique alternatives.

For ideas, consider some of the possible variations, a) any Microsoft server solutions where they have lowered the barrier to entry to compete with OSS, or b) any OSS alternatives to Microsoft products which perform at a similar level.

An example of a): SQL Server 2008 Express Edition SP1 is a 100% free version of SQL Server which will scale to the needs of many smaller / early stage applications.

An example of b): running the Mono Framework on Linux.

An example of differing from the "standard" stack: running Mono on Linux will require a completely different server OS familiarity. None of the Windows-based knowledge really transfers.

An example of breaking down under scale: SQL Server Express will only scale to 1GB of memory and 4GB of disk storage. After that point, the application will need to move to one of the paid versions of SQL Server.


NOTE: There is a community wiki answer for collaborating on a larger answer. Feel free to add more detail to it.


It sounds like you have answered your own question, with Sam clarifying it. Windows Server Web, using included IIS and SQL Server Express. The only thing you pay for is Windows Server. However, there is a point where it won't scale, both in disk/database size legally and transaction volume in performance.

In the interest of throwing out an alternative that can scale, I would suggest using MySQL on Windows Server. No license cost beyond Windows, and it will scale as big as you can possibly need, and it seems that C# can access it.


The absolute least-expensive way to do this, if it applies to your particular situation, is to join one of Microsoft's start-up programs: BizSpark or WebsiteSpark.

Each has different requirement to join, covers a certain niche, and offers different levels of access to Microsoft's products. However, both offer 3 years of program appropriate production license use for $100. And you don't even have pay that up front. It's a program exit fee that you pay when you leave the program.


Well your cheapest option if you want to use a Windows OS will be to get the Web Edition of Windows Server, the latest being Server 2008 R2 Web Edition. This will allow you to run IIS, and DNS roles only, which should be enough to cover what you need.

Since server 2008, MS have allowed you to install SQL on the web edition (they didn't in server 2003) so if you get that and SQL Express (assuming that meets your needs) you should be away.

The Web edition limits you to 32Gb Ram and 4 CPU Sockets. The R2 version s 64Bit only.


Windows Server pricing: http://www.microsoft.com/windowsserver2008/en/us/pricing.aspx

SQL Server pricing: http://www.microsoft.com/sqlserver/2008/en/us/pricing.aspx

Don't forget some development tools as well; the Visual Studio Express editions can do a hell of a lot and won't cost you anything.

If SQL Express is not scaling to your requirements there is also a SQL Server web edition which can be had more cost-effectively than the Standard or Enterprise editions.

Be aware that these are the standard retail prices as quoted by Microsoft; buying through a reseller and/or via a Volume Licensing option can yield quite substantial discounts (depending on your circumstances - potentially as low as 10% of the standard retail cost).