Como Autoscale ayuda a Facebook a ahorrar energia

Una de las preguntas que me hacen recurrentemente es que hace un arquitecto… La respuesta es de esas que son muy simples y muy complejas a la vez.
Se debe preocupar transversalmente de todo, es decir de que y como lo hace un programador, del que y como se libera una aplicación, en que sistema operativo debiese ir, en que hardware debiese estar, pero cuando todo eso a ya ha sido superado, cuanta energia se gasta.

Este es el caso de Facebook, en donde yo creo que varios temas de desarrollo estan solucionaods y temas de arquitectura ya están sanjados, pero hoy la pregunta es como pago la cuenta de luz a fin de mes, y en esto ayuda Autoscale que es un balanceador desarrollado por gFacebook para darle carga a los servidores que ya tienen algo de carga, con lo que ahorran energía.

La idea es la siguiente (puedes leerla en inglés desde el mismo Facebook) Si un servidor desocupado consume 60watts, uno medianamente ocupado consume 130watts y uno muy ocupado consume 150watts, se tiene que pasarle una petición a uno desocupado hace que pase a gastar más del doble, por lo que la decision de pasarle una peticion a uno medianamente ocupado, es una buena idea.

Autoscale

Por eso la implementación de autoscale se basa en pasarle peticiones a servidores que estan medianamente ocupados y asi gestionar las peticiones, cambiando el Round Robin, por esta heuristica, lo que logra el ahorro de energía y un menor costo en la cuenta de luz.

Referencia

Making Facebook’s software infrastructure more energy efficient with Autoscale

Publicado en Arquitectura de Software, Desarrollo, Web