Blog en 500MS y ecomerce en 1.2 puede que no salga bien

He observado algo preocupante: el uso masivo de plataformas de venta online que son demasiado lentas. Por eso, he decidido lanzar un compromiso público en este blog: esta web debe cargar en menos de 500 milisegundos.

El Desafío Geográfico

Servidor en USA:

Latencias EU > USA

La magia de cloudflare al otro lado del charco:

Cloudflare latencias

Actualmente, el blog está alojado en USA. Desde allí cumple el objetivo, pero desde Europa la latencia nos penaliza (atravesar el Atlántico ya supone unos 120ms), elevando la carga a unos 600ms. Mi compromiso es total: optimizaré el sistema para que la mayor parte de Europa y USA carguen en menos de 500ms, eliminando cualquier cuello de botella innecesario.

El Proyecto "Tienda Imposible"

No me detendré en un blog estático. El siguiente paso será montar un e-commerce completamente funcional (una ferretería o tienda de ropa) con más de 5.000 productos y múltiples combinaciones.

  • El objetivo: Carga de cualquier sección en un máximo de 1.2 segundos.

  • Las reglas: Podría "hacer trampa" como sysadmin y montar un servidor con RAM masiva o una live ISO , pero eso no es realista. El reto es que sea funcional para cualquiera.

¿Por qué empezar con solo 512MB de RAM?

Cualquiera puede tirar dinero al problema y contratar 8GB de RAM y 8 núcleos para una web con 0 visitas. El problema viene cuando esa web mal optimizada recibe 15 visitas simultáneas y colapsa.

Mi idea es documentar el proceso desde lo más bajo:

  1. Lanzar con 512MB: Ver dónde flaquea y pensar soluciones reales y probar.

  2. Optimizar antes de escalar: Si logramos que algo funcione en 512MB, cuando escalemos a 2GB o 8GB por necesidad real de tráfico, tendremos un sistema blindado y eficiente.

  3. El 95% como meta: En sistemas, el 100% es una utopía. Mi compromiso es que la web cargue en 1.2s el 95% del tiempo para el 95% del público, hay factores externos fuera de nuestro control que impiden dar un 100%, ej usuario con latencias en su región entrará y dirá esto carga en 5 segundos, pero no es culpa nuestra.

El arte de sacrificar la "parafernalia"

Muchos clientes piden plugins innecesarios porque "se ven bonitos", sin entender que cada petición externa (a YouTube, fuentes pesadas o scripts de terceros) suma segundos de carga. En un negocio, el cliente quiere comprar rápido y olvidarse. Si la web tarda 7 segundos, el cliente se va y se va molesto, la parafernalia que hemos puesto para hacer la web más atractiva hará que perdamos clientes,  desde el lado del sistema hay que enfocarse en la velocidad de carga, la confianza, la seguridad y luego ya el dueño de la tienda que se enfoque en dar un buen servicio y un buen producto y todos contentos. 

La carga de la web no depende solo del servidor, sino de la inteligencia con la que se construye. Este proyecto no se construirá de la noche a mañana, pero a lo largo de este año iremos probando que optimizar es posible más allá de la configuración que viene por defecto.