Scalable Drupal Hosting on AKS for VVSG
18.09The Association of Flemish Cities and Municipalities (VVSG) acts as the network builder and knowledge hub for local governments in Flanders. As their digital presence grew, their existing website infrastructure could no longer keep up. VVSG needed a modern, scalable, and high-performance hosting solution for their core Drupal application, one that they could own and manage within their own Azure tenant.
The challenge
VVSG’s platform isn’t a standard website, but a complex Drupal application composed of four key components: the CMS itself, a Redis cache, Apache Solr for search, and a Varnish cache for visitor traffic. This multi-component architecture required significant performance to run smoothly.
Our initial tests on Azure Container Apps quickly showed it wasn’t the right fit; the platform was simply too slow. To meet VVSG’s requirements without having to resort to traditional VMs, we needed a more powerful platform. The clear choice was Azure Kubernetes Service (AKS). The real challenge became designing and building a new AKS environment capable of delivering the speed and reliability this specific application needed.
The solution
Our approach focused on building a solid, automated foundation on AKS. We worked closely with Calibrate, who handled development, to get every detail right.
First, we designed the core infrastructure. We set up two separate AKS clusters: one for production and another for non-production (dev and QA). To handle the demanding Drupal workload, we selected CPU-optimised nodes (F-series) so the application had the necessary processing power. Within the non-production cluster, we used separate node pools for dev and QA environments, allowing for better resource isolation and cost management.
Next was containerising the application itself together with Calibrate. We carefully built a stable and performant Drupal image, fine-tuning dependencies and swapping out components until we met the performance targets. To validate the setup we used load testing, which confirmed our architecture and node choices could handle the expected traffic.
For managing incoming traffic and SSL, we implemented an AGIC (Application Gateway Ingress Controller), which automatically configures the gateway based on rules defined in AKS.
To automate certificate management, we integrated CertManager with Let’s Encrypt. However, we ran into an issue with VVSG’s external WAF, which initially blocked the certificate renewal process. We resolved these integration issues to ensure a secure and stable traffic flow.
Finally, we automated the entire deployment process. Using Azure DevOps, we built a CI/CD pipeline that connects securely to the AKS environment. Instead of using Microsoft-hosted runners, we implemented self-hosted runners using Azure Container Jobs running within the same virtual network. This creates a private, secure, and efficient path from code commit to deployment on AKS. For data persistence, the solution connects to Azure Database for MySQL and Azure Storage.
The results
The new VVSG platform launched successfully on a reliable and high-performance AKS environment. The immediate result was a website that ran smoothly, easily handling its complex multi-component architecture and user traffic. Since the go-live, the platform’s stability has been consistent, requiring minimal intervention.
A key objective for VVSG was to gain direct control, and they now have full ownership of the hosting infrastructure within their own Azure tenant. The automated CI/CD pipeline we built allows their development partner to deploy updates efficiently and securely, but the journey doesn’t stop here: VVSG plans to add more websites in the future.
By looking forward and thinking alongside VVSG, we can make sure that the AKS foundation we built is not just a solution for today, but a truly scalable base that can evolve with their ambitions.
Facing performance or scalability challenges with a complex application? Our custom AKS environments deliver the performance and reliability you need.