1. A method of allocating computer resources to workloads comprising: monitoring utilization of computer resources by workloads and/or components of workloads to generate utilization data of one or more computer resource types as a function of time; classifying said workloads into demand types as a function of said utilization data; planning an allocation of said computer resources to said workloads in part as a function of the demand types of said workloads; implementing said allocation; and wherein said workloads are grouped into demand-type groups, said demand-type groups are assigned to partitions and said implementing involves transferring resources into or out of said partitions.