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.
I’ll try to explain you a one way to do this. You’ll need a few 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.