¿Qué ocurre cuando haces clic en “Me gusta” en Facebook? (I)

El viaje de la red social a través del hardware que utiliza en su data center y por el concepto de rack desagregado

13 February 2013 por Yevgeniy Sverdlik / Celia Villarrubia

¿Te has preguntado en alguna ocasión qué ocurre entre el momento en que haces clic en el botón “Home” de tu página de Facebook y el momento en que ves los últimos posts de tus amigos con los anuncios, no demasiado bien personalizados, de la zona de la derecha? Si lo has hecho, por fin encontrarás respuestas a tus preguntas. Si no lo has hecho aún, lo que Jason Taylor tiene que decir hará que te preguntes por qué ocurre así.

Una vez que haces clic en el botón de “Home”, un ping (instrucción que verifica la conexión de hardware y la dirección lógica de la capa de red) va a un servidor web, que lo envía a una caché para comprobar si el clic proviene de un usuario registrado. Cuando tiene luz verde, la caché conecta con el servidor, que envía una petición a un rack de 40 servidores llamado “multi-feed rack”, que contiene la actividad de todos los usuarios de Facebook en los últimos dos días.

Un programa agregador en uno de los servidores (funciona en todos ellos) envía una petición a todos los 40 servidores en paralelo, pidiéndoles transferir lo último que han posteado tus amigos. El agregador, entonces, coge los datos, los califica en base a quienes Facebook piensa que son tus amigos más cercanos y pasa los 40 primeros posts de nuevo al servidor web.

Este servidor envía otra petición a la caché para conseguir el material que necesita para mostrar esas historias: el texto, los comentarios, el número de “Me gusta”, los enlaces a las fotos, los nombres de los autores, etc. Es muy probable que todas las cosas estén en la caché. Si falta algo, se envía una petición a un servidor de base de datos para encontrarlo ahí. Finalmente, el software coge algunos anuncios del servidor de anuncios y muestra el producto en tu pantalla.

Cuando se complete todo este proceso, tan solo habrá pasado un segundo.

Jason Taylor es el director de ingeniería y análisis de capacidad de Facebook, lo que significa que su trabajo es asegurar que ves las fotos de tus amigos con esa velocidad. Su trabajo consiste, también, en garantizar que Facebook no se quede nunca sin capacidad. Asimismo, su otro trabajo es hacer posible que Facebook no pague más por equipamiento que lo absolutamente necesario y garantizar que la compañía utiliza cada dólar invertido en infraestructura y cada kilovatio consumido tan eficientemente como sea posible.

Una carga pesada y constante

La suya es una ocupación a tiempo completo. La mayoría de los data centers de Facebook están en Estados Unidos, mientras que el 82% de sus usuarios se ubica en otros países. “Esto significa que nuestros servidores están calientes probablemente de 14 a 16 horas al día”, indica.

Jason Taylor, director de ingeniería y análisis de capacidad de Facebook

 

La mayoría de los usuarios europeos entran en Facebook sobre las 8 am del Pacífico, cuando el tráfico de Europa empieza a crecer, alcanzando su pico a las 9 am y permaneciendo alto hasta cerca de las 4 pm.

El tráfico de la costa este de Estados Unidos se encuentra en su momento pico entre las 10 am y las 4 pm. Este pico es menor en la parte central de Estados Unidos, donde hay menos equipos, por lo que hay normalmente una caída después de las 4 pm, que dura solo hasta las 7 pm, cuando Asia empieza a funcionar.

La carga es pesada y constante. La red social tiene más de mil millones de usuarios que añaden 320 millones de fotos cada día, postean, comentan y le dan a “Me gusta” en posts y comentarios 12.200 millones de veces al día, hacen 140 millones de conexiones de amigos y entran en 17.000 millones de sitios. A mediados de enero, los data centers de Facebook almacenaban 212.000 millones de fotos.

La compañía gastó 1.000 millones de capital en data centers y en el equipamiento ubicado en su interior durante los primeros nueve meses de 2012. Sin duda, “empleamos mucho tiempo pensando en eficiencia y coste”, dice Taylor. Para resumir el mundo perfecto de Taylor en una frase: Un mundo perfecto es aquél en el que cada servicio de Facebook utiliza el 100% del hardware que tiene. La compañía todavía no está en ese punto, pero están trabajando duro para llegar.

Cinco tipos de servidores

Actualmente, la compañía utiliza cinco tipos de servidores. “Los ingenieros de Facebook pueden tener cualquier servidor que quieran, siempre que sea uno de estos cinco tipos”, dice Taylor. Facebook ha diseñado los cinco modelos, cada uno optimizado para una tarea concreta o para múltiples tareas, sin ninguna arrogancia.

Los servidores web tienen mucha CPU, pero muy poco más. Los servidores de bases de datos son potentes en capacidad de almacenamiento Flash; los servidores “Feed” tienen mucha CPU y RAM; los servidores Hadoop tienen mucho disco y CPU; y Haystack (el servidor de fotografías) está optimizado para tantos discos por dólar como Taylor pueda conseguir. Todos, excepto los servidores Feed, hacen exactamente la tarea para la que han sido diseñados. El tema es más complicado para los servidores Feed, que hacen mucho más que simplemente generar newsfeeds o agregadores de noticias.

¿Por qué limitar a tus ingenieros a cinco tipos de servidores? El precio por servidor es mucho más barato cuando compras unas pocas miles de unidades al mismo tiempo. Los proveedores harán lo imposible para mejorar la oferta de los competidores cuando compras a los volúmenes de Facebook.

Otra razón es el redireccionamiento o rediseño. Es muy fácil mover un servidor de un servicio a otro si el servicio ha sido sobre-provisionado. Un servidor homogéneo hace el proceso más sencillo en lo que se refiere a reparaciones, discos, depuración de programas, etc. Facebook solo necesita unos pocos técnicos de data center para dar servicio a una gran cantidad de servidores. Además, hay suficientes servidores a mano para necesidades inesperadas.

Entonces, ¿dónde está el truco? El truco está en que Facebook está formado por mucho más de cinco servicios. “Tenemos 40 servicios principales y cerca de 200 menos importantes”, dice Taylor. “El problema es que no todos los servicios encajan perfectamente en ese espacio”, añade.

¿Significa esto que Facebook se ha topado con el muro de la eficiencia?
 

En la próxima entrega del reportaje podrá conocer más sobre el concepto de “rack desagregado” de Facebook.
 

CONÉCTESE A DCD

INGRESE


¿OLVIDÓ SU CONTRASEÑA?

CREAR UNA CUENTA DCD

¿Necesita personal cualificado?

REGIONES

region LATAM y España North America Europe Em Português Middle East Africa Asia Pacific

Whitepapers VER TODO