1. A virtual machine hosting system comprising: a plurality of nodes, each node comprising resources for hosting at least one virtual machine; a centralized hypervisor management module, separate from the nodes, that interfaces with the plurality of nodes, the hypervisor management module for automatedly provisioning resources of the plurality of nodes to a plurality of virtual machines by identifying a particular node with sufficient available resources to host a particular user-specified virtual machine configuration and by allocating to the virtual machine configuration an amount of resources of the particular node required to host said virtual machine configuration; and at the particular node, a utility management module operating as a virtual machine on the particular node, the utility management module for receiving the user-specified virtual machine configuration from the hypervisor management module and for configuring the allocated resources of the particular node to configure the virtual machine as specified within the user-specified virtual machine configuration, wherein the utility management module and the configured virtual machine operate on a same hypervisor on the particular node.