We’re very excited to introduce Varnish Controller to the world! Our new administration console for managing Varnish clusters, the Varnish Controller makes Varnish tools and processes accessible from an intuitive user interface. It’s built from the ground up to make deploying and maintaining Varnish easier and faster, with tools for autoscaling, updating edge logic, load balancing and more.
With a clean, modern UI, VCL editing capabilities and health monitoring tools, Controller helps you run your Varnish clusters efficiently and confidently, with lightning-fast deployments, plus automatic detection of new servers. It will transform the way you use Varnish. See Controller documentation
Let’s take a look at what Controller is all about, and what you can do with it. At the bottom of this post you can find out how to access a fully featured demo Controller environment, too.
Varnish Goes Visual
Varnish Controller has a lightweight, modular architecture, and consists of three main parts. The Agent interacts with the Varnish process and is responsible for VCL deployments. The Brainz process handles all the system-wide decision making, interacting with the PostgreSQL database which holds all data at rest. Finally, the API Gateway serves a REST API to control the system. All of these services can be scaled horizontally by adding more processes of the same kind, for systemwide redundancy.
Communication with the system is done using the REST API, and a command line interface (CLI) is available in addition to the dashboard. The well-documented API also enables integration with external systems.
Controller is a fully encrypted and authenticated platform, and with Active Directory support via Keycloak integration that can be tied into the organizational model, so that only specific users can make changes to the configuration. The Keycloak integration allows use of other third-party authentication services too, such as Github, Google, Facebook and LDAP. The inter-process communication between the parts of the system is performed over the messaging bus NATS, and this communication is encrypted as well.
Varnish Controller is included by default in Varnish Enterprise Premium subscriptions, and as an add-on for Varnish Enterprise Standard subscriptions.
What Does Varnish Controller Make Easier?
The Varnish Controller can dynamically discover new Varnish instances and add them to the system, with VCL being automatically deployed to these new servers. It makes it easier to scale up deployments and get every instance up to speed ready for handling new traffic.
The Varnish Controller lets you add multiple VCL configuration files to a Varnish instance, as well as associate servers with specific regions. The multi-tenant approach of Controller separates various aspects of the configuration monolith, so you can independently decide:
- Which websites or domains to serve
- For each of them, which VCL to use
- On which server(s) the VCL should be deployed
On top of this fine-grained configuration, role-based access control gives you the tools to limit or open up each user’s permissions for specific resources.
Cluster Configuration Management
The Varnish Controller makes the management of multiple Varnish instances much more streamlined. Letting you assign VCL and parameter sets to groups of servers at the same time, for much increased efficiency. Deploying takes a matter of seconds, too.
Updating and Validating VCL
The Varnish Controller contains a VCL editor, with built-in error checking, for writing and editing VCL files. It’s also possible to validate VCL on a server with matching logic to ensure the VCL will compile. Changes to the files can be prepared to be deployed and deploy the changed files with a click of a button to multiple configurations.
Running Staged Deployments
Testing in staging and moving to production is fast and easy. To stage changes before applying them in production we can assign different tags to different agents, and use staging functionality provided to automatically create and deploy test configurations to agents with the “stage” tag. When the configuration has been tested, we can promote it to production.
A graphical interface provides real-time access to data across your whole Varnish deployment and individual instances. Get quick reads of CPU, RAM, bandwidth and health metrics per server or server group and be able to make informed decisions based on accurate information and statistics.
Other Controller Features
Authentication - Keycloak Active Directory / IDP integration for controlling access and read/write permissions across organization. Permissions can align with organization structure and make setup and access control seamless.
Server tagging - Label each server based on its function, location and hardware, for simpler management and enhanced, granular cluster definition and control.
Redundancy - Run instances of Agent, API Gateway and Web UI modules locally on each site, for resilience across your deployment.
Take Controller for a Test Drive
We’ve set up a pre-configured and fully functional demo environment, so you can try Varnish Controller straight away, in your own time!
Simply visit the website below to get login credentials for the online environment, and check out the documentation for tips on getting started.
Get in Touch
Adding Varnish Controller to your existing Varnish Enterprise subscription is simple. It’s included by default in Varnish Enterprise Premium subscriptions, and as an add-on for Varnish Enterprise Standard subscriptions. If you have any questions or want to find out more about using Controller in your setup, register to our upcoming webinar 👇 or get in touch with us today.