A method for use in a system in which computational entities are distributed across physical computing resources to place the entities on the resources includes estimating actual resource demand for each entity on each resource based on application resource usage data collected from a data source external from the entity, computing a best allocation of the resources to the entities from the estimated actual resource demand for each entity and distributing the resources to the entities in accordance with the computed best allocation.