For some scenarios, Varnish is the silver bullet to fix performance issues and go from a slow to a lightning fast site. However, more often than not, 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. In this workshop, you will learn how to use HTTP headers to control caching and how to configure Varnish itself. Running your own Vagrant Box with Varnish and PHP, you get to try out the effects of the caching headers and Varnish configuration directives. You will discuss things that go well with Varnish and situations to avoid. After mastering the basics, you will look at advanced concepts like edge side includes (ESI).