cloud network design for auto scaling load balancing and high availability

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.
D_wathiAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

David FavorLinux/LXD/WordPress/Hosting SavantCommented:
Based on your questions you have a long road ahead of you.

Hints...

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.
David Johnson, CD, MVPRetiredCommented:
I don't use your platform but use Azure auto-scaling and globalization.
https://azure.microsoft.com/sv-se/blog/scaling-up-and-scaling-out-in-windows-azure-web-sites/
D_wathiAuthor Commented:
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.
Price Your IT Services for Profit

Managed service contracts are great - when they're making you money. Yes, you’re getting paid monthly, but is it actually profitable? Learn to calculate your hourly overhead burden so you can master your IT services pricing strategy.

David Johnson, CD, MVPRetiredCommented:
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.
D_wathiAuthor Commented:
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.
David Johnson, CD, MVPRetiredCommented:
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 FavorLinux/LXD/WordPress/Hosting SavantCommented:
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.
D_wathiAuthor Commented:
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.
Shalom CarmelCTOCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Development

From novice to tech pro — start learning today.