For some scenarios, Varnish is the silver bullet to fix performance issues and go from slow site to lightning fast site. More often though, you will need to put some effort into your application to get good results. Ideally, you design your application to play well with caching from the outset. If you don’t know what you are doing, Varnish can also be the bullet to shoot yourself in the foot. Varnish is a server component that runs independent from your web server, making it useful whether your application is written in PHP, node.js, Java or any other language. In this workshop, you will learn how to use HTTP headers to control caching and how to configure Varnish itself.
Running your own vagrantbox with Varnish and PHP, you get to try out the effects of the caching headers and of Varnish configuration directives. We will discuss things that go well with Varnish and situations to avoid. After mastering the basics of cache expiration and cache validation, we look into active cache invalidation. We then proceed to advanced topics like caching and sessions and edge side includes (ESI).
With the knowledge of this workshop, you will be able to set up and configure Varnish. You know how to build applications with caching in mind, and can assess whether an application is ready for Varnish or what needs to be fixed.
David Buchmann works at Liip AG as Symfony expert. He is maintaining the Symfony Content Management Framework, a core developper of the PHP content repository implementation Jackalope and co-author of the FOSHttpCacheBundle. When he is not coding, he enjoys travelling with his girlfriend, music and boardgames.