Actualmente me estoy involucrando en una startup, soy el único desarrollador involucrado en este momento, y los otros muchachos me están dejando todas las decisiones tecnológicas en este momento.
Para mi trabajo diario, trabajo en una empresa de software que utiliza tecnología de Microsoft en el día a día, utilizamos .NET, SqlServer, Windows Server, etc. Sin embargo, me doy cuenta de que, como startup, necesitamos mantener los costos bajos, y después de tener Una breve mirada al costo del alojamiento para Windows Me sorprendió ver algunos de los precios de un servidor dedicado. El más barato que encontré fue de £ 100 al mes. Además, si la empresa necesita escalar en el futuro y terminamos necesitando varios servidores, podríamos terminar desembolsando £ 10 de £ 000 al año en licencias de SQL Server / Windows Server, etc.
Luego eché un vistazo rápido al precio del alojamiento de Linux para un servidor dedicado y vi que el precio era muuuucho más bajo que el alojamiento de Windows. Un lugar estaba ofreciendo una máquina con 2 núcleos por menos de £ 20 al mes.
Esto me hizo pensar que tal vez el camino a seguir es el código abierto en Linux.
Mientras escribo una gran cantidad de Javascript en el trabajo (estoy trabajando en una aplicación troncal de una sola página en este momento), pensé que tal vez NodeJS y un marco web como Express serían geniales de usar. Entonces pensé que en lugar de usar SQL, ¿por qué no usar una base de datos NoSQL de código abierto como MongoDB, que tiene un gran soporte en NodeJS?
Mi única preocupación es que parte del trabajo que realizará la aplicación será construir dinámicamente imágenes y varias otras cosas relacionadas con la imagen, es decir, cosas que son bastante pesadas para la CPU, así que estoy pensando en escribir algo que sea muy pesado para la CPU en C ++ y consumiéndolo como un módulo en Node.
Ese es el trasfondo, pero básicamente Linux es una buena combinación para:
- ¿Alojando un sitio NodeJS / Express?
- ¿Compilando módulos de nodo C ++?
- ¿Usa una base de datos NoSQL como MongoDB?
¿Y es una buena idea pasar a estas tecnologías desconocidas para ahorrar dinero?
ACTUALIZACIÓN DE 3 MESES
He estado trabajando en esto durante los últimos meses, así que pensé en dar una actualización en caso de que alguien esté interesado.
Al final decidí no usar una pila NodeJS y Linux por la simple razón del tiempo. Estoy haciendo esta puesta en marcha de forma paralela, así que estoy trabajando 9 horas al día, luego me voy a casa y trabajo hasta tarde en la puesta en marcha. Mientras trabajo de esta manera, obviamente necesito ser lo más eficiente posible con mi tiempo, o nunca terminaré enviando el producto.
Después de tomar algunos de los consejos sobre este hilo, solicité Microsoft BizSpark y fui aceptado. Esto significa que ahora tengo acceso a la licencia de Visual Studio, la licencia de Windows Server, etc., todo de forma gratuita. Lo cual es asombroso. Afortunadamente, para cuando tengamos que comenzar a pagar por todo lo que entregaremos lo suficiente como para que no sea un problema.
Sin embargo, no creo que solo esté usando la tecnología de Microsoft, ya que he tratado de usar material de código abierto siempre que sea posible. El lugar principal donde hice esto es mi capa de datos, donde decidí usar PostgreSQL y MongoDB. También estoy usando BackboneJS en mi front-end.
A continuación se muestra un resumen de la tecnología / marcos que estoy usando actualmente:
- Material de base de datos estándar: PostreSQL
- Registro y almacén de datos: MongoDB
- ORM: Entity Framework 5
- Bibliotecas principales: .NET (C #)
- Marco web: ASP.NET MVC3
- Interfaz de usuario: Razor view engine / BackboneJS