A VPS (Virtual Private Server), or VDS (Virtual Dedicated Server), is similar to a dedicated server, but is normally a less powerful, and cheaper option.
What is a VPS?
A VPS server is a container that runs inside a host node, it gives you the access of a dedicated server, but normally for a cheaper price as the hardware is shared with other users.
RAM, CPU, and hard drive space are all assigned to a container, from the available resources in the host node.
A good example of what this can be compared to is a lorry carry boxes:
Lets say a lorry (the host node) has 50 units of space, but it needs 1 unit of space for its to work (like the engine, drivers seat, steering wheel)
* You can put boxes carrying fruit on this lorry, but as long as its not more than 49, as 1 is in use by the lorry itself. * You could put a box of bananas on that takes up 1 unit, this would be a VPS instance * You could put a box of pineapples on that takes up 5 units
As long as you stayed under the 49 unit cap, you can put as much as possible on there.
It is a little more complicated than that, but it explains how it works at a fundamental level, each VPS gets a share of CPU, RAM and a virtual HDD, which contains the space the server gets. RAM is the main deciding factor in terms of space and pricing in most cases.
What is a VPS good for?
A VPS is normally used for small scale operations, small to medium web servers are a good example of this, they give users the freedom of a dedicated server for a fraction of the price, allowing for greater control without sharing with other users.
VPS can be good for some types of game servers, but generally you wouldn't want to, as the hard drive is shared between all instances on a host node, the read/write speeds can be affected, likewise, CPU is shared, you just have access to a certain portion of it. RAM is generally the only thing that is assigned and guaranteed per machine, and not shared when instances are online.
Types of VPS
There are certain types of VPS that 'block' off a section of the host node, so as to stop other instances on the same host node affecting performance of its neighbours, this are more expensive in most cases (Xen and KVM are examples of this).