Question

One big server vs several small ones

  • Posted October 3, 2013

I want to have separate, independent servers for frontend, backend and two databases. Should I invest in one powerful plan (say, 8GB plan) and virtualise (divide) it into 4 parts? Or rather buy 4 small droplets (say, 2GB) ? Which option do you recommend?

Subscribe
Share

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

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.

Have you seen either of these articles: <br> <br>1.) <a href=“https://www.digitalocean.com/community/articles/how-to-use-haproxy-to-set-up-http-load-balancing-on-an-ubuntu-vps”>How To Use HAProxy to Set Up HTTP Load Balancing on an Ubuntu VPS</a>; or <br> <br>2.) <a href=“https://www.digitalocean.com/community/articles/how-to-set-up-nginx-load-balancing”>How To Set Up Nginx Load Balancing</a>?

<b>“I would rather hear something technical…”</b> <br> <br>Then provide more details on what you’re trying to accomplish or what specific issues you want to address. Generally speaking, vague questions result in vague responses. If you’re not willing to put in the time required to ask a good question, why should anyone use up their time writing a detailed, “technical” response?

Very useful thread to confirm some ideas. thank you

Small ones with a load balancer because when a server goes offline, it keeps sites going. :D

“I want to have separate, <b>independent</b> servers for frontend, backend and two databases.” (Emphasis added.) <br> <br>You’re not really achieving independence if the frontend, backend and database servers are all living on the same virtual machine.

#1 shouldn’t happen if you spread it out and correctly set it up so it can survive a variety of failures.
<br> <br>#2 is going to be your choice of what you are after and your budget to do it. If you want to be thrifty at the risk of your setup being down, then toss it all on 1 droplet. If you want to up no matter what, spread it out on droplets including multiple datacenters. Make a risk assessment about what your after and your budget to achieve that. Also “Wasted” resources as you put it, is room for growth.

Spreading it seems like an option to go, but notice two things: <br>1) when one droplet goes down, everything goes down - website cannot live properly without a database <br>2) having 4 droplets instead of one leads to wasting resources: <br>- droplet with database don’t need transfer and do need CPU (so transfer is wasted and CPU is under heavy load) <br>- droplet for frontend needs a lot of transfer and very little CPU (CPU is wasted, there is too little transfer)

If your going to go through the trouble of redundancy, spreading it out will give you more points of redundancy. Eventually there is going to be issues, it might be your doing, physical hardware problems, abusive neighbor on the same hardware, etc etc. The only way to ensure you stay up and running is to spread it out and remove as many single points of failure as possible.

I would rather hear something technical…

Ever hear of the saying ‘Don’t put all your eggs in one basket?’