Slide 1

Slide 1 text

Polishing Varnish: The Art of Grace Adam Horwich Tuesday, 3 September 13

Slide 2

Slide 2 text

Cloud Resilience • Resilient Active/Active Varnish • Storage Backends • ELBs vs. Route53 DNS - When to use • Availability Zones • SSL Internal Facing (faster) Public Facing (SSL) Tuesday, 3 September 13

Slide 3

Slide 3 text

Gracefully Done • Serving graceful content is hacky • Has poor documentation • Varnish is a little buggy • But it makes clients happy Tuesday, 3 September 13

Slide 4

Slide 4 text

Marrying Graceful Behaviour with Cloud Resilience • Headaches! • TTL inheritance, DNS records • Failure modes! • Faking a fetch from secondary • Persistence! • Using file or persistent storage depending on requesting service Tuesday, 3 September 13

Slide 5

Slide 5 text

Gracefully Denying Service • Your refreshing process needs to be courteous • Originally a subprocess spawning cURL • Dangerous if you have scheduled services connected to Varnish • Now using Python Twisted to enable queues and concurrency Tuesday, 3 September 13

Slide 6

Slide 6 text

Logging for your Grace • Deferred Semaphore requests can queue • You may want to monitor for slow queries • Limitations in using Twisted Agent request • Next iteration will have timeout handling Submitted: 2013-08-14 11:40:44.413821 Started: 2013-08-14 11:40:44.413927 Completed: 2013-08-14 11:40:44.513366 http://localhost/query Tuesday, 3 September 13

Slide 7

Slide 7 text

METRICS Tuesday, 3 September 13

Slide 8

Slide 8 text

Questions? • Blog post follow up next week Tuesday, 3 September 13