Follow us
Breaking
Tech Services

The history of Varnish Cache

Poul-Henning Kamp developed the Varnish Cache HTTP accelerator in 2006 to serve as a high-performance reverse proxy. Modern implementations achieve 1.5 Tbps per server on a single CDN node by utilizing Varnish Configuration Language and minimizing kernel memory operations.

Share

The Norwegian origins of the accelerator

Poul-Henning Kamp developed a Norwegian HTTP accelerator in 2006. This open-source HTTP accelerator functions as a reverse caching proxy. It sits in front of the origin server and serves cached responses straight from memory. Varnish Cache provides a distribution of the open-source Vinyl Cache project. The software works for the modern cloud and maintains readiness for Kubernetes. It includes built-in TLS support and a long-term-support release cadence with extra modules and tooling. The software terminates TLS in-process, which allows for HTTPS without sidecars. Requests arrive via HTTP or HTTPS. Varnish Cache answers from its in-memory cache when it can. It proxies through to the origin when it cannot. Cached objects honor standard HTTP cache headers and expire when they reach their limits. This software remains a fundamental tool for edge performance.

Technical architecture and performance

The performance of the accelerator supports its role in 2026 global CDN networks. Intel and Varnish Software measured Varnish Enterprise at 1.5 Tbps per server on a single CDN node. This same high-performance TLS code powers Varnish Cache. Caching policy relies on Varnish Configuration Language (VCL). This language compiles to native code and runs inside the worker. This design allows Varnish to handle policy decisions at line rate. The cache-hit path follows a lean structure. The system performs only three specific system calls to handle a cache-hit response, which include reading the request, polling the socket, and executing a writev of the response. Varnish logs to shared memory and requires no disk IO. The software performs zero kernel memory operations during cache-hit traffic. It avoids mmap, brk, and munmap. Workspaces and mempools are pre-allocated to maintain efficiency.

Feature Specification
Performance 1.5 Tbps per server
System Calls 3 per cached response
Kernel Memory Operations 0 during cache-hit
License BSD-2-Clause
Default Cache Memory 2GB (systemd configuration)

Users customize these policies by mounting a default.vcl file into the Docker container. One method uses the -v $(pwd)/default.vcl:/etc/varnish/default.vcl:ro option to mount the file. This specific VCL change configures the backend server to forward requests to origin.example.com on port 80. The software also supports dynamic backends with TLS to the origin.

Deployment and the commercial edge

Deployment options suit Linux, Docker, and Kubernetes environments. Varnish Cache ships in official container images, Helm charts, and native packages for major DEB- and RPM-based distributions. Users on Debian and Ubuntu edit the varnish systemd service to adjust settings. This service can listen on port 80 and allocate 2GB of memory for caching. This configuration also allows the user to configure the backend server to forward requests to origin.example.com on port 80. For Red Hat Linux and other compatible distributions, users install the software via the package registry. Deployment in Kubernetes involves using the official Helm chart. Users can run kubectl get svc varnish-varnish-cache to retrieve the cluster IP address and node port for the Varnish Cache service. Other service types and Ingress also receive support.

The commercial edge landscape changed after Fastly’s 2020 IPO. Varnish Cache remains a free and open source option. You already know that finding reliable support involves looking at various community channels. Users find answers on StackOverflow using the varnish or the varnish-vcl tags. There is a Varnish Cache group on LinkedIn for community interaction. The Varnish discord server is newer and less populated than the IRC channel. Will the transition to more container-native environments eventually replace traditional systemd deployments?

Share

Technewsdaily

Senior tech writer covering AI, gadgets and cybersecurity. Breaking down the news that matters, every day.