ICM / web / Fallos en tu página web en campañas importantes

Fallos en tu página web en campañas importantes

28 noviembre 2019 | Carlos Calvo

Ahora que vienen campañas tan importantes como el Black Friday, Navidades o incluso las rebajas, es importante contar con una serie de herramientas y servicios tecnológicos, para reducir al mínimo los fallos en tu web. Recuerda que, si falla en algún momento, perderás gran parte de tu inversión, además de aporta una «mala» imagen de marca. Entonces, ¿qué necesitas saber para evitar estos fallos en tu página web?

Ser previsor… Si la planificación inicial durante el setup es correcta, a lo largo del año los recursos técnicos de una infraestructura informática son suficientes para atender el volumen habitual de peticiones recibidas. En esos períodos, los recursos de la infraestructura, como CPU, RAM, acceso a Disco, etc. tienen un volumen de carga que pueden soportar.

Hay que tener en cuenta que, por muchos recursos que le asignemos a una plataforma, una única máquina puede no ser capaz de atender a las cargas de trabajo recibidas. Por lo tanto, el indicador «over-provisioning» no servirá como recurso para resolver problemas de carga. Es más que posible que los problemas de sobrecarga de una plataforma se resuelvan antes creciendo en horizontal, que aumentando recursos (excepto cuando la falta de recursos es evidente).

¿Qué debo hacer? Ser previsor en estas campañas

Ser previsor… Como comentábamos anteriormente, es posible que nuestra infraestructura esté bien diseñada para el 95% del año, pero entonces… llegan las Navidades. Épocas en las que nuestras gráficas de red, entre otras métricas, pueden mostrar patrones como el siguiente: 

fallos página web en navidades

 

Como vemos en este gráfico, según se van acercando fechas de consumo alto como la Navidad, el volumen de peticiones puede crecer de forma acelerada. Es por ello por lo que debemos ser previsores y anticiparnos a estas situaciones. Es básico que todos los servicios de nuestra plataforma estén redundados para que no aparezcan fallos en nuestra página web. Quizás no lo sepa, pero todos los servicios informáticos se pueden redundar.

Lo clarificamos con un ejemplo: asumamos un escenario simple en el que disponemos de un servicio de publicación Web como Apache2 y un servicio de gestión de bases de datos como MySQL; cada uno en una máquina. Nota recordatoria: nunca trabajes con ambos servicios en una sola máquina. Ésta es nuestra plataforma mínima para servir nuestro site de venta de productos.

Si quisiéramos estar seguros que vamos a minimizar los fallos en nuestra página web y de que aguantará una campaña Navideña, deberíamos conseguir que los datos se guardasen en más de un sitio y establecer políticas para que las queries de escritura fuesen contra un servidor y las de lectura contra otro(s). A poder ser como comentábamos, distribuidos geográficamente. Además, deberíamos añadir más de un servidor Web (Apache2). Hacer crecer la plataforma horizontalmente es, a la larga, mucho más productivo y barato que meterle más recursos a una sola.

Balance de carga y CDNS para no tener fallos en la web

Cuando hagamos progresar la publicación Web en horizontal, necesitaremos también un balanceador de carga. Éste nos permitirá balancear las peticiones de los usuarios hacia nuestros servidores de publicación Web.

Además, es una buena práctica descargar a los frontales Web del trabajo a tener que servir contenidos estáticos tales como imágenes, JavaScripts u otros. Es por eso que acoplar sistema de cacheo a nuestra plataforma hará que, a la larga, sólo lleguen a los servidores Web las peticiones que se han de procesar, dejando al cache el trabajo de servir los contenidos estáticos. Éste lo hará de forma mucho más eficiente que un servidor Web.

Asimismo, podemos usar CDNs públicos como Azure, Cloudflare, AWS u otros, que harán las veces de sistema de cacheo pero a través de un servicio de terceros. Esta opción descargará en nuestra plataforma de gran parte del tráfico que recibiría si el CDN no estuviese.

Tienda física vs tienda online

Ahora comparamos las tiendas online con las tiendas físicas. Si por ejemplo quieres vender ositos de peluche, deberás contratar personal que atienda en el establecimiento. También deberás pagar el alquiler del local o comprarlo, deberás contratar un suministro constante a buenos proveedores de ositos y un largo etcétera empresarial. Todo eso sumará una gran cantidad de dinero que, en muchos casos, pagarás de forma periódica, a través de nóminas o alquileres.

Ahora volvemos a una tienda online. Debes tener claro que, obviamente, montar un web que no falle con los indicadores anteriores supone invertir más que tener todos los servicios en una sola máquina. Eso sí, recuerda que casi el 40% de los internautas que se encuentran con el servicio caído en su primera visita a un site, no volverán.

En el mundo Internet, es muy importante estar siempre disponible, independientemente del volumen de carga que tu site tenga. Por eso, es esencial generar entornos robustos y probados con puntas de carga superiores a las previstas. Como hacemos en ICM.