1. A method comprising: identifying, by a computer processor, a plurality of resource candidates capable of hosting a logical resource of a service; filtering, by the computer processor, the plurality of resource candidates based on a first filter of a first filter chain to yield a first set of filtered resource candidates, the first filter chain comprising a first set of serially connected filters, wherein the first filter of the first filter chain includes a reference to a second filter chain, the second filter chain comprising a second set of serially connected filters, different than the first set of serially connected filters; after filtering the plurality of resource candidates, filtering the first set of filtered resource candidates based on each filter in the second filter chain to yield a second set of filtered resource candidate; after filtering the first set of resource candidates, filtering the second set of resource candidates based on at least a second filter of the first filter chain to yield a third set of resource candidates, the second filter of the first filter chain being ordered after the first filter in the first filter chain; and selecting, from the third set of resource candidates, a resource for hosting the logical resource.