Utilizamos una amplia variedad de herramientas y software en SeatGeek:
- Hosting: combinación de EC2, S3, Route53 y CloudFront. Rackspace es simplemente demasiado costoso.
- Implementación: un conjunto bastante completo de tareas de implementación de la aplicación Capistrano y un conjunto interno de Chef Cookbooks para implementar nuevas instancias y servicios. La implementación de un nuevo servicio generalmente está a uno o dos archivos de configuración. También estoy escribiendo una envoltura de chef para administrar fácilmente nuestras implementaciones.
- Idiomas: somos bastante poco comprometidos con esto. Python, PHP y Ruby se implementan en la producción de alguna manera, con Stata y R utilizados internamente para el análisis de datos. También afirmo personalmente que Excel es lo suficientemente complejo como para ser considerado su propio lenguaje 😉
- Bases de datos: MySQL para datos de misión crítica, MongoDB para caché y análisis, Redis para hacer cola, ElasticSearch para nuestra API y búsqueda
- Tienda efímera: APC para el caché del servidor, con Redis haciendo doble trabajo para los datos generados en caché más grandes. Ah, y supongo que S3, ya que empujamos / extraemos archivos más grandes cuando varios servidores necesitan un solo archivo en caché diario. Un buen ejemplo de esto es nuestra configuración de procesamiento de mapas.
- Monitoreo: Cactus – nos estamos alejando de esto – Grafito + Versión interna de StatsD en Ruby, Get Exceptional, Pingdom. Me encantaría construir algo en StatsD para alertar y mover más estadísticas del servidor a Graphite. ACTUALIZACIÓN: desde entonces nos hemos mudado de Cacti a Diamond y grafito-buscapersonas para monitoreo / alerta.
- Mantenimiento del proceso: Dios para cosas viejas de PHP, Supervisor para servicios y upstart / init.d para ciertos procesos relacionados con el servidor. ¿Alguien sabe de una buena manera de hacer que el supervisor reinicie un proceso para siempre? Sería útil para recargar a los trabajadores cada cien trabajos.
- Servidores: Unicorn + Thin para Ruby, Nginx para todo lo demás; HAProxy se sienta frente a todo. Web.py para servicios Python anteriores, pero cada vez más favorece los servicios de construcción en Tornado. En su mayoría, hemos desaprobado los servicios de Ruby a favor de los Tornado más ligeros y rápidos. Nuestra API tiene Varnish sentado frente a una tonelada de procesos de tornado, que parece funcionar bien en nuestra carga actual.
Por supuesto, estamos contratando: http://seatgeek.com/jobs/
- ¿Cuáles son las principales reglas que debo seguir para crear un sitio web que sea muy legible en general y agradable de leer en la oscuridad?
- ¿Se puede usar WebStorm para ejecutar código AngularJS?
- ¿Cuáles son los mejores usos del raspado web, cuál es la legalidad de usarlo?
- ¿Qué plataforma preferirías, Wix vs WordPress? ¿Por qué?
- Cómo deshacerse de este error 'no se puede modificar la información del encabezado' en WordPress