Este documento presenta 8 pasos progresivos para implementar Varnish Cache y acelerar aplicaciones web de forma incremental, desde simplemente usarlo como balanceador de carga hasta implementar caché avanzada y composición de contenido. Explica conceptos como el lenguaje de configuración VCL, modos como sólo pass-through, almacenar recursos estáticos y contenido semi-estático, compresión, grace mode, auto-purgado y sofisticadas estrategias de invalidación de caché.
Presentación guía sencilla en Microsoft Excel.pptx
Configurar Varnish paso a paso
1. Caché con Varnish. Paso a paso.
Caché con Varnish
Paso a paso
Roberto Moreda
<moreda@allenta.com>
Francisco Velázquez
<francisco@varnish-software.com>
2. Caché con Varnish. Paso a paso.
Sobre Varnish Cache Plus
Acelerador de aplicaciones web
Rápido
Flexible
6. Caché con Varnish. Paso a paso.
Diseñando para Varnish
Entiende y clasifica el contenido en tu backend
Define cabeceras HTTP en tu aplicación
Define estrategias de invalidación
7. Caché con Varnish. Paso a paso.
Implementación incremental
Desplegar Varnish en aplicaciones existentes
Incrementar gradualmente el uso de la caché
Primero “objetivos sencillos“
8. Caché con Varnish. Paso a paso.
VCL
Varnish Configuration Language
Aplica a las peticiones (HTTP requests)
Inserta lógica de propósito específico
9. Caché con Varnish. Paso a paso.
Receive
Miss
Fetch
Deliver
ERROR
Request
Hit
Response
10. Caché con Varnish. Paso a paso.
P1: Sólo pass through (1/2)
Nivel de dificultad: Trivial
Nivel de mejora: Medio
11. Caché con Varnish. Paso a paso.
P1: Sólo pass through (2/2)
Varnish pasivo
Balanceo de carga muy potente
Checks de salud incluidos
Excelente para depurar aplicaciones web
13. Caché con Varnish. Paso a paso.
P2: Recursos estáticos (1/2)
Nivel de dificultad: Trivial
Nivel de mejora: Medio
14. Caché con Varnish. Paso a paso.
P2: Recursos estáticos (2/2)
Contenido multimedia, CSS, javascript
Menor concurrencia hacia el backend
Menor uso de ancho de banda
Menor consumo de CPU en el backend
15. Caché con Varnish. Paso a paso.
P3: Compresión (1/2)
Nivel de dificultad: Trivial
Nivel de mejora: Medio
17. Caché con Varnish. Paso a paso.
P3: Compresión (2/2)
Compresión gzip de CSS/Javascript:
JQuery standard: 263 kb
JQuery gzipped: 32 kb
Varnish puede comprimir y descomprimir objetos
Reutilización de compresión
18. Caché con Varnish. Paso a paso.
P4: Contenido semi-estático (1/3)
Nivel de dificultad: Medio
Nivel de mejora: Alto
19. Caché con Varnish. Paso a paso.
P4: Contenido semi-estático (2/3)
Contenido generado dinámicamente
Difícil de generar y cambia poco
Usa un TTL corto (10-120 segundos)
Mitiga picos de tráfico
20. Caché con Varnish. Paso a paso.
P4: Contenido semi-estático (3/3)
Invalidación de caché manual
Interfaz web o API para emitir bans (VAC)
21. Caché con Varnish. Paso a paso.
P5: Grace mode (1/2)
Nivel de dificultad: Medio
Nivel de mejora: Alto
23. Caché con Varnish. Paso a paso.
P5: Grace mode (2/2)
Desarrollado originalmente para mitigar acumulación de
solicitudes de cliente
Puede servir contenido “antiguo” mientras no lo tenemos
“fresco”
No tener contenido “fresco” significa normalmente que el
backend está caído
24. Caché con Varnish. Paso a paso.
P6: Auto-purgado (1/2)
Nivel de dificultad: Medio
Nivel de mejora: Alto
25. Caché con Varnish. Paso a paso.
P6: Auto-purgado (2/2)
Backend responsable de invalidaciones explícitas
Uso de TTLs muy altos para asegurar hits de caché
Invalidación disparada por cambios en el backend
26. Caché con Varnish. Paso a paso.
P7: Composición de contenido (1/3)
Nivel de dificultad: Alto
Nivel de mejora: Alto
29. Caché con Varnish. Paso a paso.
P7: Composición de contenido (2/3)
Edge Side Includes (ESI)
Fragmentar páginas web en partes: una parte = una URL
Composición de contenido en tiempo real
Funciona también con contenido comprimido
30. Caché con Varnish. Paso a paso.
P7: Composición de contenido (3/3)
<html><body>
… <esi:include src=“/frontpage/breaking” />
… <esi:include src=“/frontpage/latest” />
<!-- ¿Queremos que la caché manipule el contenido? -->
</body></html>
31. Caché con Varnish. Paso a paso.
P8: Invalidación de caché avanzada (1/3)
Nivel de dificultad: Medio
Nivel de mejora: Alto
32. Caché con Varnish. Paso a paso.
P8: Invalidación de caché avanzada (2/3)
A veces una página depende de múltiples objetos para su
invalidación
Encontrar qué páginas deben ser invalidadas puede ser
difícil
Caché con Varnish. Paso a paso.
33. Caché con Varnish. Paso a paso.
P8: Invalidación de caché avanzada (3/3)
Etiqueta páginas con cabecera específica:
X-Skus: 49834, 34321, 4343
Uso de hashtwo/xkeys
Se puede iniciar automáticamente desde el backend
34. Caché con Varnish. Paso a paso.
Margen de ganancia alto
3 - 15 días para alcanzar “alto” nivel de resultados
Requiere conocimiento del backend
Hemos hablado sobre qué hay que hacer - si quieres
conocer el cómo, por favor lee el libro o apúntate a
formación.
Conclusiones
35. Caché con Varnish. Paso a paso.
Muchas gracias
¿Alguna pregunta?
Roberto Moreda
<moreda@allenta.com>
Francisco Velázquez
<francisco@varnish-software.com>