1. A method of distributing processing load across a plurality of storage providers, the method comprising: determining that multiple clients desire access to a file stored by a given storage provider; replicating the file in at least one additional storage provider, such that the given storage provider and at least one additional storage provider each store an instantiation of the file; and allowing clients to access any of the instantiations of the file so as to distribute processing load across the storage providers, wherein allowing clients to access an of the instantiations of the file comprises, for a client of the multiple clients: identifying a target storage provider of the plurality of storage providers that stores metadata corresponding to the file; accessing the identified target storage provider to retrieve a list containing references to storage providers of the plurality of storage providers that store an instantiation of the file; and selecting, from the retrieved list, at least one storage provider from which to access the file.