1. A cloud computing system, comprising; a plurality of computing nodes organized into a plurality of clusters, each of the plurality of clusters including a cluster controller; a virtualization layer configured to create a virtual computing environment on each of the plurality of computing nodes; an infrastructure controller configured to operate on each of the plurality of computing nodes and to communicate with the virtualization layer, the infrastructure controller being further configured to receive an authorization to service a launch plan from a user, the launch plan including at least one instance to launch; a site controller configured to receive instructions from the infrastructure controller in response to the authorization, the site controller being further configured to: request bandwidth information from each of the cluster controllers of the plurality of clusters, compute a score for each of the plurality of clusters that responded to the requested bandwidth information, and assign the launch plan to a cluster from the plurality of clusters based on the computed scores.