Just came across this question in 2020 and wanted to add some additional information to what has been said already.
Resources like RAM, disk storage, and network bandwidth are always dedicated with both dedicated servers and VPSs.
The main downside of a VPS compared to a dedicated server has always been the CPU, but now with DigitalOcean, you can choose between shared CPU and dedicated CPU plans for dedicated vCPU so you kind of get the best of both worlds.
Dedicated CPU Droplets have guaranteed access to the full hyperthread at all times. With shared CPU Droplets, the hyperthread allocated to the Droplet may be shared between multiple other Droplets. When a shared CPU Droplet experiences heavier load, the hypervisor dynamically allocates more hyperthread(s) to it.
DigitalOcean now offers a few different types of Droplets/VPS plans:
- Dedicated CPU: General Purpose Droplet
Here is a quick rundown of the differences:
Standard Droplets are still a great solution for things like Blogs, Discussion forums, Content Management Systems (CMS), Small databases, Dev/test servers,
Repository hosting and even Microservices as they have the most efficient CPU usage at a lower cost for workloads that would underuse dedicated threads.
Dedicated CPU: General Purpose Droplet
General Purpose Droplets have a balanced ratio of memory to dedicated CPU, suitable for a wide variety of production workloads. They are suitable for:
- Medium-to-high-traffic web servers
- E-commerce sites
- Medium-sized databases
- Enterprise Software as a Service (SaaS)
Dedicated CPU: CPU-Optimized Droplet
If your workloads require guaranteed and sustained CPU performance but are not as memory-intensive, CPU-Optimized Droplets let you minimize cost per dedicated vCPU. CPU-Optimized Droplets are suitable for:
- Video encoding
- Machine learning
- Ad serving
- Batch processing
- Heavily loaded front-end web servers
Dedicated CPU: Memory-Optimized Droplet
In case that you have a setup that requires a lot of RAM, like large production databases or in-memory caches, which require larger amounts of memory to store working sets of data. Without sufficient RAM, such applications typically run slowly, or can occasionally become unstable and crash. With 8 GB of RAM for each vCPU, Memory-Optimized Droplets are ideal for these applications:
- High-performance SQL or NoSQL databases
- Web scale in-memory caches and indexes
- Real-time big data processing
- Resource-intensive or mission-critical business apps, especially those with large JVM requirements
For more information I would strongly recommend going through the official documentation here:
Hope that this helps!