1. A method comprising: in a network, in each of a plurality of compute nodes, maintaining a local store of services, the local store of services including at least a service name, a service functionality and statistics defining a historical performance of the service on each compute node; receiving a request for a service from a client system; and compiling a list of compute nodes matching the service request, the list having service names ranked according to the service functionality and the statistics for each compute node.