Facebook es increíblemente grande, tuvo que diseñar un nuevo servidor DHCP

0
101

Puedes decir mucho sobre la dirección de una empresa al ver su pila de tecnología. Un gran ejemplo de esto proviene de Facebook, que hoy anunció la creación de un nuevo servidor DHCP de código abierto, ya que había superado los productos existentes. Esta herramienta, llamada DHCPLB, le permitirá escalar de manera más eficiente los esfuerzos de su centro de datos.

Primero, un poco de tristeza técnica. Agárrate fuerte, querido lector, ya que este bit es importante.

DHCP significa Protocolo de configuración dinámica de host. Aunque es poco probable que sea familiar para los lectores no técnicos, vale la pena saberlo, ya que es fundamental para el funcionamiento de las redes de computadoras.

En pocas palabras, el DHCP asigna automáticamente la información de red (como las direcciones IP) a los hosts en una red, lo que evita que un administrador de sistemas deficiente tenga que hacerlo manualmente. Esto hace posible conectar una computadora portátil a una red, sin necesidad de un doctorado en informática. También hace que sea más fácil para las grandes empresas, como Facebook, agregar una nueva infraestructura de servidor sin necesidad de mucha participación manual.

En el caso de Facebook, utiliza DHCP para asignar direcciones IP a equipos fuera de límite, así como para aprovisionar sistemas operativos en hardware de metal. A medida que aumentan las necesidades de tráfico y hardware de Facebook, también lo hace su dependencia de este protocolo crucial. El problema es que los servidores DHCP existentes no están equipados exactamente para operar a la misma escala que Facebook, que es uno de los sitios web con mayor tráfico del mundo.

Durante gran parte de la vida de la empresa, utilizó el servidor de código abierto Kea DHCP, que es una aplicación de un solo hilo. Con el paso de los años, la empresa se ha hecho cada vez más evidente que la han superado, obligándola a buscar alternativas en otros lugares.

“La naturaleza de un solo hilo del software significa que solo se puede procesar una sola transacción a la vez; por lo tanto, si cada backend requiere 100 ms, entonces una instancia de Kea será capaz de realizar, como máximo, 10 consultas por segundo (QPS)”, escribió Pablo Mazzini, ingeniero de producción en Facebook, en una publicación de blog.

En 2016, Facebook creó un equilibrador de carga llamado DHCPLB (de hecho, el servidor anunciado hoy por Facebook es una evolución de este equilibrador de carga). Este se creó utilizando el lenguaje de programación Go de Google, que está diseñado para facilitar la creación de programas que Aproveche los procesadores multi-core.

En su primera encarnación, DHCPLB permitió a Facebook equilibrar las solicitudes DHCP en sus servidores Kea, mientras que también le permitió experimentar con su configuración DHCP mediante configuraciones de prueba A / B.

Aunque esto mejoró el rendimiento, no fue suficiente para las necesidades excepcionalmente exigentes de Facebook. El problema fundamental con Kea, a saber, que se trataba de una aplicación de un solo núcleo, no había sido abordado. Como resultado, Facebook todavía enfrentaba cuellos de botella masivos.

Luego decidió reinventar DHCPLB como un servidor DHCP con todas las funciones.

“La nueva configuración nos permitió aprovechar el diseño multihilo para evitar que el nuevo servidor bloquee y ponga en cola los paquetes al hacer llamadas de back-end. «Primero tuvimos que hacer cambios en DHCPLB para agregar un nuevo modo que no reenvíe paquetes, sino que genera respuestas», escribió Mazzini.

Facebook quería reducir la latencia de las solicitudes de DCHP, y hasta ahora, ha sido un gran éxito. Un gráfico publicado por la compañía muestra que a medida que aumentan las solicitudes de DHCP, la latencia permanece prácticamente constante. Esto ha permitido a Facebook eliminar a Kea de su infraestructura.

“DHCPLB nos da la capacidad de probar los cambios A / B en la implementación del servidor. Incluso después de desplegar DHCPLB, continuamos ejecutando los servidores Kea en paralelo para poder monitorear los registros de errores hasta que estuviéramos seguros de que el reemplazo sería al menos tan confiable como lo había sido Kea. Desde entonces, hemos desaprobado el servidor Kea DHCPv6”, agregó.

La mayoría de las empresas de tecnología, incluso las más exitosas, no necesitarían reinventar esta rueda en particular. En términos generales, este problema es único. Sirve como un indicador de la inmensa escala en la que opera Facebook, y en particular, enfatiza su necesidad constante de expandir su infraestructura de servidor para hacer frente a la demanda de los usuarios.

Todo el mundo sabe que Facebook es increíblemente grande. La existencia de DHCPLB muestra cuán increíblemente grandes.