JohnRivs
By:
JohnRivs

2 small droplets vs. 1 big one.

October 28, 2016 187 views
Scaling Server Optimization Load Balancing High Availability Ubuntu

In a situation where a $5 droplet is not enough: what are the benefits of having 2 $5 droplets and split the load vs. 1 $10 droplet?

2 Answers
xMudrii October 28, 2016
Accepted Answer

Hi.
Well there are no "real answer", no one can say this is better or no with sure.
In cases $10 Droplet vs. 2x $5 Droplet, I would go with $10 Droplet always.

Depending on your application needs 512 MB RAM could be small for production. It's pretty OK for development but once you go in production, you will don't know how much visitors you will have and your server could go down easy if you have RAM intensive app.
For example - if you use MySQL, recommended RAM as of MySQL 5.7 is 1 GB.

Beside RAM usage, you will have to take care that both servers have same configuration and are up-to-date.
This is not very hard, you can utilize Configuration Management. It'll ensure you don't have 'snowflake' servers and every is 'same'.
You can learn more about it in An Introduction to Configuration Management.
Content on both server should be same, app version also.

If you are using database this could be harder as you should doing some type of replication to ensure you have same content on both Droplets.

I really don't see benefit of using 2x $5 or even 2x $10 Droplet. Where I see it is if you e.g. have 2x $20 or better. With small Droplets you will have more problems of having your app fails because of sufficient resources than anything else.

Benefit of making setup like that is that it'll ensure if one Droplet goes down, second will able to serve requests. E.g. you are under DDoS attack, one goes down but your site is still up because second Droplet will serve it. There can still be problem in this case. If attacker is using domain name to attack, it will make first down than after some time second again. If they are DDoS-ing first via IP, second will work flawless until they don't decide to attack it to.
Second example can be when you want to update Droplet and it requires reboot, your site will still be up if you update one by one Droplet.

This can be very powerful when done with big Droplets, but on small Droplets, I just see more pain than benefits. This is my personal opinion, maybe someone made this and it have great benefits and can share here. :)

You can learn more about High Availability in What is High Availability by Erika Heidi. It's a very good read :)

With an increased demand for reliable and performant infrastructures designed to serve critical systems, the terms scalability and high availability couldn’t be more popular. While handling increased system load is a common concern, decreasing downtime and eliminating single...

depends on your use case, having two will double your time to keep them up to date

Have another answer? Share your knowledge.