1. A method for capability-based resource allocation in a software-defined environment, the method comprising: establishing a set of logical abstractions corresponding to a set of workload resources, each logical abstraction based on a particular capability of the set of workload resources; assigning to a first logical abstraction a capability profile identifying a first capability on which the first logical abstraction is based; dividing a specified workload into a set of workload components for individual assignment of logical abstractions in the set of logical abstractions to perform individual workload components in the set of workload components; determining a workload characteristic of a workload component; and allocating the first logical abstraction to the workload component based, at least in part, on the capability profile and the workload characteristic of the workload component; wherein: the workload component has a unique set of workload characteristics compared to a second workload component within the set of workload components; at least the allocating step is performed by computer software running on computer hardware; the specified workload is a print job; and the particular capability is a color imaging capability.