10

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.

McKAMEY
  • 635
  • 1
  • 6
  • 13
  • 1
    I voted this question down because a) should be a community wiki b) you arn't really asking a proper question and have answered it yourself in the question c) for general discussion you have been too restrictive for it to lead to more than a couple of answers – JamesRyan Mar 08 '10 at 12:43
  • Well, the question is mine not the community's and I think it is a fair question, albeit one that is hard to find a single correct answer for. How about I start an answer that is a community wiki? Would that satisfy your perspective? – McKAMEY Mar 08 '10 at 17:19

5 Answers5

6

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.

tomjedrz
  • 5,964
  • 1
  • 15
  • 26
  • 2
    Actually, I would vote for PostgreSQL since it is much more powerful than MySQL. (and I'm a MySQL saying this too!) – Xeoncross Mar 08 '10 at 17:32
  • you can use mysql but it depends on the app whether or not (on the same server) it will scale properly. Mysql's connector.net isnt as robust as the sql server one and has some limitations/issues (as detailed in the release notes (one of the bugs to be fixed is that the connector inhales memory). So while it can work I'm not sure it's ready for production use – Jim B Mar 08 '10 at 17:55
6

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.

Joe Internet
  • 1,439
  • 8
  • 6
  • +1 Now that's the kind of answer that I was wanting to hear: something different than the obvious lowest end versions of the regular products. – McKAMEY Mar 10 '10 at 15:47
3

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.

Sam Cogan
  • 38,158
  • 6
  • 77
  • 113
  • 1
    You could (and were allowed to) run SQL Server Express Edition on Win2003 web edition as well. I have still running such a server. – realMarkusSchmidt Mar 08 '10 at 19:59
  • @markus not in the RTM edition of 2003 Web Edition, you needed to upgrade to SP1 to add that functionality. Prob should have been clearer on that. – Sam Cogan Mar 09 '10 at 14:41
1

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).

Maximus Minimus
  • 8,937
  • 1
  • 22
  • 36
-1

Starting a community wiki for getting a good collaborative answer to this.


Operating Systems:

Windows Web Server 2008 R2 / IIS 7.5 / ASP.NET ($469 retail)

Limitations:

  • Restricted to Web Role

Linux / Apache / Mono Framework ($0 retail)

Limitations:

  • Requires completely new administration skill set

Database Platforms:

SQL Server 2008 Express Edition SP1 ($0 retail)

Limitations:

  • 1GB RAM
  • 4GB Disk

MySQL ($0 retail)

Limitations:

  • [TODO]

PostgreSQL ($0 retail)

Limitations:

  • [TODO]

SQL Server Web Edition ($15 per proc per month (SPLA))

Limitations:

  • [TODO]

Development Tools

Visual Studio Express Editions ($0 retail)

Limitations:

  • [TODO]
McKAMEY
  • 635
  • 1
  • 6
  • 13
  • Where you get the prices from? To my knowledge Web Edition is only available under SPLA and that means... monthly payment. – TomTom Mar 08 '10 at 17:27
  • Don't put prices, put links to prices - they change over time, this page could be relevant for years... – Jon Rhoades Mar 09 '10 at 09:54
  • 1
    It's a community wiki, please feel free to improve it rather than just voting it down. – McKAMEY Mar 09 '10 at 12:01