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.
So, you've started using Varnish (and you're loving it) and that constant hammering about having a cache invalidation strategy got through to you: you finally decided to write the VCL to purge objects from your beautiful cache. That's good!