How to replicate this architecture in DO for drupal?

I want to setup this architecture in DO for high-performance Drupal web app. Please advise.

See this link.

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

I’ll try to explain you a one way to do this. You’ll need a few Droplets:

  1. Load balancer Droplet - A Droplet which will balance between two App servers
  2. Two app servers Droplets
  3. Two database Droplets.

If you want to learn more about High Availability concepts head over to What is High Availability?

There are many load balancing software, but I can recommend looking around HAProxy. There is DigitalOcean tutorial how to set it up - How To Set Up Highly Available HAProxy Servers with Keepalived and Floating IPs on Ubuntu 14.04.

On App Droplets set up app (Drupal) how ever you want.

For DB server idea is to set up two MySQL servers. One will be main connected to both App Servers. Now you need to setup replication between main and second.

You’ll need to setup MySQL on Droplet manually as DO doesn’t offer Database Services. How To Install MySQL on Ubuntu 16.04. There an older but I hope still helpful tutorial - How To Set Up Master Slave Replication in MySQL.

And that should be it. A feature you want to use as a help is Private Networking. Pay attention to it, it’s very helpful especially for replication part. How To Set Up And Use DigitalOcean Private Networking is there to explain you Private Networking concepts and how to use it.

Also, pay attention that you should have same set up between App Servers. There comes handy Configuration Management. This is optional step, App will work same without it but this helps you maintain servers.