La caída de Facebook a nivel mundial que ocurrió el lunes ha sido un antes y un después en la compañía, y es que estuvieron completamente desconectados de Internet durante más de 5 horas, algo inédito para una de las compañías más grandes del mundo. Ahora que la plataforma de Facebook, WhatsApp e Instagram se han recuperado al 100% de la caída ocurrida el lunes, el equipo de Facebook ha publicado detalles sobre cómo ocurrió su caída, por qué se produjo y también cómo lo consiguieron arreglar. ¿Quieres saber todos los detalles sobre la mayor caída de la historia de Facebook hasta el momento? Podéis visitar nuestro tutorial sobre para qué sirve Nslookup.
¿Cómo funciona Facebook y por qué ocurrió su caída total?
Facebook ha indicado que la interrupción total del servicio a nivel mundial se debió a un fallo del sistema que administra la capacidad de la red troncal de la compañía, esta red troncal es la «columna vertebral» de la red de Facebook, para conectar todos los centros de datos que Facebook tiene repartidos por todo el mundo, los cuales constan de miles de servidores y cientos de kilómetros de fibra óptica, ya que conectan también sus centros de datos con cables submarinos. Algunos centros de datos de Facebook tienen millones de servidores que almacenan los datos y tienen una alta carga computacional, pero en otros casos las instalaciones son más pequeñas y se encargan de conectar la red troncal a Internet en general para que las personas usen sus plataformas.
Cuando cualquier usuario como nosotros se conecta a Facebook o Instagram, la solicitud de los datos viajan desde nuestro dispositivo a la instalación más cercana geográficamente, para posteriormente comunicarse directamente con la red troncal para acceder a los centros de datos más grandes, aquí es donde se recupera la información solicitada y se procesa, para nosotros verlo en el smartphone.
Todo el tráfico de datos entre los diferentes centros de datos se gestionan mediante routers, los cuales determinan dónde deben enviar los datos salientes y entrantes. Como parte del trabajo diario, el equipo de ingeniería de Facebook necesita mantener esta infraestructura y realizar tareas como actualización de los routers, reparar líneas de fibra o agregar más capacidad en determinadas redes. Este fue el problema de la caída global de Facebook del lunes.
Durante el trabajo de mantenimiento, se envió un comando con la intención de evaluar la disponibilidad de la capacidad de la red troncal global, pero accidentalmente cortó todas las conexiones de la red troncal, desconectando todos los centros de datos de Facebook a nivel mundial. Generalmente Facebook utiliza sistemas para auditar este tipo de comandos, y mitigar o evitar errores como este, pero un error (bug) en esta herramienta de auditoría y control de cambios, impidió detener la orden ejecutada, y entonces todo se vino abajo.
¿Qué ocurrió en Facebook al ejecutar el comando?
En cuanto se ejecutó el comando, provocó una desconexión total de las conexiones de los centros de datos e Internet, es decir, no podíamos acceder a ninguno de los servicios de Facebook porque dejaron de estar visibles en Internet. Además, esta desconexión total provocó un segundo fallo catastrófico en el sistema, más concretamente en los DNS. Una de las tareas que realizan las instalaciones de centros de datos más pequeñas es responder a las consultas de DNS, estas consultas se responden por los servidores de nombres autorizados que tienen direcciones IP bien conocidas, y que se anuncian al resto de Internet utilizando el protocolo BGP.
Para garantizar un funcionamiento más confiable, Facebook hace que los servidores DNS desactiven esos anuncios BGP si ellos mismos no pueden hablar con los centros de datos de Facebook, porque esto indica que la conexión de red no está en óptimo funcionamiento. Con la interrupción total de la red troncal, estos servidores de DNS lo que hicieron fue retirar los anuncios de BGP. El resultado de esto es que los servidores DNS de Facebook se volvieron inalcanzables aunque estaban funcionando perfectamente, por este motivo, el resto del mundo no podía acceder a los servicios de Facebook.
Lógicamente todo este proceso fue en cuestión de segundos, mientras los ingenieros de Facebook trataban de averiguar qué estaba sucediendo y por qué, se enfrentaron a dos problemas críticos:
- No era posible acceder a los centros de datos normalmente, porque las redes estaban totalmente caídas por el primer problema.
- La caída de los DNS rompió muchas herramientas internas que normalmente se usan para investigar y resolver los problemas de este tipo.
El acceso a la red principal y a la red fuera de banda estaban caídos, nada funcionaba, por lo que tuvieron que enviar a un equipo de personas físicamente al centro de datos para arreglar el problema y reiniciar el sistema. Esto llevó mucho tiempo debido a que la seguridad física en estos centros es máxima, de hecho, según ha confirmado Facebook es hasta complicado para ellos acceder físicamente a ellos para realizar modificaciones, con el objetivo de evitar o mitigar posibles ataques físicos a su red. Esto les llevó bastante tiempo hasta que pudieron autenticarse en el sistema y ver qué estaba ocurriendo.
Volviendo a la vida…pero poco a poco para no tirar todo el sistema
Una vez que se restauró la conectividad de la red troncal en las diferentes regiones de los centros de datos de Facebook, todo volvió a funcionar correctamente, pero no para los usuarios. Con la finalidad de evitar un colapso en sus sistemas debido a la ingente cantidad de usuarios que querían entrar, tenían que activar los servicios muy poco a poco, para evitar causar nuevos problemas debido al aumento exponencial del tráfico.
Uno de los problemas es que los centros de datos individuales estaban utilizando muy poca energía eléctrica, revertir de manera repentina todo el tráfico podría hacer que la red eléctrica no pudiera absorber tal cantidad de energía adicional, y podría poner en riesgo los sistemas eléctricos y también las caché. Facebook se ha entrenado para este tipo de eventos, entonces sabían perfectamente lo que debían hacer para evitar más problemas en caso de una caída global como la que ha sucedido. Aunque Facebook había simulado muchos problemas y caídas de sus servidores y redes, nunca habían tenido en cuenta una caída total de la red troncal, por lo que ya han declarado que buscarán la forma de simular esto en un futuro muy próximo para evitar que vuelva a pasar y se tarde tanto tiempo en solucionar.
Facebook ha indicado también que fue muy interesante ver cómo las medidas de seguridad físicas para evitar el acceso no autorizado, hizo que se ralentizara enormemente el acceso a los servidores mientras intentaban recuperarse de este fallo a nivel mundial. De todas formas, es mejor protegerse diariamente de este tipo de problemas y tener una recuperación algo más lenta, que relajar las medidas de seguridad de los centros de datos.