1. A method comprising: evaluating a computing environment by performing auditing of a fault tolerance ability of the computing environment to tolerate each of a plurality of failure scenarios; constructing a failover plan for each of the plurality of scenarios; identifying one or more physical resource limitations which constrain the fault tolerance ability; and identifying one or more physical resources to be added to the computing environment to tolerate each of the plurality of failure scenarios: wherein the failover plan for each of the plurality of failure scenarios globally distributes failed resources across all physical servers in a cluster in response to at least one security constraint, or at least one policy consideration, or both.