Build infrastructure for a multi-site Decoupled Drupal solution using Terraform

Session Details

While hosting a Drupal website can be a challenge, it is largely a solved problem with several PaaS providers providing optimized Drupal hosting. Even if we didn’t want to use that, there is extensive documentation around best practices in hosting a PHP application or Drupal specifically.

In a Decoupled Drupal setup, we would need to even host the front-end application separately somewhere apart from Drupal. In this session, we will discuss how we hosted a “serverless” front-end application with multiple cloud providers available via a CDN while allowing it to access Drupal’s API endpoints on the edge (again with FaaS computing paradigm). We will also discuss the developer constraints, security considerations, and website performance.

Further, we will also see how such an application can be provisioned multiple times in different regions of more than one cloud providers using Terraform. We will talk about using Terraform and writing wrapper scripts for Terraform to make it easier and more consistent to deploy infrastructure. Further, we will discuss how much of this setup can be automated considering enterprise security regulations, developer effectiveness, and customizations.

In this session, you will learn:

  • Plan your API contract across multiple websites in a multi-site Drupal setup.

  • Architect a “serverless” solution to serve the front-end with data retrieved via an API from Drupal.

  • Use Terraform to build this setup.

  • Run Terraform modules using a wrapper script or even via a CI tool.

  • Enterprise level security considerations such as IP whitelisting the access to Drupal server, firewall, granular access to cloud resources, etc.

Experience Level
Advanced