Normalmente, cuando un sitio web experimenta un tiempo de inactividad, sus visitantes se limitan a esperar a que vuelva y ahí se acaba la historia. No hay noticias, ni gran pánico público, ni ningún otro incidente. Para la mayor parte del mundo, es un día más en la oficina. Todo esto cambió el 27 de enero de 2015, cuando Facebook e Instagram desaparecieron misteriosamente de la faz del planeta durante 55 minutos. De repente, un gran número de personas siente curiosidad por saber qué hacen las grandes empresas para garantizar que sus sitios web sigan funcionando, y por qué los sitios web a veces se hunden durante unas horas. Es hora de hablar de ambas cosas.

Las causas

A pesar de la estabilidad que hay detrás de las páginas web de grandes nombres como Google, Facebook, Twitter y YouTube, hay muchas cosas que pueden fallar en cualquier momento. Incluso los servicios de Google, que presumiblemente son los más estables del planeta, se caen de vez en cuando (puedes ver las estadísticas de la propia empresa aquí). Por ejemplo, Gmail experimentó una interrupción muy breve que apenas fue percibida por nadie el 18 de diciembre de 2014. Las interrupciones pueden producirse por varios motivos.

Vamos a clasificar estos motivos en interrupciones «intencionadas» y «no intencionadas». Comenzaremos con las razones de las interrupciones «intencionales»:

  • mantenimiento e implementación de nuevo código
  • cierre permanente que precede al cierre de una empresa

Estos son un poco obvios. Pero hay muchas más razones para las interrupciones «involuntarias»:

  • caída del servidor (esto incluye fallos del disco duro y otros problemas de hardware)
  • caducidad del nombre de dominio (DNS)
  • confiscación de nombres de dominio
  • denegación de servicio distribuida (DDoS; vea aquí lo que es esto)
  • retirada por parte de las fuerzas de seguridad
  • cierre del servidor por un hacker (muy raro)
  • demasiados visitantes accediendo al sitio web simultáneamente
  • errores en la gestión de la base de datos o en el código de la página web
  • catástrofes naturales
  • problemas del ISP en el centro de datos
  • interrupción del servidor DNS

Estas son sólo algunas de las razones por las que un sitio web puede caerse involuntariamente, pero son las más comunes.

¿Está realmente caído el sitio?

serveroutages-downrightnow

Antes de emitir un veredicto sobre el estado de un sitio web, debe asegurarse de que no hay problemas con su propia conexión. La mejor manera de hacerlo es que un tercero compruebe si el sitio funciona desde su propia conexión. Puedes hacerlo de forma muy sencilla utilizando servicios como downrightnow o «Is It Down Right Now?». Ambos sitios web muestran constantemente los estados de los destinos más populares de la web para su comodidad.

¿Qué hacen al respecto?

La metodología para resolver una interrupción suele ser muy sencilla. ¿Se ha caído el servidor? Vuelva a encenderlo o arréglelo. ¿Alguien está atacando el sitio? Cambie su dirección IP y póngalo detrás de un firewall de proxy inverso. Tenemos las soluciones. La cuestión es evitar que se produzca el problema en primer lugar.

La forma más sencilla de evitar estas interrupciones es establecer un alojamiento redundante, vinculando el nombre de dominio propio a varias direcciones IP. Cuando una IP falla, se utiliza la siguiente. Mira la configuración de Google:

serveroutages-nslookup

Esta sencilla solución también es eficaz contra los DDoS, que son quizás la mayor amenaza externa para cualquier servidor. Además, las grandes empresas como Google y Facebook no ponen todos los huevos en la misma cesta; sus servicios se alojan en diferentes centros de datos dispersos geográficamente para garantizar que los problemas generalizados puedan contenerse con relativa rapidez.

Lo único contra lo que este tipo de estrategia de alojamiento no te protege es contra los retiros de las fuerzas de seguridad y las confiscaciones de dominios, en cuyo caso tendrás que ponerte en contacto con la autoridad que realizó la confiscación para ver cómo puedes trabajar con ellos para restaurar tu sitio.

Otros métodos para evitar el tiempo de inactividad incluyen la compra de un servicio de DNS de respaldo, la contratación de un servicio de almacenamiento en caché y la realización de cambios sutiles en el código que permitan que un sitio web funcione de manera compartimentada, de modo que la página de inicio siempre se muestre incluso cuando cosas como la base de datos o la red de distribución de contenidos (CDN) estén inactivas.

Estas son sólo algunas de las cosas que los sitios web que amamos hacen para asegurarse de que nunca se hundan.