I spent a lot of my weekend moving my website from Dreamhost to Slicehost. Slicehost is a VPS provider with a platform based on Xen. This was not really due to any problem with Dreamhost (they're really good and I would recommend them instantly) but more due to how good Slicehost was. In fact, I have to say that Slicehost, at this early stage, is by far the best host I've worked with.

Shared hosts vs Virtual Private Servers vs dedicated servers

A quick primer on shared hosts vs VPS vs dedicated servers (most of you can probably skip this section - but you'll be surprised how many people confuse these).

A shared host, like the name implies, means that you get a machine that is shared. Your website will run on the same box as several other websites with some security ACLs in place to make sure you don't trample over someone else's files. Depending on the host, your access to the machine might range from just FTPing files over to a shell account where you can log in and run programs yourself. However, you'll never have root/administrator access to the box and you'll usually need to go through cPanel/some-really-ugly administrative control panel to request changes to your configuration or setting up new software. However, these security settings can't really protect against other type of bad behavior from individual websites. For example, if your website happens to be on the same machine as another website undergoing a Digg/Slashdot-effect, your performance will be affected as there is no real effective throttling mechanism. Most shared hosts will either kill the website hogging resources or perform some manual magic, like moving it to a different box.

A dedicated server is the other end of the spectrum - you get a full machine to yourself. Depending on which company you work and/or how much money you pay, this might be from a low-end provider or in a colo facility or in a big datacenter along with thousands of other boxes. You don't share the machine with anyone and you can party on it to your heart's content. However, since these require a 1:1 mapping between customer and hardware box, they're typically expensive.

A VPS falls in the middle. They offer you most of the benefits of dedicated servers (full root access on the box) without the 'bad-neighbour' problems of shared hosts. They tackle the latter problem by using some form of virtualization and use a hypervisor or a virtual machine to act as a sandbox and throttle resources. In Slicehost's case, they use Xen. In the screenshot below from my slice, you can see the custom Xen kernel in action as well as the 256mb limit imposed on my slice though the actual underlying hardware probably supports multiple GBs.

image

Some random notes

#