de idea a implementación con varnish plus

30
De idea a implementación con Varnish Plus Construyendo www.stockphotos.com Carlos Abalde [email protected] Madrid, 20 de octubre de 2016

Upload: carlos-abalde

Post on 13-Jan-2017

103 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: De idea a implementación con Varnish Plus

De idea a implementación con Varnish PlusConstruyendo www.stockphotos.com

Carlos Abalde [email protected] Madrid, 20 de octubre de 2016

Page 2: De idea a implementación con Varnish Plus

La idea

https://www.flickr.com/photos/cristiancarrara/8322120385/

Page 3: De idea a implementación con Varnish Plus
Page 4: De idea a implementación con Varnish Plus
Page 5: De idea a implementación con Varnish Plus
Page 6: De idea a implementación con Varnish Plus
Page 7: De idea a implementación con Varnish Plus

Primeros pasos

https://www.flickr.com/photos/nickharris1/4914981236/

Page 8: De idea a implementación con Varnish Plus

Morir de éxito

Page 9: De idea a implementación con Varnish Plus

¿Y ahora qué?

Page 10: De idea a implementación con Varnish Plus

Varnish Cache 101

$cat/etc/varnish/default.vcl...

subvcl_recv{unsetreq.http.Cookie;}

subvcl_backend_response{setberesp.ttl=5s;setberesp.grace=24h;}

Page 11: De idea a implementación con Varnish Plus

Varnish Cache 101

HTTP/1.1200OKServer:Apache/2.2.15Content-Type:text/html;charset=utf-8...Cache-Control:s-maxage=5,stale-while-revalidate=86400...

Page 12: De idea a implementación con Varnish Plus

Varnish Cache 101

HTTP/1.1200OKServer:Apache/2.2.15Content-Type:text/html;charset=utf-8...Cache-Control:s-maxage=3600,stale-while-revalidate=86400xkey:category/42xkey:photo/31416xkey:photo/2718...

Page 13: De idea a implementación con Varnish Plus

Alta disponibilidad

https://www.flickr.com/photos/56587128@N04/12827233464/

Page 14: De idea a implementación con Varnish Plus

¡Y ahora sin caché!

Page 15: De idea a implementación con Varnish Plus

Massive Storage Engine

$cat/etc/default/varnish...DAEMON_OPTS="-a:80\...-smse,/mnt/store,/mnt/book"

$mkfs.mse-s/mnt/store,100G-b/mnt/book,5G

Page 16: De idea a implementación con Varnish Plus

Varnish High Availability

$cat/etc/vha-agent/nodes.confvarnish1=192.168.1.101varnish2=192.168.1.102varnish3=192.168.1.103

$vha-agent-N/etc/vha-agent/nodes.conf-g>/etc/varnish/vha.vcl

Page 17: De idea a implementación con Varnish Plus

HTTPS everywhere

https://www.flickr.com/photos/bilal-kamoon/6958578902/

Page 18: De idea a implementación con Varnish Plus
Page 19: De idea a implementación con Varnish Plus
Page 20: De idea a implementación con Varnish Plus

¿Para cuándo SSL/TLS?

[…] huge waste of time to even think about it!

Page 21: De idea a implementación con Varnish Plus

Terminación SSL/TLS

$cat/etc/default/varnish...DAEMON_OPTS="-a:80\-a127.0.0.1:6086,PROXY\..."

Page 22: De idea a implementación con Varnish Plus

Backends SSL/TLS

backenddefault{.host="origin.stockphotos.pri";.port="8080";....ssl=1;.ssl_verify_peer=1;}

Page 23: De idea a implementación con Varnish Plus

Reporting

Page 24: De idea a implementación con Varnish Plus
Page 25: De idea a implementación con Varnish Plus

Varnish Custom Statistics

$cat/etc/varnish/default.vcl...

subvcl_deliver{if(req.method=="GET"&&req.url~"^/download/\d+/"&&resp.status==200){std.log("vcs-key:DOWNLOADS/"+regsub(req.url,"^/download/(\d+)/.*$","\1"));}}

Page 26: De idea a implementación con Varnish Plus

Control de acceso

https://www.flickr.com/photos/75069455@N02/6756716413/

Page 27: De idea a implementación con Varnish Plus

Bloqueo de robots

๏ Bloqueo de las descargas masivas de imágenes en alta resolución

‣ Rate limiting indexado por IP de origen

‣ VMODs vsthrottle, redis, memcached…

๏ Bloqueo vs. reCAPTCHA + token HMAC

๏ ¿Y los web crawlers?

Page 28: De idea a implementación con Varnish Plus

Bonos de descargas

๏ Monetización complementaria a la publicidad

‣ Web abierta, excepto la descarga de imágenes en alta resolución, que requiere de registro / autenticación

‣ Usuarios pueden descargar hasta cinco imágenes en alta resolución a la semana sin coste, pudiendo prescindir de ese límite comprando un bono de descargas

๏ ¿Y los web crawlers?

Page 29: De idea a implementación con Varnish Plus

A/B testing, varnishtest, VAC, device detection…

https://www.flickr.com/photos/eldholm/2354982554/

Page 30: De idea a implementación con Varnish Plus

¿Preguntas?

https://www.flickr.com/photos/101582229@N08/13948771150/