I love this topic and discussion. I wish I had gotten in on it sooner.
Though the OP has decided to pursue a different route from on-premise
hardware, I'll still share a few thoughts.
If one is going to buy a box to act as a web server, I would second
the recommendation to use it as a VM host, with the web server being a
guest. If the local infrastructure does not already have server
virtualization at its core, and you're looking at having just 1-3
physical boxes, then VMware might be a bit much, both in terms of
complexity and scale (as it's designed to handle rack upon rack full
of nodes), and cost (likely to be applicable in any case -- especially
now, since VMware changed its licensing model for vSphere 5). For the
past two years, I have been managing several VM hosts running Ubuntu
as the base OS, libvirt as the management layer (which has a quite
extensive API), and KVM as the hypervisor. It even does a great job
running Windows Server guests. Perhaps I have a bit of a bias, but I
would definitely say that this combination is mature enough
(especially in Ubuntu 12.04) to compete with the likes of vSphere,
XenServer, and Hyper-V.
I could go on and on here, so I will summarize some more
considerations as to not TL;DR.
- current and anticipated workloads (can be estimated through good
monitoring of existing servers)
- capabilities of the VM host hardware (or, why that 7-year-old box
might not be a good candidate)
- network infrastructure
- storage, storage, storage
- special hardware needs (e.g. physical security keys)
Virtualization is not exactly off-the-shelf easy. For the uninitiated,
it takes a few tries to tune the hosts just right. For local,
on-premise control of servers, though, it is worth it.