Varnish: Extreme Front End Web Caching and Much More

I've written several times in the past about varnish. But, in the last six months it wasn't the right fit for the client work I was doing so it drifted away a bit in my world.  Today, doing some research, I ran across and old bookmark and thought that I should check in on the project.  There was tons of great news!

Here's the top of the items that grabbed my attention with some brief comments about each; some of which I'll need to follow up on for more testing.

Load Balancing Support w/ Health Checks for backends

I really want to see what this can do relative to solutions like HAProxy in benchmarks

ESI support

This is Edge Side Includes, a small XML-based markup language for dynamically assembling web content. In part it's claimed this can allow better caching for logged in users. This will be very handy indeed for any very active CMS/Social Networking site.

Inline C code for VCL (Varnish Configuration Language)

You can add any C code you like into the VCL configuration. This could be extremely powerful. VCL was already powerful (and a little complex). Now it is even more interesting.

Graceful handling of dead and slow backends

Varnish can serve old content while the origin server generates new content. Work is underway to ensure that Varnish can also keep serving content if the origin server is crashed. Please see Grace? for details.

Web GUI technology preview

I haven't tried it, it's news to me. Looks quite cool though.  It would appear you can not only get statistics and the like about what's going on but you can actually manage and modify the VCL right in the GUI.  That could be handy.

Commercial Support

Another website now exists where you can go and get commercial support and help with Varnish should you wish from the source.  Some things about varnish can be a little confusing at first.  With power does come a little complexity.  But, knowing that help is near and clear is great.

In summary, as you can see, I really think Varnish and VCL have quite a lot of potential.  I've seen some dramatic results of using it in front of even the most complex and slow CMS products.  So, it is well worth some time and testing.  I certainly will be spending some time in the next couple of weeks updating my knowledge of this powerful tool and tricking out the scalability toolbox.