This week’s episode is about the Varnish Controller, an administration console that simplifies the process of managing Varnish instances.
Varnish Controller is a management software that is used to manage a cluster of Varnish servers or multiple clusters of Varnish servers. Its primary feature set currently focuses on VCL deployment, and as development continues, other types of features will be added as well. So let's see how the Controller is used to manage servers.
It all starts with multiple Varnish servers being connected to the Internet. In order to centrally manage these Varnish servers, agent software needs to be installed on the individual nodes. These agents communicate with the controller through a message queue, in our case, the NATs message queue.
NATS is just one component of the Varnish Controller but there are plenty of other modular components: the BRAINZ is an example of this, it is a central decision-making component that communicates with a relational database. There's the API gateway that can be consumed by CLI or API clients, and there is a dashboard service that provides a graphical user interface for browsers.
Dashboards usually display graphs, charts, calendars, and other metrics on the homepage and for the Varnish Controller, it is no different.
The true value of the Controller is shown on the server stage. These servers automatically register themselves with the Controller through the agent software. When clicking an individual one you also see the deployment that is related to that server. The glue between those components are tags - servers have tags, deployments have tags - this server happens to share the same production tag with the production deployment.
The configuration page lists the various VCL groups. This VCL group (image below) only applies to a single domain, and has the production deployment, that has the production tag - remember the production tag from the servers overview - but there are other servers that match that tag, so this deployment will match multiple servers.
What it will deploy is the production load VCL file. When we click that file, an editor opens up and we can edit the code. This is a very rich editor with syntax completion, auto-indentation, and syntax highlighting. Other VCL files can also be selected and can be uploaded from the computer or you can create a brand new one in the VCL editor.
Varnish Controller converts Varnish Enterprise from a set of technology components into a fully integrated product, and in the future, the Varnish Controller will be the interface you will use to build your own CDN.
Varnish Controller is included by default in Varnish Enterprise Premium subscriptions, or as an add-on service for Varnish Enterprise Standard subscriptions. Try out all of Varnish Controller’s capabilities straight away with the pre-configured and fully functional demo environment, below.