1. A method for constructing a cluster from a plurality of hosts, each host designed to support one or more virtual machines, the method comprising: (a) as a response to a determination to construct a proposed cluster responsive to a request for constructing a cluster received from a client, identifying a plurality of features for the proposed cluster, the plurality of features defining requirements that must be satisfied by hosts to be part of the proposed cluster; (b) as a response to a determination to construct the proposed cluster, identifying hosts to be part of the proposed cluster; (c) executing a compatibility analysis for each of the identified hosts, the compatibility analysis includes matching resources available at each of the identified hosts with the requirements of the identified features; (d) for particular hosts which on the basis of the matching are determined to lack compatibility, presenting a plurality of suggested adjustments to the particular hosts to enable the particular hosts to be compatible with the requirements; (e) constructing a configuration template for the compatible hosts that are compatible with the requirements, the compatible hosts being designated to be components of the proposed cluster, the configuration template providing configuration settings for the compatible hosts in the proposed cluster, wherein the configuration settings and the suggested adjustments are rendered on a user interface associated with the client; and (f) provided an acceptance of the configuration settings is received from the client, constructing the proposed cluster, including configuring the compatible hosts for the proposed cluster using the configuration settings in the configuration template, thereby forming a constructed cluster.