When Windows Server 2003 was released, most Windows Server deployments were physical rather than virtual. Back when the majority of workload deployments were to bare metal hardware, most organizations isolated workloads. A production server would host Exchange or SQL Server, but you wouldn’t put Exchange or SQL Server on the same physically deployed server that was used in a production environment. If you were deploying Exchange and SQL, you’d keep them on separate servers.
With Windows Server 2012 and Windows Server 2012 R2, the expectation is that the majority of deployments will be virtual rather than physical. This means that while you won’t, for example, deploy Exchange and SQL Server on the same virtual machine, you are likely to deploy a virtual machine running Exchange and a virtual machine running SQL Server on the same virtual machine host.
They key to consolidating workloads is understanding the resource utilization profile of each workload. You want to ensure that you try to balance things on the virtualization host so that no combination of workloads is going to end up monopolizing a particular hardware resource, be it processor, RAM, storage, or network. For example, if you’ve got multiple processor intensive workloads, you’ll probably want to avoid deploying those virtual machines on the same virtualization host. You could, however deploy a processor intensive workload that doesn’t use much in the way of storage resources and a workload that performs many read and write operations but doesn’t use much in the way of processor resources on the same virtualization host.
In advanced environments, you can use functionality such as System Center’s Performance and Resource Optimization, that leverages Operations Manager and Virtual Machine Manager to migrate virtual machines across nodes in virtualization clusters in a way that attempts to equitably balance resource utilization. The benefit of this automatic method of moving VMs about as resource requirements change is that you’ll minimize the chance that unusual spikes in resource utilization will cause all workloads on a virtualization host to grind to a halt.