Virtualisation technology has come a long way in the last five years or so. When we originally set out to create a Virtual Private Server (VPS) product we found nothing that inspired much confidence, certainly not as a product that would be robust and manageable. So we left it to simmer for a while.

Since then we’ve seen VMware become a serious usable solution, and the rise of Xen and KVM as practical open-source alternatives. We weren’t fans at first, but we’ll admit we’ve really warmed to virtualisation.

There are plenty of reasons that a VPS is great from a customer perspective, but we thought it’d be interesting to share some of the reasons virtualisation is great when you step behind the curtain.

1. Scalability

Nowhere is scalability so well demonstrated as in the cloud. Because hardware isn’t directly involved, VMs can be configured and started very quickly and en masse. This is great in a managed environment like Anchor’s as it means very fast provisioning and expansion for customers when it’s needed.

There are no practical limits to the size of virtual machines that can be provisioned either, with KVM currently allowing for 16 virtual CPUs, terabytes of RAM, and disks only limited by your underlying physical capacity.

2. Flexibility

Virtual hardware is dynamically reconfigurable, something that hardware simply can’t do. Need to add more RAM, CPUs, diskspace or network interfaces to a VM? You can do that.

Want to do that for a piece of real hardware? Prepare to wait a while as the parts are ordered and shipped, then schedule some time for installation.

3. Remote provisioning and maintenance

The encapsulation of a VM means it’s possible to inspect it from “outside the box”. This allows for fully automated provisioning of new services, which is practically impossible on real hardware, and is great for debugging problems during boot and recovering from other issues. Virtual drives can be mounted directly in the host environment if needed.

This is possible with hardware too, but only by having a vendor-specific remote management card installed (DRAC, iLO, IPMI, etc). Besides being expensive, they’re usually very finicky and don’t offer the same degree of access.

4. Online upgrades

Thanks to modern operating systems that support hotplug hardware, most common upgrades can be performed while the VM is up and running. This allows for a no-downtime response if a customer’s server receives an unexpected surge in traffic.

5. Live migration

Live migration allows a VM to be moved between hosts with no observed downtime. This is a massive win for flexibility as VMs can be moved between hosts to alleviate load issues and allow scheduled maintenance to take place, such as OS updates, hardware replacement and upgrades.

6. Boot times

VMs boot up extraordinarily quickly. There’s no memory testing, RAID card initialisation or PXE BIOS to load, so the OS starts booting almost immediately. In our experience a reboot can be over and done with in about 30 seconds. This is especially significant in a high availability (HA) environment if machine-level failover is required.

7. Easy high-availability

On that note, use of virtualisation makes it easy to deploy HA systems. The scalability that virtualisation offers makes it simple to expand clustered apps, and the fast boot times make for fast recovery as mentioned in the previous section.

8. Performance

Last but not least, virtual machines are fast. Hardware virtualisation assistance and recent improvements in software have made the performance overhead very small, so performance is great when you don’t overprovision your hypervisors like some providers do.

We also anticipate the arrival of CPUs in the near future with improved hardware abstraction, which will remove some of the last bottlenecks in I/O perfomance. This is especially important for dealing with high volumes of small requests on the network and disks.

No need for dedicated servers?

In short, we think so. Many customers come to us assuming they need a dedicated server by default, which really isn’t the case. There are few applications that won’t run perfectly well in a virtual environment, and it’s easier to provide a better level of service and support for one of our VPSes compared to hardware.

Our customers seem to agree: Over 90% of our sales these days are for a VPS. Add the fact that it’s much cheaper to go virtual, and you’ve got a winner.