VPSes and Virtual Machines

2 12 2007

Yesterday I looked at VPSes, dedicated servers and colocation for expanding customer QA sites.
It looks like VPSLand still has the best price/performance.

$15/month basic Xen or $14/month basic Virtuozzo.

I looked into the difference between Xen & Virtuosso and ended up spending a lot of time researching.

Virtuozzo is an OS level Virtual Environment. Meaning the there is a parent OS that manage, basically, a chroot environment. It actually has a lot of controls and configuration, and is more efficient, and capable. It can have it’s own user accounts, root user, and firewall rules, now, although it didn’t in the past. Root still isn’t completely root. It is more efficient on resources, having a shared kernel.

Xen is a Virtual Machine Manager (VMM) or Hypervisor. It depends on features on the CPU for it’s shared programming capabilities. It has more like a true root account, although still not having access to /proc for instance. It relies on a host OS, and the client OS needs modified. It doesn’t have the capability, for instance, of burstable RAM (or CPU maybe?) like Virtuozzo does, but it gives you a guaranteed service level, and a more secure environment by default (being more isolated.) Virtuozzo through a good provider is plenty safe, however.

There is an open source version of Virtuozzo called OpenVZ, but with fewer features. Virtuozzo bought Plesk. C-Panel is similar to Plesk. Webmin is free and I prefer it to either of those. Actually, I don’t like web controls in general, though the Xen control panel through VPSLand is very nice, allowing backups and restarts even when my server is down.

VMWare is a virtual machine. It gives you more isolation, and even better hardware access, but is slower because of it. I think ESX Server is probably more like Xen, designed to host a bunch of environments.

QEMU is an x86 emulator. VirtualBox uses it.

Virtual PC was bought by Microsoft, it was the emulator used by Apple users to run windows in Parallel. I’m not sure where Parallels fits in. Virtual Server is similar to VMWare, but I think has Xen technology. I’m unclear about what technology Microsoft offers.

User Mode Linux (UML) is used by Linode. It is similar to Xen, but slower, in that you are essentially running a new linux Kernel from inside a user account. I’m not sure if libraries or anything are shared.

A study by HP showed that Virtuozzo gets the best I/O and IPC throughput, which makes sense with the shared kernel and address space. Like I said before, this could be scary in the wrong hands, but they have a pretty good reputation. Xen gets similar marks with Virtuozzo on CPU usage, however.

Infoworld has an article about comparison benchmarks between VMWare and Xen. VMWare’s server products are hypervisors like Xen and comparible.

VMWare’s original benchmark.

Xen’s response

and followup benchmarks.

I’ve looked into eventually using my own servers with VPSes (or dedicated servers for those who need it) and concluded that it’s not economical yet. Eventually, I think it would, but I’d need to factor in the cost of dedicated staff.

Dedicated servers and co-location still look best through CIHost, though Spry seems reasonable as well, and has a facility in Seattle.

CIHost will co-locate 1U for $49 or a $42U rack from $300 per month.
Power setup may be additional (or supplied with

A dedication P4 3.2GHz with 1GB RAM and 80GB Disk is $99/mo plus $200 setup at CI Host.
I think you can get a 2 for 1 deal.

If I was ready, that’s what I’d get, except I don’t think that would be a good VPS server, and I’m not able to spend my time learning VPS administration yet. It would probably only be 4 way at best. It might be better to buy and colocate if volume goes up.

Spry also has a dedicated server for $99, but with slower CPU and only 512MB memory. 512 extra is only $10 more.

A $2500 server split 7 ways over 12 months amortization would be $30/month +

I’d expect to get a dual-processor, 2 GB ram, and 80 GB SATA RAID at that price, factoring in 1/8 for host OS.
Yielding VPSes with 256MB RAM and 10GB Disk.

My current VPS plan at VPSLand has:

128 MB RAM
6 GB DISK
150 G/M BANDWIDTH

at $15/month.

256 GM and 10 GB would be $27/month.
Right now VPSLand is running a special with 50% extra memory free, so I could get 288MB for $20/month.

They offer Virtuozzo VPSes with double memory, but that probably means they’re overselling it. Which is probably fine, and more often than not, I’d be able to get burstable, but I’ll use Xen for now, for the control panel and for the extra security, especially for customers.

There are cheaper VPS accounts,for as little as $7.95/month, but without the horsepower needed. It’s yet to be seen how much traffic and code my basic system could have.

RimuHosting specializes in Java hosting, starting at $19.95/month. But $29.95 gives you 256MB.
EAPPS has $10/$20/$30 with comparable performance to VPSLand, but their disk space is less than half. They also have Java starting at their $20 level.
VPSLink is similar to VPSLand, but I’m happy with VPSLand so I wouldn’t switch.
UnixShell is no longer taking new customers, and points to Tektonik. For $15 you get 256MB and 10GB, but Virtuozzo only?
Linode offers UML accounts starting at $19.95/month for 300MB RAM, 10GB Disk, 200G/M Bandwidth.

I might benchmark Virtuozzo vs Xen with my applications once I’m ready. And maybe a UML comparison too.

I will also do a JVM stability check on my current check. My experience is that running Tomcat needs a lot of resets and can hog memory, and is not stable on a VPS.

I am not happy with Westhost, with frequent outages, data loss, and their primitive chroot environment and poor and slow web controls.

I also need to work on making VMWare images for appliances. Rpath has, I think, a free VM builder at RBuilder.
I also need to work on a bootable CD (ala Knoppix) appliance.

This might make a good article or three or four if I clean it up, get coherent.

1) Comparing virtualization methods
2) Price comparison on VPSes
3) Price comparison on Dedicated Servers and Colocation with prices for servers to colocate
4) Long term costs comparison of plans VPS vs Decidicated vs Collate + hardware vs self-host + hardware + tech
5) Current plan (use VPSLand VPSs, maybe something else for Java)
6) Benchmark VPS capabilities comparing A) different technologies (Xen, Virtuozzo, UML); B) my appliactions with different memory, disk, bandwidth usage; and C) Java performance
7) Review of VPS setups (Xen, Virtuozzo, UML, VMWare ESX, Microsoft Virtual Server)

Also, look into shared environment, not VPS for demos and trial qa sites.