Esta pregunta debe dividirse en diferentes componentes que pueden mezclarse más o menos. Algunas características que debe considerar son: facilidad de configuración / mantenimiento, soporte para desarrolladores y la complejidad de su aplicación.
Servidor HTTP: nginx
El servidor http servirá todas sus páginas e imágenes estáticas. También puede usar nginx como equilibrador de carga. Prefiero nginx sobre apache debido al menor uso de memoria y la facilidad de configuración. Algunos dicen que Apache ofrece más módulos personalizados, pero encontré que nginx es suficiente.
Base de datos: MongoDB
Prefiero MongoDB porque su formato y modelado de datos (JSON binario) son más similares a los datos web. Como Paul mencionó, agregar columnas a un almacén SQL bajo carga es difícil. MongoDB tiene un diseño sin esquema y no sufre este defecto.
Utilizado por: Foursquare. Lista completa: http://www.mongodb.org/display/D…
- ¿Cuánto tiempo lleva dominar HTML / CSS, HTML5 y JavaScript con 2 horas de práctica diaria?
- ¿Cuáles son las razones detrás de crear Hack? ¿Cuáles son sus perspectivas?
- ¿Cuáles son los mejores chat en vivo gratis con configuraciones de correo electrónico para un sitio web de WordPress?
- ¿Qué sistema de administración y autenticación de usuarios debo usar para construir mi sitio web?
- ¿Ruby on Rails está muerto?
El marco de aplicaciones y el servidor de aplicaciones dependerán de la elección del idioma de su computadora:
Ruby : Pasajero / Ruby on Rails (o sinatra).
Si bien el pasajero no es el servidor de aplicaciones más eficiente para Ruby, es el más fácil de configurar y mantener. Ruby y su ecosistema (especialmente rubygems) hacen que la codificación sea extremadamente rápida.
Utilizado por: Twitter, YP.com, Scribd, 37signals, Groupon.
Scala : Embarcadero / Ascensor (o scalatra)
Scala / Lift hace algunas cosas increíblemente bien, incluido el soporte integrado ajax / comet. Creo que Scala es mejor para el modelado de datos complejos debido a la escritura estática y la composición de objetos.
Utilizado por: Foursquare, Twitter (solo backend).
Python: Django o Pilones
No puedo decir mucho más ya que no he usado Python en una configuración de producción.
Utilizado por: Quora.
PHP: mantente alejado 🙂
“PHP estaba fuera de discusión. Facebook está estancado en eso por razones heredadas, no porque sea la mejor opción en este momento”. – fundador de quora
¿Por qué Quora eligió Python para su desarrollo? ¿Qué desafíos tecnológicos enfrentaron los fundadores antes de decidirse por Python en lugar de PHP?
La mayoría de las aplicaciones PHP que he visto comienzan como pequeños scripts y crecen hasta convertirse en su propio marco de aplicaciones.
Es posible que necesite un sistema de colas si su aplicación necesita admitir procesos de larga ejecución. es decir. codificando un video.
En cualquier caso, elija tecnologías de código abierto para que pueda encontrar fácilmente desarrolladores y soporte de la comunidad.