Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

share

locked by Chris S Mar 5 '12 at 14:52

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by Chris S Mar 5 '12 at 14:52

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

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 8 '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 8 '10 at 17:19
comments disabled on deleted / locked posts

5 Answers 5

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.

share
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 8 '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 8 '10 at 17:55
add comment

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.

share
    
+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
add comment

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.

share
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. –  markus Mar 8 '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 Mar 9 '10 at 14:41
add comment

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

share
    
+1 for mentioning the web edition of sql server –  Oskar Duveborn Mar 8 '10 at 13:25
add comment
up vote -1 down vote accepted

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]
share
    
Where you get the prices from? To my knowledge Web Edition is only available under SPLA and that means... monthly payment. –  TomTom Mar 8 '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 9 '10 at 9:54
1  
It's a community wiki, please feel free to improve it rather than just voting it down. –  McKAMEY Mar 9 '10 at 12:01
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.