cloud network design for auto scaling load balancing and high availability

D_wathi used Ask the Experts™
Dear Experts
I am looking for cloud computing service to host the websites and have internally decided we go for Google Cloud Computing, few websites (word press /drupal are on dedicated VM’s and few are on shared VM’s ,  one of our customer runs multiple campaigns hence  based on campaign schedules the traffic would be high hence would like design the cloud architecture such that website experience to the end-users should not be slow on campaigns schedule.
1.Please suggest what to choose in Google cloud platform, to achieve website (word press/Drupal ) application load balancing and auto-scaling. Without load balancing can we still go for auto-scaling.
2.If we go for auto-scaling should we have to separately avail High availability OR does auto-scaling includes application load balancing and High availability.
please help, thanks in advance.
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
David FavorFractional CTO
Distinguished Expert 2018

Based on your questions you have a long road ahead of you.


1) Likely you'll setup multi-master MariaDB or MySQL 8 database replication.

2) Then for files, use something like lsynd or csync2.

3) Then use round robin DNS to rotate between instances. Use a low TTL. When machines die or require maintenance, just remove the IP from the round robin list + then add it back, when maintenance completes or problem resolves.

You may prefer to hire someone to do your initial design + implementation for you.

Setting up a HA (High Availability) system that actually works is tricky.

Big Tip: You'll require continual checking on health of system + dealing with edge conditions/problems, so be sure you factor in ongoing budge t for paying someone to do this work.

HA systems require continual maintenance of a different form than individual system.

Big Tip: Setup Ubuntu Bionic + LXD at your host level + then run your site instances in LXD containers. This allows containers to be moved onto different machines + new containers cloned in a matter of seconds to minutes.

Container management for HA systems is far simpler than trying to manage monolithic machine installs.
Top Expert 2016

I don't use your platform but use Azure auto-scaling and globalization.


Thank you very much for the inputs, please help me understand on following
1.  if we go for Auto Scaling  (any cloud service provider) does this setup includes application load balancing or load balancing is separate please let me know.
2. if we go for Auto scaling does it include the High availability  fault tolerance is  taken care or this has to be availed separately.
3. can we go for auto scaling on any application like word press, drupal or the auto scaling is application specific.
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Top Expert 2016
with azure it is built in take a look a the link I gave you. note the difference between scale up and scale out. Scale up adds more cpu resources, scale out is new instances.

put your sql resources elsewhere on the virtual platform,.. the web app should just be that only. The database can be located elsewhere.


Thank you so much,
1. the scale up is it only for CPU's or can it also be for RAM etc please let me know.
2. Database should be in one of the VM and web applications to be setup on auto scaling is this correct. thank you.
Also can you take up this as project and setup the design for us please let us know.
Top Expert 2016

I'm stretched pretty thin from Black Friday until the End of the Tax Season.  I manage many sites that both scale up and out.
Scaling up you define the cpu and/or ram.. with azure we pretty much use sql server that also can be scaled out. we use elastic pool/Vcore model
David FavorFractional CTO
Distinguished Expert 2018
You mentioned, "the scale up is it only for CPU's or can it also be for RAM etc please let me know."

Keep in mind CPU + memory bottlenecks are rare, so long as you have enough memory to avoid swapping.

Normally what takes out systems is I/O bottlenecks.

If you think about this, I/O runs many orders of magnitude slower than memory I/O, so the first rule of scalable Apps...

"Arrange for I/O to be memory bound, not disk bound."

So first focus on making your I/O memory bound, then all your scaling (if you even require any) becomes trivial.

This also means system complexity + cost go to zero.

I prefer free LAMP Stacks, rather than paid systems, as this reduces costs for projects which succeed wildly + require massive scaling.


Hi David Favor
can you take this work, design and setting up auto scale/load balancing in goolge cloud platform if yes what will be the cost. we can schedule it in this weekend. await to hear from you.
When you work in the IaaS clouds, like AWS and GCP, autoscaling and high availability are done differently than on premise.
You don't run file syncing services, you don't use round robin DNS, and you certainly do not run your own health checks.

The concept is similar among all cloud providers:
* A database separated from the application.
* A server image with the base of your stateless application.
* Startup scripts to fetch last changes from the code repository.
* An autoscaling group has a policy of minimum/maximum and a scaling policy according to your metrics (cpu/memory/disk and others)
* A load balancer that runs health checks
* A CDN to offload traffic

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial