¿Cómo ahorra Pinterest en costos de servidor?

Todos nuestros servidores frontend (los servidores que terminan sirviendo HTML / JSON / etc. a nuestros usuarios finales) no tienen “estado”. Lo que significa que podemos escalar al tráfico simplemente agregando más de los mismos servidores.

Tenemos algunos scripts de Python que se ejecutan cada diez minutos y aumentan o disminuyen la cantidad de nodos que tenemos según la hora del día. Entonces, digamos que tenemos una línea base de 100 servidores. Podríamos decir que desde 12a-9a se ejecuta al 80% (es decir, 80 servidores) y digamos que nuestro pico es de 12p-6p, luego especificaríamos que queremos 120% (es decir, 120 servidores).

Todo lo que nuestro script está haciendo es decirle a EC2 que termine un cierto número de nodos o que cree un cierto número de nodos.

A medida que surgen estos nodos, se registran en un equilibrador de carga, comprueban la versión correcta del código y comienzan a servir el tráfico.

Se pueden encontrar más detalles en este hilo de noticias de Hacker: http://news.ycombinator.com/item….

tl; dr usamos cron, python y la API de Amazon.