Recently, Varnish Technical Evangelist Thijs Feryn led a webinar covering Varnish Configuration Language (VCL), the unique programming language that powers all of our software, as well as the popular open source Varnish Cache. For those who weren’t able to attend the webinar, you can watch it here.
Varnish Controller is our orchestration tool, built to manage Varnish Enterprise architectures of any size. Packed with provisioning, monitoring, and scaling capabilities, Varnish Controller operates on both Varnish clusters and multi-tenant environments. We’re continuing to improve this tool’s performance, flexibility, and ease of use with the latest update, Controller 5.1. Along with a comprehensive series of bug fixes and UI improvement, this update includes several brand new additions to Controller, including a host of new customization options for Traffic Router, the addition of debug headers for RoutingRules, and better graphs on the Controller dashboard.
Fastly VCL is a domain-specific programming language which has evolved from the Varnish proxy cache, which is part of Fastly's platform architecture. Varnish Enterprise VCL, instead, is specific to the Varnish Software solutions. There are some architectural similarities between Varnish Cache open source, Fastly and Varnish Enterprise, but as it is said, the devil’s in the details, hence this blog post.
As a Solutions Architect, Web Developer or Performance Engineer, you have many ways to deliver web pages, applications and content over HTTP/S. But as you are aware, the level of complexity exponentially grows as the type of data, data source, clients, and client locations increase while performance, reliability and budget requirements become more stringent. Two of the solutions, both available as open source and commercial software, employed by many to solve these challenges are NGINX and Varnish. There are various resources available that cover the differences, however, many are written from a very specific web serving point of view. This article will briefly define the differences between both solutions then define the 1) underlying architectural approaches and their benefits, 2) ideal characteristics of cache-centric use cases, and 3) the future of cache, content and edge delivery.