Contenido Archivado

El siguiente contenido es de una versión anterior de este sitio web y es posible que no se muestre correctamente.

¿Qué tienen en común sitios web como BBC.com, NYTimes.com, BusinessInsider.com y más del 7% de los top 10.000 sitios de Internet? ¿Cómo se adaptan para gestionar una demanda enorme y creciente de accesos por parte de sus usuarios? No hay una respuesta simple porque es una combinación de muchas piezas, hardware y software, diseñadas para proporcionar siempre más rendimiento de la manera más eficiente posible.

La clave está en la combinación de la “mejor herramienta” para cada uno de los elementos que intervienen en estos servicios. La herramienta que en estos casos ha supuesto una revolución en el diseño de servicios web escalables es Varnish Plus.

Varnish Plus es un acelerador web o proxy caché inverso HTTP de alto rendimiento que forma parte del stack habitual en entornos que requieren escalabilidad y mejora continua de la experiencia de usuario.

El problema de la escalabilidad


Desde hace un tiempo, el ancho de banda necesario para algunos sitios en Internet ya no se cuenta en Mbps sino en Gbps. Las situaciones de picos de demanda en los servicios web son cada vez más frecuentes. Las aplicaciones web que proporcionan los contenidos son complejas y, en ocasiones, escalar tiene un coste muy alto. La aproximación habitual de incluir tecnologías de cluster en los tiers de base de datos y aplicación puede aliviar cuellos de botella, pero para simplificar se suele optar por la escalabilidad vertical (i.e. más CPU, más memoria, más IOPS).

Sin embargo, la solución para muchos escenarios es bastante más simple y se resume en aplicar las herramientas adecuadas para cada problema. Ahí es donde una capa de caching con Varnish Plus puede proporcionarnos un incremento de capacidad enorme e inmediato para nuestro website.

Varnish Plus es un proxy caché inverso que se instala en uno o varios servidores situados entre nuestro servidor de origen y nuestros usuarios. La primera vez que un usuario solicita un recurso (una página web) realmente se lo estará solicitando a Varnish Plus, y éste se lo solicitará a nuestro servidor origen. A partir de ese momento, y durante un tiempo prefijado (TTL), las siguientes peticiones para el mismo recurso serán servidas directamente por Varnish Plus de forma mucho más rápida. Si hemos fijado un TTL alto y la página web ha cambiado en el servidor origen, entonces siempre podremos enviar una “orden de refresco” al servidor Varnish Plus.

Estrategias de caching


Existen diferentes estrategias de caching para servicios web con Varnish Plus. Para obtener el mayor beneficio tendremos que cooperar con los ingenieros del servicio web, pero los resultados suelen ser tan espectaculares que merecen la pena.

La estrategia general de caching puede comenzar con las páginas estáticas, continuar con las páginas dinámicas para usuarios anónimos y hasta llegar a cachear contenidos personales o fragmentos de páginas usando ESI o AJAX.

En situaciones de carga, pasar de una página principal con un tiempo de generación de 600 ms a un tiempo menor de 50 ms es bastante normal en escenarios con los CMS habituales. Este tipo de efecto es muy notable a la hora de analizar tasas de “usuarios perdidos” o “conversiones” en un sitio de comercio electrónico.

El problema de los picos de accesos y las DDoS accidentales


Varnish Plus, además, protege al servidor origen de situaciones típicas que suponen un incremento puntual o estacional de peticiones:

  • - noticia de impacto de última hora o noche de elecciones para un periódico (e.g. Die Zeit)
  • - período de Navidades para un site de comercio electrónico (e.g. Mercado Libre)
  • - día de nevada para un servicio de transporte (e.g. Transport for London)

 

Esto puede llegar a suponer un incremento del 2.000% del tráfico normal y, en estos ejemplos reales, Varnish Plus garantiza absorber esos picos usando la política de cach adecuada.

Usos avanzados de Varnish Plus


Además del uso evidente de Varnish Plus para hacer caché de recursos web, su configuración permite implementar escenarios mucho más complejos como:

- control de acceso y Paywall a nivel de caché, mejorando el rendimiento para los subscriptores de un medio de noticias y proporcionando control de quién accede a qué contenidos.

- tests AB para dirigir a un porcentaje de usuarios hacia un nuevo servidor origen con un nuevo diseño para analizar su aceptación.

- nuevas capacidades de caching de contenido de vídeo con streaming concurrente.

- balanceo de carga inteligente, detección de dispositivos móviles, geo-localización, etc.

La huella ecológica


Como consecuencia de la mejora en la eficiencia a la hora de escalar los servicios web usando Varnish Plus, se reduce sensiblemente la huella ecológica de nuestro DataCenter al requerir menos servidores y menos potencia para alcanzar el mismo rendimiento. Es habitual reducir el número de servidores origen necesario para servir el mismo contenido. Por ejemplo, una compañía de medios en Latam ha reducido recientemente de 46 a 5 servidores origen usando Varnish Plus como una capa más de su stack. Las gráficas de ocupación de CPU, además, siempre indican claramente un antes y un después.

 

Sobre Allenta
Allenta Consulting
es partner de Varnish Software para España y Portugal. Somos especialistas en el diseño y administración de infraestructura de sistemas Linux y Unix. El equipo de Allenta está formado por profesionales técnicos altamente cualificados con años de experiencia adquirida en grandes organizaciones. Allenta proporciona valor añadido basado en compromiso, capacidad de respuesta, profesionalidad e integridad. Nos centramos exclusivamente en nuestras áreas de competencia, para asegurar tanto una experiencia óptima como una solución para nuestros clientes.