Cómo Dropbox escaló de 2,000 a 200 millones de usuarios

Cuando Dropbox fue lanzando al público en el año 2008, el servicio creció de la noche a la maña de unos pocos miles de usuarios, a cientos de miles, y después se convirtieron en millones.

Es algo genial para una nueva Startup, pero se presentan algunos problemas técnicos, especialmente cuando empiezas a pensar en ampliar tu infraestructura para cubrir las demandas de tus usuarios.

En el caso de Dropbox, la compañía tuvo que enfrentarse a un desafío incluso mayor porque se estaba vendiendo a sí misma como un dispositivo de almacenamiento en tiempo real capaz de añadiendo la solución de la sincronización. Para que Dropbox tuviera éxito, los usuarios debían de ser confiar en un servicio que fuera rápido, fiable y seguro.

Así que ¿cómo ha conseguido crecer Dropbox? Rajiv Eranki fue el director de ingeniería de los servidores de Dropbox del 2008 al 2011. Fue el segundo ingeniero contratado desde los orígenes de la compañía y su trabajo estaba enfocado en ayudar a que el producto tuviera éxito. Durante su etapa en Dropbox, Eranki vio como la compañía pasaba de tener 2.000 usuarios a 40 millones.

Eranki compartió alguna de sus experiencias en su blog y en la RAMP conference a principios de este mes

Video streaming by Ustream
Éstos son algunos puntos clave:

Elegir Python fue una buena decisión

Eranki explicó en su presentación en las conferencias de RAMP que el equipo de Dropbox utilizó el lenguaje de programación Python paraprácticamentee todo. Esta decisión fue beneficiosa porque significó que toda la plataforma podría “alcanzar los 40 millones de usuarios sin tener que escribir miles de líneas de código en C”

Rian Hunter se hizo eco de sus palabras en la PyCon 2011. Pycon es una conferencia dedicada al lenguaje de programación Python y Hunted dio una presentación titulada “Cómo lo hizo Dropbox y cómo ayudó Python”.

La ventaja de usar Python fue que permitió al equipo aumentar el número de usuarios mucho más rápido que si hubieran utilizado otros lenguajes de programación como base.

En los primeros días, cuando sólo dos ingenieros se centraban en la ampliación del proyecto, limitar las dificultades era una parte importante del crecimiento.

De una forma similar, mediante el uso de “software stacks” – incluyendo MySQL, S3 de Amazon y la infraestructura EC2, el equipo pudo garantizar la no complejidad en los primeros días.

Testea o prueba tus fallos potenciales

Uno de los puntos que Ernaki repite constantemente en su presentación es que si un sistema puede fallar, debe de ser testeado. Además añadió que su equipo reiniciaba “duramente” los servidores para ver que pasaba con frecuencia. ¿Funciona la estrategia de conmutación por error? ¿Los procesos se reinician por si mismos?

Averiguar cómo falla algo y hacer pruebas en esos sistemas cuando las cosas funcionan bien hace que los fallos reales sean manejables.

Enraki añade ademas “Quizás suene estúpido hacer simulacros en el propio sitio, pero testar los entornos (hacerlo de forma externa) no es suficiente. Hacerlo así es un buen seguro”.

Mantenimiento coherente del Hardware

El crecimiento y popularidad de Dropbox supuso la necesidad de comprar nuevo hardware. En vez de confiar en un puñado de diferentes configuraciones de servidores y tipos de hardware, el equipo tuvo máquinas más pequeñas pero con configuraciones coherentes.

Esto limito la cantidad de “capacity planning” tal y como Eranki lo puso, además ayuda a mantener las cosas de forma coherente cuando se trata de averiguar si hay un problema en una pieza específica del Hardware.

Utilización de UTC (Universal time coordinated)

Utilizar el código horario UTC entre los servidores salvó a Dropbox de tener que lidiar con problemas potenciales como por ejemplo, tener los servidores o sistemas en diferentes husos horarios. Dropbox incluso fue más lejos, y no convierte las horas al zona horaria del usuario hasta el último segundo (en el navegador o en el programa).

El equipo de Dropbox incluso tenía su reloj en la pared marcando las horas según la hora de UTC, así todos están coordinados con sus servidores.

Puede que suene tonto, pero cuando una gran parte de tu negocio descansa en la fiabilidad de la sincronización de los archivos, un cambio de franja horaria podría hacer que los documentos se sincronizaran de forma errónea.

Actualiza con frecuencia

Uno de los mantras de dropbox ha sido, y es, lanzar actualizaciones frecuentemente. En los primeros días, el código se actualizaba el mismo día que había sido escrito. Esto implicaba que los resultados se apreciaban inmediatamente y que las mejoras potenciales podrían ayudar a los usuarios.

Incluso, a día de hoy, Dropbox sigue lanzando actualizaciones en beta para sus cliente de Mac, Windows y Linux. .Estos lanzamientos incluyen nuevas características incluso antes de que sean probadas por la mayoría de usuarios y se dan a usuarios que explícitamente quieren probar los nuevo contenido, además de que entienden que es posible que haya errores.

Aunque las actualizaciones son importantes, Dropbox tiene que asegurarse de que sus usuarios reciben únicamente el código correcto. Después de todo, un directorio corrupto y la pérdida del trabajo es una de las peores cosas que le puede pasar a un sistema de almacenamiento y sincronización.

¿Qué piensas de cómo ha crecido Dropbox? Deja un comentario.

———-

Orinally Published in: Mashable

Post: How Dropbox Scaled From 2,000 to 200 Million Users

Author: Christina Warren

 

Share this post

No comments

Add yours