I just wanna know what is the most recommended method to use for managing your vm's. Let's say you have big dedicated server something like 8 cores cpu and 24gb ram. What method you'd choose for managing server? I know some for example: xentools, xen-shell, argo and the whole distro like citrix XenServer.. if any of this method only suitable for exact needs I would like to know those "needs"... I mean, I'm just learning, and soon I'll have a production server setup, and I'm a little bit afraid to do this only with xen-tools or even manually.
The Xen Cloud Platorm (XCP) is a good solution and provides a lot of functionality and management options. It compares well with Citrix XenServer see:
http://wiki.xen.org/xenwiki/XCP/XenServer_Feature_Matrix
There are also many management options:
http://wiki.xen.org/xenwiki/XCP_Projects
Although not yet ready for production, you may also want to start taking a look at Project Kronos:
http://blog.xen.org/index.php/2011/07/22/project-kronos/
Using Xen the hypervisor and xentools for a small deployment is OK, but if you plan to do management of a larger set of machines or cloud orchestration (CloudStack, OpenStack, OpenNebula, etc.) then you should consider XCP, Project Kronos, or similar solutions.
In the past new deployments (such as Amazon, Linode, etc.) came out on Xen, but new production deployments are likely to want to make use of the features of XCP and Project Kronos.
See also:
http://blog.xen.org/index.php/2012/05/06/xcp-in-ubuntu-server-12-04-lts-%E2%80%9Capt-get-install-xcp-xapi%E2%80%9C/
Personally, I think using something like XenServer is the best route to go down, it will make managing your servers an awful lot easier and makes it much easier to expand later by adding extra servers to the farm, you can also pay for extra features such as High Availability which can be very useful. It can also be useful for balancing RAM requirements across your severs and quickly being able to see exactly what is going on across the farm.