← Volver a las noticias

Por qué pasar a «un servidor más grande» no te evitará que la web se cuelgue

evitar que el sitio web se cuelgue0

A lot of people approach CrowdHandler thinking they need to choose between paying for an online waiting room, and paying their hosting company for a bigger server.

Quería explicar por qué eso suele ser una falsa disyuntiva.

Es habitual pensar que un sitio web que prevé un aumento del tráfico debería actualizar su servidor. Y, en el caso de los sitios web que registran un incremento constante y gradual del número de visitantes, esa podría ser la solución adecuada.

Sin embargo, en el caso de los sitios web que experimentan picos de tráfico ocasionales pero significativos —como suele ocurrir con los de nuestros clientes—, pagar por un servidor más potente en lugar de optar por un producto de «sala de espera» puede acabar siendo un error costoso y frustrante.

Why bigger isn't necessarily better

Lo entiendo. Has lanzado una oferta en directo y la web se ha colapsado. Sabías que recibirías muchas visitas, pero quizá, ese mismo día, el número te haya pillado por sorpresa. O quizá la web simplemente no haya respondido como esperabas. Y sí, lo sabemos, es un fastidio. Pero, en realidad, es algo muy habitual. Es increíblemente difícil prever el tipo de picos de tráfico de los que estamos hablando aquí.

Así que os reunisteis. Quizá vuestro responsable de marketing os sugirió acudir a vuestro proveedor de alojamiento web: actualmente pagáis 500 dólares al mes por vuestro servidor y, sin duda, si pagáis 1.000 dólares al mes, obtendréis un servidor el doble de grande. Podrá gestionar el doble de tráfico, ¿verdad?

Quizás tu proveedor de alojamiento ya te haya facilitado algunas especificaciones: el paquete que te proponen ofrece ocho gigas de algo, 48 CPU y un montón de otras estadísticas y cifras que suenan mejor que lo que tienes ahora.

Pero si te asalta alguna duda, probablemente tengas razón. La verdad es que, en el caso de las páginas web que experimentan picos de tráfico irregulares, no es tan sencillo.

Sites with spikes need a specialist product

En primer lugar, ¿duplicar los costes de alojamiento cubriría realmente la magnitud del problema?

Si pasas largos periodos de tiempo con muy poco tráfico y, de vez en cuando (por ejemplo, todos los viernes por la mañana), todo el mundo se conecta a la vez, es probable que el tráfico se multiplique no por dos, sino por veinte, cincuenta o quizá cien durante esas pocas horas. Duplicar los costes de alojamiento probablemente no bastaría ni para arañar la superficie. Es posible que tengas que gastar cien veces esa cantidad, solo para hacer frente a tu venta semanal.

En cuanto al gasto, es poco probable que eso suponga un buen retorno de la inversión.

Pero supongamos que el dinero no es un problema y que puedes permitirte una infraestructura realmente potente, capaz de gestionar un tráfico mucho mayor que el habitual. Tu inversión total debe abarcar algo más que «un servidor más grande».

Y eso se debe a que, cuando se habla de la infraestructura de un sitio web, no hay ningún componente que pueda ampliarse o reducirse para adaptarse a las necesidades. Incluso si amplías tu hardware, es probable que también tengas que realizar una configuración especializada de los distintos componentes de software que se ejecutan en él —la base de datos, el servidor web, con suerte una capa de almacenamiento en caché o una CDN (red de distribución de contenidos)— para garantizar que puedan dar servicio a un sitio web con una gran demanda. Estos componentes de software interactúan entre sí y todos tienen funciones diferentes, lo que genera distintos puntos críticos y cuellos de botella. Todo esto debe ajustarse, configurarse y gestionarse con cuidado. Tu proveedor de alojamiento web no va a hacer esto por ti. Por lo tanto, aunque inviertas mucho en costes de alojamiento, probablemente también tendrás que pagar a un experto para que dedique mucho tiempo a asegurarse de que la configuración sea absolutamente perfecta.

Estamos hablando de pruebas de carga minuciosas y, posiblemente, de reescribir el código principal del sitio web. Si, como muchos de nuestros clientes, utilizas algún sistema de gestión de contenidos o marco de trabajo estándar, como WordPress, de todos modos no podrás modificar de forma significativa el producto principal.

Además, resulta muy difícil predecir con exactitud cómo serán los picos de tráfico. Podrías dedicar mucho tiempo y dinero a hacer pruebas y conjeturas, pero hasta que la oferta no se ponga en marcha, nadie sabe realmente qué va a pasar.

Can't we just use AWS?

Esto es algo que me dicen muchas personas. Y, bueno, claro que se puede, pero esos costes se pueden multiplicar de nuevo. Si quieres crear una página web verdaderamente escalable en AWS, no basta con facilitarles los datos de tu tarjeta de crédito; necesitas a un experto en AWS que te lo configure todo. Incluso si pagas a AWS por un servicio de asistencia premium, ellos esperarán hablar con un experto en aplicaciones o infraestructura de tu organización, el tipo de experto que quizá no tengas en tu equipo.

Do the math

Espero que estés empezando a darte cuenta de que la escalabilidad no es fácil para las páginas web más sencillas con las que trabajamos en CrowdHandler.

Pero incluso para aquellos clientes que son expertos en las últimas configuraciones sin servidor de AWS o Kubernetes, puede que sigan existiendo razones matemáticas por las que sea imposible alcanzar una escalabilidad ilimitada.

Si vendes algo que no es fungible —en otras palabras, que tiene un número matemáticamente limitado—, ya sea un NFT o una entrada de teatro, existen cuellos de botella matemáticos inherentes. No puedes vender la butaca 34H más de una vez para una fecha concreta, por lo que no puedes ampliar la capacidad replicando ese producto en varios servidores. (Sé que tu experto en tecnología es muy inteligente y cree que solo es cuestión de utilizar el producto de base de datos adecuado, pero confía en nosotros: al final, no podrán vencer a las matemáticas).

Por lo tanto, en muchos sentidos, las especificaciones de tu alojamiento web pueden resultar irrelevantes de todos modos, ya que lo importante no es la velocidad a la que una máquina puede realizar un cálculo, sino cuántos cálculos en paralelo podrá realizar tu parque de servidores para atender a muchos usuarios simultáneos, y si esos cálculos pueden realmente realizarse en paralelo, para empezar.

Expertise

Así que lo resumiré así: si crees que estás eligiendo entre un servidor más grande y una sala de espera —incluso si ese servidor es un clúster mantenido por expertos en AWS, ese servidor mágico aparentemente escalable hasta el infinito capaz de hacer frente a cualquier demanda—, probablemente se trate de una falsa disyuntiva.

Con una sala de espera online como CrowdHandler, no hace falta que sepas exactamente qué va a pasar. Podrás gestionar el tráfico a un ritmo que puedas asumir en cualquier caso, incluso si ese ritmo es inferior al que esperabas inicialmente. Y lo que es mejor aún, esto te da el margen y el tiempo necesarios para identificar dónde se encuentran realmente los cuellos de botella y mejorar de cara a la próxima vez, en lugar de tener que apagar incendios en las redes sociales.

Y si estás pensando en contratar servicios especializados, la forma más rentable de hacerlo es utilizar una solución de sala de espera online como CrowdHandler. Y es que CrowdHandler ha sido desarrollado por un equipo de expertos en escalabilidad que conocen a la perfección los problemas específicos de sitios web y plataformas de ventas como la tuya, y hemos volcado en él todo nuestro conocimiento sobre escalabilidad.