1. A method for efficient machine selection for job provisioning, comprising: receiving a job request to perform a job using an unspecified server machine; from the job request, determining one or more job criteria needed to perform the job; providing a list of one or more server machines, the one or more server machines potentially operable to perform the job; for each server machine on the list of one or more server machines: determining a utilization value, the utilization value comprising a numeric level of activity for the each server machine; determining one or more job criteria satisfaction values, each of the one or more job criteria satisfaction values comprising a numeric degree to which the each server machine satisfies one of the one or more job criteria; determining an overall suitability value from the one or more job criteria satisfaction values and the utilization value, the overall suitability value comprising a numeric degree to which the each server machine is suitable for performing the job; including the overall suitability value on a list of one or more overall suitability values; and determining a most suitable server machine for performing the job from the list of one or more overall suitability values.