Virtual private servers (VPS)
Virtual private servers are like dedicated servers with a little less security and server resources for a lot less money.
Characteristics of virtual private servers
In terms of size and cpu resources, a virtual private server (VPS) is very similar to a highend shared hosting account. But a virtual private server behaves more like a dedicated server, except disk space, cpu resources and bandwidth are shared with other virtual private servers on the same physical server.
This is possible because there is software that can split up a server in several parts, and make each part act like it is a physical server.
What sets this apart from a highend shared hosting account is that you have more security, because no other customers have access to your virtual private server, and more flexibility, because software can be installed on your VPS without affecting other VPS's on the same server.
Root access or not
Your web host can safely give you root access to your VPS since you probably won't do any damage to anything but your own VPS. You still don't always get root access. This depends on price level and the intended customer.
Just like dedicated servers, you can get unmanaged and managed virtual private servers. With a managed server the web host will take care of maintenance and software upgrades/installation. With an unmanaged VPS you are given access to a preconfigured VPS you can do what you like with as long as you obey the acceptable use policy.
With an unmanaged VPS you need root access, but not with a managed VPS. If you don't have root access you can't install whatever software you like. But since software can be installed only on your VPS, there is a better chance that the web host will install (more experimental) software than on a shared server.
These are two very important aspects of virtual private servers. Do you get root access to your server? How managed is the VPS? What is best for you depends on your skills and why you want a VPS. You need technical skills to manage a VPS.
Resource management on a VPS
One more benefit of virtual private servers is that it can guarantee a minimum CPU and RAM quota. This means that your VPS will have access to a set amount of server resources no matter what the other VPS's on the same server are up to. This does not mean that your VPS is limited to 10% of the CPU if your minimum guaranteed CPU is 10%. You can use more if the resources are available at the moment.
The disk quotas on a VPS can be in the range of several gigabytes. This is plenty, but keep in mind that all the software on your VPS counts towards this quota. A basic configuration may need a few hundred megabytes, so make sure there is enough left for your websites.
Software on a virtual private server
The most common software is normally pre-installed, and it is possible (depending on VPS platform) for the web host to simultaneously update the software on all virtual private servers on a physical server. If this is done at all, only the basic software will be updated. You will have to maintain and update all extra software you have installed. Also note that there might be dependencies between software versions, so it can be beneficial that you are doing all software updates yourself.
What you typically would like to install is application servers (Apache Tomcat, CherryPy etc.), scripting languages (Python, Ruby etc.), extra language modules and various advanced scripts/programs who require root access to the server.
Who should choose a virtual private server?
If you need any special software, but your websites are not very big or popular, a virtual private server is a good choice. Low to medium traffic ecommerce sites are also VPS candidates.
The advantages of a virtual private server over a shared hosting account are
- Increased security
- Increased flexibility
- Performance guarantees
And if you would like to learn how to manage a server, a virtual private server is a great place to start.