1. A computer implemented method for placing applications and their associated data into a data center, wherein the computer comprises a processor communicatively coupled to a memory, the method comprising: (a) constructing, by the processor, a facility communication node graph to construct an elastic map; (b) constructing, by the processor, a client application usage data space; (c) associating a force function between two nodes based on communication bandwidth, wherein at least one of the nodes is a fictitious node; (d) inserting a node graph into the data space; (e) assigning the applications to the nodes; (f) associating a force function between each application and each node based on assignment; (g) allowing the nodes to relax towards the applications based on the sum of forces between them creating a relaxed system; (h) determining whether the relaxed system is satisfactory; and (i) placing the applications into the data center based on a function of distances between the applications and the nodes in the relaxed system, wherein if the relaxed system is not satisfactory, further comprising: (j) reassigning the applications to the nodes; and repeating steps (f) through (i).