Volver al blog

Síguenos y suscríbete

Ventajas de utilizar Varnish

Anna MacLachlan

Content Marketing Manager, Fastly

En el corazón de Fastly reside Varnish, un acelerador web de código abierto cuyo diseño está concebido para la entrega de contenidos de alto rendimiento. Varnish es la pieza clave con la que poder acelerar contenido dinámico, API y lógica en el borde.

Una de las principales ventajas del código abierto es la posibilidad de complementarlo y de cambiarlo según tus necesidades. Fastly hace uso de una versión de Varnish 2.1 muy personalizada que incluye funcionalidad adicional. Nuestra versión de Varnish está optimizada para despliegues a gran escala, ya que poseemos cachés en multitud de ubicaciones de todo el mundo.

Fastly cree en la potencia de Varnish: Artur Bergman, nuestro CEO, y Rogier Mulhuijzen, uno de nuestros ingenieros, han contribuido a escribir secciones del código base y, hasta la fecha, siguen contribuyendo al proyecto. Rogier cuenta una interesante historia sobre la primera vez que escribió código VCL (Varnish Configuration Language) que te dará también una idea sobre las posibilidades que entraña Varnish.

Estos son los motivos por los que Fastly usa Varnish.

Instant Purge para lograr un rendimiento mejor

La funcionalidad de Varnish dota a Fastly de potentes capacidades de purga instantánea, lo cual a su vez nos permite almacenar en caché contenido dinámico. Una de las formas en las que Fastly ha adaptado Varnish es ampliándolo hasta abarcar una red de almacenamiento en caché mundial.

Según la documentación de Varnish, «Varnish está dotado de una arquitectura moderna y está escrito pensando en el rendimiento. El elemento aglutinador suele ser la velocidad de la red, con lo que el rendimiento deja de ser realmente un problema». El software Varnish, junto con los servidores SSD de Fastly, ofrece hasta 12 veces el rendimiento y la capacidad de las cachés convencionales.

Proxy inverso

Varnish permite que Fastly desempeñe funciones de proxy inverso. Si la versión de Varnish con que cuenta Fastly recibe una petición de contenido de cliente que no esté aún almacenado en caché, Fastly se comunica con los servidores del origen del cliente y obtiene el elemento solicitado, para enviarlo luego al usuario que lo ha requerido.

Supervisión y gestión de datos en tiempo real

El hecho de que esté diseñado con Varnish quiere decir también que Fastly tiene capacidad para ofrecer supervisión en tiempo real de tu distribución de contenidos. Podrás recibir en el panel de control estadísticas por segundo a modo de fuente JSON o a modo de visualización acumulada de dos minutos integrada en el navegador. Se pueden enviar registros de acceso en tiempo real a syslog o a servicios como S3 o Logentries.

Varnish Configuration Language (VCL) personalizado

Es posible configurar Varnish con Varnish Configuration Language (VCL) adaptado para definir tu política de almacenamiento en caché. El funcionamiento de VCL se asemeja más a un lenguaje de programación que a un archivo de configuración, de modo que puedes crear configuraciones especializadas destinadas a almacenar en caché contenido dinámico y a ejecutar lógica de aplicaciones en los servidores de caché de Fastly.

Fastly posee una interfaz web que genera automáticamente código VCL adaptado a tus especificaciones. También puedes escribir tu propio código VCL que lleva aparejado configuraciones especiales; además, la versión de VCL con que cuenta Fastly te permite mezclar y emparejar código VCL personalizado. El código VCL que escribas podrás cargarlo en las cachés de Fastly y activarlo posteriormente. Si quieres cargar tu propio código VCL personalizado, ponte en contacto con el equipo de atención al cliente de Fastly.

Varnish permite cargar y descargar configuraciones de VCL sobre la marcha, de modo que los cambios operados en VCL se implementen de forma instantánea. No tendrás que esperar a ventanas de mantenimiento ni sufrir tiempo de inactividad de servidores.

El cliente siempre tiene razón

Optamos por Varnish por todas sus capacidades, pero sobre todo lo escogimos porque es la herramienta adecuada para crear la CDN que satisface las necesidades de nuestros clientes. A continuación, reproducimos lo que algunos de ellos opinan sobre Varnish:

«Somos conscientes de que podemos enrutar más llamadas a la API a través de Fastly si fuera necesario; además, podemos hacer un montón de modificaciones con VCL para optimizar algunas de esas peticiones sin tener que cambiar el código. Fastly nos presentó la potencia y flexibilidad de Varnish. Eso supone una enorme ventaja que no habíamos previsto, ¡y bienvenida sea!». Konstantin Gredeskoul, CTO de Wanelo

«La espectacular diferencia entre el uso de Fastly y el de otras CDN es que Fastly no es una caja negra que no sepamos controlar. Fastly forma parte de nuestra infraestructura; es algo así como si centrifugáramos centros de datos de todo el mundo para convertirlos en meros nodos de Varnish: de eso trata Fastly. El VCL personalizado de Fastly nos permite aprovechar la potencia y la tecnología de Varnish, brindándonos así el control y la flexibilidad definitivos». Ross Paul, CTO de 1stdibs

«Nuestro primer paso fue utilizar una plantilla de almacenamiento en caché inicial para ofrecer todos nuestros activos estáticos, y funcionó a las mil maravillas. Entonces empezamos a desarrollar nuevas API y a realizar más tareas de puesta a punto en lenguaje VCL para ofrecer nuestros activos de una manera mejorada, lo cual incluía el almacenamiento en caché de contenido dinámico. Ahora registramos en nuestros activos estáticos proporciones de aciertos de caché de entre el 98 y el 99 %». Harry Guillermo, Senior Developer de Fast Company