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:
- What is the least expensive configuration that will allow you to deploy to production in a way that doesn't break any licensing rules?
- In what ways does this solution differ from the "standard" Microsoft deployment scenario?
- 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.