Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Varnish: where developers & sysadmins meet - Varnish Summit Amsterdam 2015

Thijs Feryn
November 05, 2015

Varnish: where developers & sysadmins meet - Varnish Summit Amsterdam 2015

Varnish: where developers & sysadmins meet - Varnish Summit Amsterdam 2015

Thijs Feryn

November 05, 2015
Tweet

More Decks by Thijs Feryn

Other Decks in Technology

Transcript

  1. Where developers
    & sysadmins meet
    By Thijs Feryn
    Varnish

    View Slide

  2. Hi, I’m Thijs

    View Slide

  3. I’m
    @ThijsFeryn
    on Twitter

    View Slide

  4. I’m an
    Evangelist
    At

    View Slide

  5. I’m an
    at
    Evangelist

    View Slide

  6. I’m a
    at
    board member

    View Slide

  7. Early
    days

    View Slide

  8. Down

    View Slide

  9. Website performance?

    View Slide

  10. More servers

    View Slide

  11. Identify slowest part

    View Slide

  12. Optimize database

    View Slide

  13. Optimize runtime

    View Slide

  14. After a while you
    hit the limits

    View Slide

  15. Caching

    View Slide

  16. Memcached
    or
    Redis

    View Slide

  17. View Slide

  18. Optimize database
    Optimize runtime
    A
    void
    A
    void

    View Slide

  19. Varnish

    View Slide

  20. Hit rate?

    View Slide

  21. Cookies?

    View Slide

  22. Cache Control?

    View Slide

  23. Developers
    Sysadmins

    View Slide

  24. View Slide

  25. ✓State
    ✓Performance
    ✓Scalability
    ✓Cache invalidation
    ✓Architecture
    People often forget

    View Slide

  26. Who writes
    the VCL?

    View Slide

  27. Varnish still
    considered a
    sysadmin
    responsibility

    View Slide

  28. View Slide

  29. Coaching developers
    & sysadmins

    View Slide

  30. ✓No state unless required
    ✓Cache-control discipline
    ✓Chop pages into content
    blocks
    ✓AJAX or ESI
    ✓Reasonable cache
    variations
    ✓Cache invalidation strategy
    Advice for developers

    View Slide

  31. ✓Normalize input
    ✓Cookies blacklist/whitelist
    ✓URL blacklist/whitelist
    VCL

    View Slide

  32. When you respect HTTP

    View Slide

  33. Developers
    are bridging
    the gap too

    View Slide

  34. Collaboration & empathy
    AKA  DevOps

    View Slide

  35. Architecture

    View Slide

  36. Service
    Oriented
    Architecture

    View Slide

  37. REST
    Cacheable  
    in  Varnish  if  
    done  right

    View Slide

  38. Monolith
    vs
    Microservices

    View Slide

  39. Distributed
    systems

    View Slide

  40. Big Data &
    NoSQL

    View Slide

  41. Async,
    concurrent &
    non-blocking
    processing

    View Slide

  42. Common goal

    View Slide

  43. Better end-user experience

    View Slide

  44. Frameworks & CMS’es

    View Slide

  45. View Slide

  46. Bullet
    proof?

    View Slide

  47. Well-designed
    software should
    be more scalable

    View Slide

  48. Well-designed
    software should
    be faster

    View Slide

  49. Well-designed
    software doesn’t
    need much
    caching?

    View Slide

  50. Always cache
    … when you can

    View Slide

  51. Well-designed
    software doesn’t
    require much VCL

    View Slide

  52. Well-designed
    software knows
    how to purge the
    cache

    View Slide

  53. Challenges

    View Slide

  54. Caching state of mind

    View Slide

  55. Purging

    View Slide

  56. There are only two hard
    things in Computer
    Science: cache
    invalidation and naming
    things.
    —- Phil Karlton

    View Slide

  57. SSL termination
    +  SSL  
    awareness  in  
    application

    View Slide

  58. Static assets
    To  
    cache  or  not  
    to  cache?
    Invalidate  
    or  not?

    View Slide

  59. Clustering & HA

    View Slide

  60. Varnish flow

    View Slide

  61. View Slide

  62. View Slide