Where developers
& sysadmins meet
By Thijs Feryn
Varnish
Hi, I’m Thijs
I’m
@ThijsFeryn
on Twitter
I’m an
Evangelist
At
I’m an
at
Evangelist
I’m a
at
board member
Early
days
Down
Websiteperformance?
More servers
Identify slowest part
Optimize database
Optimizeruntime
After a while you
hit the limits
Caching
Memcached
or
Redis
Optimizedatabase
Optimizeruntime
Avoid
Avoid
Varnish
Hitrate?
Cookies?
CacheControl?
Developers
Sysadmins
✓State
✓Performance
✓Scalability
✓Cache invalidation
✓Architecture
People often forget
Whowrites
theVCL?
Varnishstill
considereda
sysadmin
responsibility
Coaching developers
& sysadmins
✓No state unless required
✓Cache-control discipline
✓Chop pages into content
blocks
✓AJAX or ESI
✓Reasonable cache
variations
✓Cache invalidation strategy
Advice for developers
✓Normalize input
✓Cookies blacklist/whitelist
✓URL blacklist/whitelist
VCL
Whenyou respectHTTP
Developersare bridgingthe gap too
Collaboration&empathy
AKA	
  DevOps
Architecture
Service
Oriented
Architecture
RESTCacheable	
  
in	
  Varnish	
  if	
  
done	
  right
Monolith
vs
Microservices
Distributed
systems
BigData&
NoSQL
Async,
concurrent&
non-blocking
processing
Commongoal
Betterend-userexperience
Frameworks&CMS’es
Bullet
proof?
Well-designed
software should
be more scalable
Well-designed
software should
be faster
Well-designed
software doesn’t
need much
caching?
Alwayscache
…whenyoucan
Well-designed
software doesn’t
require much VCL
Well-designed
software knows
how to purge the
cache
Challenges
Cachingstateofmind
Purging
There are only two hard
things in Computer
Science: cache
invalidation and naming
things.
—- Phil Karlton
SSLtermination
+	
  SSL	
  
awareness	
  in	
  
application
Staticassets
To	
  
cache	
  or	
  not	
  
to	
  cache?
Invalidate	
  
or	
  not?
Clustering&HA
Varnishflow
Thijs Feryn: Varnish - where devops & sysadmins meet
Thijs Feryn: Varnish - where devops & sysadmins meet

Thijs Feryn: Varnish - where devops & sysadmins meet