1. A method for performing remote resource allocation analyses on distributed computer systems, the method comprising: obtaining a snapshot of a target distributed computer system at a distributed computer system, the snapshot including configurations and resource usage information of host computers and clients running on the host computers of the target distributed computer system; interfacing with a remote resource allocation module from the distributed computer system, including requesting access to the remote resource allocation module using authorization information, the remote resource allocation module being located outside of the distributed computer system; transmitting the snapshot of the target distributed computer system to the remote resource allocation module so that a remote resource allocation analysis can be performed on the snapshot of the target distributed computer system; receiving from the remote resource allocation module results of the resource allocation analysis on the snapshot of the target distributed computer system at the distributed computer system; performing a local resource allocation analysis on the snapshot of the target distributed computer system at the distributed computer system for generating a client relocation recommendation; and charging the distributed computer system for accessing the remote resource allocation module in accordance with a subscription plan based on per usage, per time period or per processing time unit.