¿Qué pila de tecnología usa Dropbox?

Milap ya dio una excelente visión general de la pila de tecnología de Dropbox, así que haré todo lo posible para agregar a su respuesta.

Algunos otros productos que componen la pila tecnológica de Dropbox incluyen:

  • Marketing: matasellos, AddThis, Sniply, Marketo
  • Ventas y soporte: GetFeedback, LinkedIn Sales Navigator, RainKing, Sendbloom
  • Desarrollador y TI: NGINX, Python, Sentry, HackerOne
  • Analytics: App Annie, Google Analytics, Inspectlet, Presto
  • HR: AngelList Jobs, CodeFights Bots, HackerRank, Culture Amp
  • Finanzas: ábaco
  • Productividad: Asana, Boomerang para Gmail, Slack, EventBoard

Para obtener una lista completa del software utilizado por Dropbox, consulte: Pila de Dropbox | Siftery

Algunos datos curiosos sobre Dropbox:

  • Dropbox es utilizado por el 22% de las compañías Y Combinator y 500 Startups
  • Dropbox ocupa el puesto número 1 en número de clientes en la categoría Compartir archivos y Copia de seguridad en Siftery

(Descargo de responsabilidad: los datos anteriores se obtuvieron de Siftery y han sido verificados por personas que trabajan en Dropbox)

Encontré una charla interesante de Kevin Modzelewski de Dropbox que describe la pila de tecnología inicial y las compensaciones que DropBox hizo para un rápido crecimiento.
Describe la arquitectura inicial de alto nivel, cubriendo sus
* Balanceador de carga
* Memcached
* Almacenamiento MySQL para metadatos
* Objetos de usuario almacenados en S3
* Pasar de usuarios encuestando DropBox a NotServer que notifica a los usuarios
* Bloquear servidores y MetaServers

Explica las razones detrás de las decisiones tomadas, algunas de las métricas que rastrean, etc.
Enlace a la charla (es de 2012, podría estar un poco anticuado ahora) –

esto fue escrito a mitad de camino en la publicación del blog de Rajiv del 12 de julio de 2012: Escalando las lecciones aprendidas en Dropbox, parte 1

Para aquellos que tienen curiosidad sobre lo que elegimos y por qué, el software que utilizamos fue:

  1. Python para prácticamente todo; no más de un par de miles de líneas de C
  2. MySQL
  3. Paster / Pylons / Cheetah (marco web: uso mínimo más allá de la plantilla y el manejo de la entrada de formularios)
  4. S3 / EC2 para almacenar y servir bloques de archivos
  5. memcached en frente de la base de datos y para manejar la coordinación entre servidores
  6. ganglios para gráficos, con drraw para gráficos personalizados como el gráfico de pila mencionado anteriormente
  7. nginx para el servidor frontend
  8. haproxy para el equilibrio de carga a los servidores de aplicaciones, después de nginx (mejor configurabilidad que los módulos de equilibrio de nginx)
  9. nagios para controles de salud internos
  10. Pingdom para monitoreo y paginación de servicios externos
  11. GeoIP para mapear IPs a ubicaciones

Dado que reclutan tanto del MIT, supongo que Python está involucrado. La alta escalabilidad confirma: “El 99,9% de su código está en Python. Se usa en el servidor; servidor de escritorio, lógica del controlador del sitio web, API y análisis”. Enlace al artículo: http://highscalability.com/blog/

Dropbox ha verificado su stack tecnológico en StackShare y, en términos de aplicaciones y datos, Dropbox utiliza Nginx, MySQL, Python, Memcached, Amazon s3, Rust y Hadoop.

Dropbox es un servicio gratuito que te permite llevar tus fotos, documentos y videos a cualquier lugar y compartirlos fácilmente. ¡Nunca más se envíe un archivo por correo electrónico!

Lenguajes de programación: Python, C

Tecnologías de servidor HTTP: NGINX

¿Qué pila de tecnología usa Dropbox?

Basado en esta presentación en Hacker News: http://news.ycombinator.com/item

– Python (Pilones / Guepardo / Pasta) y algo de C
– MySQL
– S3 / EC2
– memcached, nginx, haproxy

More Interesting

¿Cuáles son algunas ideas para mejorar visualmente un sitio web utilizando un script Java?

Sin un sitio web, ¿cómo podemos construir una base de datos para un próximo portal?

¿Cómo creo una página de inicio de sesión?

¿Cuál es el mejor y más fácil alojamiento web?

¿Qué significa el seguimiento de dependencia en JavaScript?

¿Qué herramientas utiliza para administrar la planificación del sitio web: mapa del sitio / wireframes / activos, etc.?

¿Cuáles son las especificaciones importantes del sitio web (en la página / fuera de la página) que deben tenerse en cuenta al migrar a un nuevo nombre de dominio? Tenga en cuenta que las páginas migradas en un nuevo dominio contendrán páginas web en vivo existentes, así como nuevas páginas web.

¿Por qué los programadores usan Laravel sobre otros frameworks PHP?

¿Es tonto tratar de aprender el desarrollo front end por mi cuenta mientras tomo un curso universitario que enseña a usar Java al mismo tiempo?

¿Por qué es WordPress popular entre los startuppers?

¿La tecnología JSP también se usa hoy en día? ¿Sigue siendo útil aprenderlo?

Cómo migrar mi aplicación Iron Speed ​​a MVC

¿Qué empresa ofrece los mejores servicios de desarrollo web?

¿Qué tipo de costos de desarrollo están asociados con la creación de una aplicación web / extensión de navegador / complemento de navegador?

¿Cuáles son las diferencias entre Angular JS, Node.js, jQuery y JavaScript? ¿Cuáles son algunos ejemplos de las diferencias?