Hi @Selfit, I’ll join @jtittle in this question for few more samples.
Above mentioned way is vertical scaling, which means you’re adding more resources to existing Droplet. You also have horizontal scaling, which means that you’re adding more Droplets rather than expanding existing.
Vertical is easiest, but there is a big downside. To scale vertically, you need to power-off your Droplet, resize it, then turn it up again. If you don’t have another Droplet, your service will not be available until resizing is done.
With horizontal, you add new Droplet so existing doesn’t need to go down.
However, there downside with Horizontal scaling is that you need more complex infrastructure. You need some sort of Load Balancer to balance requests between multiple servers.
For Load Balancing, DigitalOcean got you covered.
An Introduction to DigitalOcean Load Balancers will show you how LB works. Price for an LB is $20/mo, without traffic or number of Droplets restrictions.
Also, you will need something that will watch your current Droplets and order creating new one when needed. For that, you will need to build yourself solution, as it depends on user and I’m not sure is there any unified solution.
To help with creating new Droplets, you can resort to API. With new Droplet, you need to configure them appropriately. To help you with provisioning new Droplets, you can build Droplet from Snapshot which will contain everything pre-installed, or to use User data to configure new Droplets.
An Introduction to Cloud-Config Scripting will show you how to use User Data.
What is High Availability? will help you better understand some of key concepts.
If you have any question, feel free to ask anything.