¿Cuáles son algunos buenos recursos sobre cómo y cuándo escalar una startup?

Debe escalar antes de que lo necesite, pero no con tanta anticipación como para desperdiciar dinero o perder los avances tecnológicos que harían la escala más fácil / más barata / mejor.

En BuildFax, intentamos estar entre 6 y 12 meses antes de la necesidad. Esto significa que siempre tenemos un plan implantable para escalar hasta 10 veces el tráfico dentro de las 24 horas (generalmente mediante una combinación de escala horizontal y vertical), y un trabajo consistente para una escala más fácil / más barata / mejor mediante la prueba de nuevas tecnologías.

En cuanto a los recursos, generalmente son bastante específicos de la tecnología. Pero, en general, desea limitar sus escrituras a su base de datos y a un área de almacenamiento de un solo archivo (usamos S3; también podría usar una SAN) para que pueda ejecutar tantos servidores de aplicaciones como desee (a través de DNS de round-robin o Un equilibrador de carga). También desea insertar la mayor cantidad de procesamiento posible en los servidores de aplicaciones, porque son muy fáciles de escalar.

A continuación, optimiza su base de datos, preferiblemente evitando fragmentación. Puede hacerlo optimizando las consultas en el código de la aplicación, escalando verticalmente el servidor y utilizando un servidor de almacenamiento en caché (como memached) para que no acceda tanto al servidor de la base de datos. (Alternativamente, si está utilizando una base de datos NoSQL que se escala trivialmente, hágalo).

Finalmente, debe lidiar con la fragmentación de su base de datos (si aún no maneja suficiente tráfico).

Si está buscando más detalles, los mejores recursos suelen ser publicaciones de blog y presentaciones de DBA para sitios importantes (el equipo de Facebook, en particular, ha sido muy abierto y ha producido mucha buena documentación).