10. An apparatus comprising: a memory; and at least one processor, coupled to said memory, and operative to: carry out offline functionality-based co-ranking and clustering on a knowledge base, said knowledge base characterizing a heterogeneous information technology services network comprising a plurality of services, a plurality of providers, and a plurality of attributes; store results of said functionality-based co-ranking and clustering as annotations of said services and said providers in said knowledge base, to obtain an annotated knowledge base; obtain a service requirement from a customer requiring information technology services; query said annotated knowledge base, based on said service requirement; and return to said customer an ordered list of at least given ones of said services, based on said querying, wherein said at least one processor is operative to carry out said offline functionality-based co-ranking and clustering on said knowledge base by: calculating an initial service clustering for said heterogeneous information technology services network; classifying said providers into a plurality of service clusters; within each of said service clusters, ranking each of said providers; integrating ranking and clustering distances between said providers into a uniform provider distance to obtain updated provider similarity; classifying said services into a plurality of provider clusters; within each of said provider clusters, ranking each of said services; and integrating ranking and clustering distances between said services into a uniform service distance to obtain updated service similarity.
14. The apparatus of claim 10 , further comprising a plurality of distinct software modules, each of the distinct software modules being embodied on a computer-readable storage medium, and wherein the distinct software modules comprise a knowledge base querying module and a population agent module; wherein: said at least one processor is operative to carry out said offline functionality-based co-ranking and clustering by executing said population agent module on said at least one hardware processor; said at least one processor is operative to store said results of said functionality-based co-ranking and clustering by executing said population agent module; said at least one processor is operative to obtain said service requirement from said customer by executing said knowledge base querying module on said at least one hardware processor; said at least one processor is operative to query said annotated knowledge base by executing said knowledge base querying module on said at least one hardware processor; and said at least one processor is operative to return to said customer said ordered list by executing said knowledge base querying module on said at least one hardware processor.