1. A computer implemented method, comprising: recording, by a processor, statistics regarding invocation of a second component of a distributed computing system by a first component of the distributed computing system; determining, by the processor, a dependency between the first component and the second component based on the statistics; determining, by the processor, a dependency rating for the dependency based on the statistics, wherein the dependency rating identifies a degree of dependency between the first component of the distributed computing system and the second component of the distributed computing system; migrating the first component from a first location to a second different location; responsive to determining that the dependency rating for the dependency exceeds a dependency threshold, migrating the second component to the second location; applying an atomic decay to the dependency rating, wherein the atomic decay reduces a value of the dependency rating over time according to a specified atomic decay factor; and resetting the dependency rating each time the first component invokes the second component.