Supondo que você tenha uma infraestrutura de aplicativo que geralmente exija apenas:
- ASP.net MVC / C # / .NET
- Banco de dados ou armazenamento de dados NoSQL (deve ser acessível em C #)
Aqui está o desafio para os deuses do servidor:
- Qual é a configuração mais barata que permite implantar na produção de uma maneira que não viole nenhuma regra de licenciamento?
- De que maneira essa solução difere do cenário de implantação "padrão" da Microsoft?
- Onde o desempenho desta solução diminui quando o aplicativo começa a aumentar?
Não estou preocupado com o hardware, apenas o software do servidor. Gostaria de saber sobre todas as soluções que você colocou pessoalmente em produção. Especialmente se forem alternativas únicas.
Para obter idéias, considere algumas das possíveis variações: a) quaisquer soluções de servidor da Microsoft que reduzam a barreira à entrada para competir com o OSS; ou b) quaisquer alternativas de OSS aos produtos da Microsoft que tenham desempenho semelhante.
Um exemplo de a) : O SQL Server 2008 Express Edition SP1 é uma versão 100% gratuita do SQL Server, que será dimensionada de acordo com as necessidades de muitos aplicativos menores / nos estágios iniciais.
Um exemplo de b) : executando o Mono Framework no Linux.
Um exemplo de diferença da pilha "padrão": a execução do Mono no Linux exigirá uma familiaridade do SO do servidor completamente diferente. Nenhum conhecimento baseado no Windows é realmente transferido.
Um exemplo de quebra de escala: o SQL Server Express será escalado apenas para 1 GB de memória e 4 GB de armazenamento em disco. Após esse ponto, o aplicativo precisará passar para uma das versões pagas do SQL Server.
NOTA: Existe uma resposta wiki da comunidade para colaborar em uma resposta maior. Sinta-se à vontade para adicionar mais detalhes.