thijs feryn: varnish - where devops & sysadmins meet

62
Where developers & sysadmins meet By Thijs Feryn Varnish

Upload: varnish-software

Post on 08-Apr-2017

242 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Thijs Feryn: Varnish - where devops & sysadmins meet

Where developers

& sysadmins meet

By Thijs Feryn

Varnish

Page 2: Thijs Feryn: Varnish - where devops & sysadmins meet

Hi, I’m Thijs

Page 3: Thijs Feryn: Varnish - where devops & sysadmins meet

I’m @ThijsFeryn on Twitter

Page 4: Thijs Feryn: Varnish - where devops & sysadmins meet

I’m an Evangelist

At

Page 5: Thijs Feryn: Varnish - where devops & sysadmins meet

I’m an at

Evangelist

Page 6: Thijs Feryn: Varnish - where devops & sysadmins meet

I’m a at

board member

Page 7: Thijs Feryn: Varnish - where devops & sysadmins meet

Early days

Page 8: Thijs Feryn: Varnish - where devops & sysadmins meet

Down

Page 9: Thijs Feryn: Varnish - where devops & sysadmins meet

Website performance?

Page 10: Thijs Feryn: Varnish - where devops & sysadmins meet

More servers

Page 11: Thijs Feryn: Varnish - where devops & sysadmins meet

Identify slowest part

Page 12: Thijs Feryn: Varnish - where devops & sysadmins meet

Optimize database

Page 13: Thijs Feryn: Varnish - where devops & sysadmins meet

Optimize runtime

Page 14: Thijs Feryn: Varnish - where devops & sysadmins meet

After a while you hit the limits

Page 15: Thijs Feryn: Varnish - where devops & sysadmins meet

Caching

Page 16: Thijs Feryn: Varnish - where devops & sysadmins meet

Memcached or

Redis

Page 17: Thijs Feryn: Varnish - where devops & sysadmins meet
Page 18: Thijs Feryn: Varnish - where devops & sysadmins meet

Optimize database

Optimize runtime

Avoid

Avoid

Page 19: Thijs Feryn: Varnish - where devops & sysadmins meet

Varnish

Page 20: Thijs Feryn: Varnish - where devops & sysadmins meet

Hit rate?

Page 21: Thijs Feryn: Varnish - where devops & sysadmins meet

Cookies?

Page 22: Thijs Feryn: Varnish - where devops & sysadmins meet

Cache Control?

Page 23: Thijs Feryn: Varnish - where devops & sysadmins meet

Developers

Sysadmins

Page 24: Thijs Feryn: Varnish - where devops & sysadmins meet
Page 25: Thijs Feryn: Varnish - where devops & sysadmins meet

✓State ✓Performance ✓Scalability ✓Cache invalidation ✓Architecture

People often forget

Page 26: Thijs Feryn: Varnish - where devops & sysadmins meet

Who writes the VCL?

Page 27: Thijs Feryn: Varnish - where devops & sysadmins meet

Varnish still considered a

sysadmin responsibility

Page 28: Thijs Feryn: Varnish - where devops & sysadmins meet
Page 29: Thijs Feryn: Varnish - where devops & sysadmins meet

Coaching developers & sysadmins

Page 30: Thijs Feryn: Varnish - where devops & sysadmins meet

✓No state unless required ✓Cache-control discipline ✓Chop pages into content

blocks ✓AJAX or ESI ✓Reasonable cache

variations ✓Cache invalidation strategy

Advice for developers

Page 31: Thijs Feryn: Varnish - where devops & sysadmins meet

✓Normalize input ✓Cookies blacklist/whitelist ✓URL blacklist/whitelist

VCL

Page 32: Thijs Feryn: Varnish - where devops & sysadmins meet

When you respect HTTP

Page 33: Thijs Feryn: Varnish - where devops & sysadmins meet

Developers are bridging the gap too

Page 34: Thijs Feryn: Varnish - where devops & sysadmins meet

Collaboration & empathy

AKA  DevOps

Page 35: Thijs Feryn: Varnish - where devops & sysadmins meet

Architecture

Page 36: Thijs Feryn: Varnish - where devops & sysadmins meet

Service Oriented

Architecture

Page 37: Thijs Feryn: Varnish - where devops & sysadmins meet

RESTCacheable  in  Varnish  if  done  right

Page 38: Thijs Feryn: Varnish - where devops & sysadmins meet

Monolith vs

Microservices

Page 39: Thijs Feryn: Varnish - where devops & sysadmins meet

Distributed systems

Page 40: Thijs Feryn: Varnish - where devops & sysadmins meet

Big Data & NoSQL

Page 41: Thijs Feryn: Varnish - where devops & sysadmins meet

Async, concurrent & non-blocking processing

Page 42: Thijs Feryn: Varnish - where devops & sysadmins meet

Common goal

Page 43: Thijs Feryn: Varnish - where devops & sysadmins meet

Better end-user experience

Page 44: Thijs Feryn: Varnish - where devops & sysadmins meet

Frameworks & CMS’es

Page 45: Thijs Feryn: Varnish - where devops & sysadmins meet
Page 46: Thijs Feryn: Varnish - where devops & sysadmins meet

Bullet proof?

Page 47: Thijs Feryn: Varnish - where devops & sysadmins meet

Well-designed software should

be more scalable

Page 48: Thijs Feryn: Varnish - where devops & sysadmins meet

Well-designed software should

be faster

Page 49: Thijs Feryn: Varnish - where devops & sysadmins meet

Well-designed software doesn’t

need much caching?

Page 50: Thijs Feryn: Varnish - where devops & sysadmins meet

Always cache … when you can

Page 51: Thijs Feryn: Varnish - where devops & sysadmins meet

Well-designed software doesn’t require much VCL

Page 52: Thijs Feryn: Varnish - where devops & sysadmins meet

Well-designed software knows

how to purge the cache

Page 53: Thijs Feryn: Varnish - where devops & sysadmins meet

Challenges

Page 54: Thijs Feryn: Varnish - where devops & sysadmins meet

Caching state of mind

Page 55: Thijs Feryn: Varnish - where devops & sysadmins meet

Purging

Page 56: Thijs Feryn: Varnish - where devops & sysadmins meet

There are only two hard things in Computer Science: cache invalidation and naming things.

—- Phil Karlton

Page 57: Thijs Feryn: Varnish - where devops & sysadmins meet

SSL termination+  SSL  

awareness  in  application

Page 58: Thijs Feryn: Varnish - where devops & sysadmins meet

Static assetsTo  

cache  or  not  to  cache?Invalidate  

or  not?

Page 59: Thijs Feryn: Varnish - where devops & sysadmins meet

Clustering & HA

Page 60: Thijs Feryn: Varnish - where devops & sysadmins meet

Varnish flo

w

Page 61: Thijs Feryn: Varnish - where devops & sysadmins meet
Page 62: Thijs Feryn: Varnish - where devops & sysadmins meet