I am going to set up a high availability hosting server (load balancer, mysql, apache, php, memcached, apc, possibly a distributed/network file system of some kind) with two nodes. I want to isolate the load balancer, database, webserver and file system into separate virtual machines to prevent one part of the system affecting another in case of malfunction, security breach, etc. Also for this reason I ruled out openvz because it does not completely isolate the vm's resources. So far I dug trough a lot of articles and posts on serverfault.com and stackoverflow.com. I am having difficulty finding up-to-date information and advice specific to my situation, hence I am posting the question here. I managed to narrow the choice down to KVM and Xen, though I haven't found any information that makes the decision between the two easier to make. KVM and Xen are favourable because of their established track records and the way they manage the vm's (it has dedicated resources which can't be stolen due to e.g. over selling, as is the case with openvz).
Some things to consider:
- Performance is not my biggest concern, the performance difference between the two is small and I am willing to pay a bit extra for better hardware if it gives trade-offs in other areas (e.g. ease of management).
- I would love to have a web interface to manage my virtual machines. Currently I work with AWS EC2 and I have gotten used to its ease-of-use.
- I only use Ubuntu at the moment, I don't think this will change in the future. So there is no need to account for other OS's.
- I have a slight preference for things that Just Work(tm).
Which has the advantage in this scenario, KVM or Xen?