No momento, estou me envolvendo em uma startup, sou o único desenvolvedor envolvido no momento, e os outros caras estão deixando todas as decisões de tecnologia para mim no momento.
No meu trabalho diário, trabalho em uma casa de software que usa a tecnologia da Microsoft diariamente, utilizamos .NET, SqlServer, Windows Server etc. No entanto, percebo que, como uma startup, precisamos manter os custos baixos e depois de ter Uma breve olhada no custo de hospedagem do Windows Fiquei chocado ao ver alguns dos preços de um servidor dedicado. O mais barato que encontrei foi de £ 100 por mês. Além disso, se a empresa precisar aumentar de escala no futuro e acabarmos precisando de vários servidores, poderíamos acabar gastando US $ 10.000,00 por ano em licenças do SQL Server / Windows Server etc.
Então, dei uma olhada rápida no preço da hospedagem Linux para um servidor dedicado e vi que o preço era muito menor do que a hospedagem no Windows. Um lugar era oferecer uma máquina com 2 núcleos por menos de £ 20 por mês.
Isso me fez pensar que talvez o caminho a seguir seja de código aberto no Linux.
Enquanto escrevo muito Javascript no trabalho (estou trabalhando em um aplicativo de backbone de página única no momento), pensei que talvez fosse legal usar o NodeJS e uma estrutura da web como o Express. Eu então pensei que, em vez de usar o SQL, por que não usar um banco de dados NoSQL de código aberto como o MongoDB, que oferece grande suporte ao NodeJS?
Minha única preocupação é que parte do trabalho que o aplicativo fará será a construção dinâmica de imagens e várias outras coisas relacionadas à imagem, ou seja, coisas que pesam bastante na CPU - então estou pensando em escrever alguma coisa com CPU pesada em C ++ e consumi-lo como um módulo no Node.
Esse é o plano de fundo - mas basicamente o Linux é uma boa combinação para:
- Hospedando um site NodeJS / Express?
- Compilando módulos de nó C ++?
- Usando um banco de dados NoSQL como o MongoDB?
E é uma boa ideia mudar para essas tecnologias desconhecidas para economizar dinheiro?
ATUALIZAÇÃO DE 3 MESES
Estou trabalhando nisso há alguns meses, então pensei em fazer uma atualização caso alguém esteja interessado.
No final, decidi não usar uma pilha do NodeJS e Linux pelo simples motivo de tempo. Estou fazendo essa inicialização ao lado, por isso estou trabalhando 9 horas por dia, depois voltando para casa e trabalhando até tarde na inicialização. Enquanto estiver trabalhando dessa maneira, obviamente preciso ser o mais eficiente possível com o meu tempo ou nunca acabarei enviando o produto.
Depois de seguir alguns conselhos sobre este tópico, solicitei o Microsoft BizSpark e fui aceito. Isso significa que agora tenho acesso à licença do Visual Studio, licença do Windows Server etc., tudo de graça. O que é incrível. Felizmente, no momento em que formos obrigados a começar a pagar por tudo, estaremos entregando o suficiente para que isso não se torne um problema.
Porém, não acho que estou usando apenas a tecnologia da Microsoft, pois tentei usar coisas de código aberto sempre que possível. O principal local que fiz isso é minha camada de dados, onde decidi usar o PostgreSQL e o MongoDB. Também estou usando o BackboneJS no meu front end.
Abaixo está um resumo das estruturas / técnicas que estou usando atualmente:
- Material de banco de dados padrão: PostreSQL
- Log e armazenamento de dados: MongoDB
- ORM: Estrutura de entidade 5
- Bibliotecas principais: .NET (C #)
- Estrutura da Web: ASP.NET MVC3
- Interface do usuário: Razor view engine / BackboneJS