VPS servers are basically “virtual machines” running on much larger servers (typically by multiples of the virtual ones).
Whilst they run very well, they’ve been somewhat under-utilized until the introduction of Amazon’s “EC2” service in the early 2010’s. This allowed people to deploy a VPS on an entire data warehouse of infrastructure… rather than just one server – bringing the underlying cost right down to a bare minimum.
Today, a swathe of “cloud” VPS providers (including the likes of DigitalOcean, Vultr and others) have followed Amazon’s lead in providing extremely low priced “VPS” servers running on “cloud” infrastructure. They have reeled buyers in with prices starting from $5/mo (or in Vultr’s case $2.50/mo).
The point is that with the new price drop, “cloud” VPS providers actually provide companies and end users with extensible software hosting with “shared” hosting prices. The key is that you are able to control (and own) the underlying infrastructure, whereas before, you could not.
Whilst this is great, there is a major problem – you are responsible for setting up the servers and keeping them up to date & running etc. Even if you go down the path of a “managed” server infrastructure, there is no underlying management software (such as CPanel) which gives you the ability to manage the various services running on the system.
Ultimately, in order to get a VPS (or any server) running properly, you need to ensure that you have the various pieces of software required to get a web server functioning effectively fully operational; which includes the “web server” software itself, the underlying libraries / dependencies at the OS level and the likes of the server’s programming language you wish to use.
On top of this, you need to ensure that the server has the most appropriate “application server” software to handle any of the programming languages required to run the applications you may be trying to deploy to the system.
Most people don’t know / realize this – if you’re running a Ruby on Rails / NodeJS application on your server, you basically have to ensure that you have the appropriate server software to support its requests. Without this (and this is why most “shared hosting” is not adequate), you’ll end up with relatively little by way of being able to manage the underlying system.
To resolve this, the most effective thing is to get a “management” system for VPS platforms. If you had a system which allowed you to manage any of the software running on the infrastructure you have, it will give you the ability to determine exactly what you require.