As you may know, part of my job consists of helping Varnish users, both customers and community users (join us on IRC!), often looking at their VCL and see if there's anything wrong. And sometimes, there is. After all, VCL is a programming language and mistakes happen. However, one point stands out as being badly understood, and I feel it deserves a short blog post to set the record straight.
The Varnish Configuration Language (VCL) is a small domain-specific language designed to be used to define request handling within Varnish. It is extremely flexible and allows you to let Varnish do exactly whatever you want or need it to do.
With web 2.0 and the growing popularity of social media, websites were put under a lot more stress. Delivering content fast and reliably is a relevant challenge. In the hosting industry (I work at Combell, the leading Belgian web hosting company) we no longer just talk about throwing servers at the problem. Offering fast, stable, secure, scalable and affordable solutions to clients has become the core business.
VCL, which stands for Varnish Configuration Language, is used to define your own caching policies in Varnish Cache and Varnish Enterprise. It is a real programming language whose syntax can in some cases be the same as the C language.