1. A method comprising: receiving a request to move a first workload from a server; determining whether the first workload is supported by a plurality of candidate servers with different architectures; if the first workload is supported by the plurality of candidate servers with different architectures, determining that a selected workload is the first workload; if the first workload is not supported by the plurality of candidate servers with the different architectures, determining that the selected workload is a second workload that is an alternative to the first workload, wherein the second workload is supported by the plurality of candidate servers with the different architectures; determining components of the plurality of candidate servers; collecting statistics for the components; determining component values of the components based on the statistics; if the components impact performance of the selected workload, setting weights for the components that impact the performance to be a percentage impact of the components on the selected workload; calculating functions of the component values and the weights to yield results; processing the results of the functions to costs of the plurality of candidate servers to yield a plurality of adjusted costs of the plurality of candidate servers; and moving the selected workload from the server to a target server that is one of the plurality of candidate servers with a lowest of the plurality of adjusted costs.