Configuring Drupal with a remote database is possible and in some cases recommended.
Our Drupal 8 EK management tools application is a particularly good case where this setup is very helpful. EK manages Drupal system configuration database and content database separately. In other words, the installed database from Drupal 8 and the database where all EK custom modules save their data are different.
This configuration brings few benefits:
- security: is system data are compromised (i.e. user login information) the content data which is of high value for the organization have less chances to be affected. This also reinforced as the 2 databases are physically and geographically separated;
- backup management; you can have a better backup management cycle with separated databases;
- updates management; when updating Drupal, having a configuration database distinct from where the content is store will make it more efficient and faster;
- as a vendor, you can keep control on the service by reserving control on the system configuration without having any interference on the customer content and information;
The diagram below shows how we can implement an EK installation with remote database:
One important point is to keep the connection between the main server (this server can be the customer server for instance) and the configuration server secured with encrypted communication (ssl).
A good solution (we are experimenting now) comes with Amazon RDS service. The service can supply on demand access to mysql databases or any other database engine) and provide the necessary encryption keys.