Working with a potential client who intends to run a highly dynamic site that they expect to grow to pretty quickly over the next six months, and trying to find the right server for them. Standard shared hosting is not in the cards for them – they need a higher level of data separation as well as a performance guarantee. But their budget is a strong consideration, so we’re looking at Virtual Private Servers, which are a stepping stone between shared hosting and dedicated servers.
The concept is that virtualization software gives each user their own bootable OS, walled-off RAM and disk partition, etc. One server, multiple simultaneously running operating systems and data/memory gardens. Where it gets fuzzy is in CPU partitioning. If you have 10 users on a box, each user is guaranteed access to a minimum of 1/10 of the CPU. If more CPU is available, you get to use whatever you need.
I’ve been talking to reps at various datacenters last night and today, and nobody is willing to predict what the experience will be like. If you get put on a box with users doing low-traffic static sites, you end up getting a very good deal. But if you need to run a highly dynamic site and end up sharing the box with other CPU-hungry users, you could end up with periods where your site only has 10% of CPU available to it. Not good. And there’s no way to know who your virtual neighbors are or what they’re doing with their own little walled garden. Until you’re up and running (“top” won’t even show you the other users’ processes). It’s a gamble.
In my mind, dedicated servers are becoming affordable enough — and come with so much more disk space — that it just makes sense to have the knowledge that the only rogue processes that will affect your site are your own. It’s been an interesting investigation.