I don't pretend to reply for my esteemed colleague, this is a just a personal thought of my own.
Setting up affinity rules (e g on RHEL 6/7 Control groups keeping apart some CPU power for SAS compute sessions | SAS Metadata server | SAS midTier etc.) might be effective - if authorised by the terms of your SAS contract. However, this would imply ensuring that the IT admins never forget to apply these rules when a change (upgrade, hotfix etc.) occurs at the system level and this is a strong assumption, almost a risk per se. What if, for instance, after a mere WE reboot, the Cgroups rule on CPU is lost and the MidTier processes now occupies between 40% and 60% of the CPU workload instead of, say 20% as defined previously ?... Keeping track of these kind of rules is difficult so, relying of the strict separation of tiers, each tier on a separate machine (physical/virtual) is much more easier, and not so costly (VM).
As a rule of thumb, SAS TS generally recommends dedicating a single machine to the Medata Server : as someone has said previously, this should not be taken as a strong pre-requisite; MD Server load being light, is compatible with MidTier of Compute Tier from my experience. Only environments with High Avaialabiliy specs need a separate MD server, sometimes even clustered.
As @JuanS_OCS has said, also, in order to take benefit of scalability, installing the Compute Tier on a distinct machine enables further to add more power (in the due limits of the contract) just by adding another server and setting up the Load Balanced Workspace also called Clustered Workspace which creates a computing cluster sas-wise. No SAS Grid or Hadoop cluster required, only the extra machine and the SMC (a Shared File System is also almost required).
See https://support.sas.com/documentation/cdl/en/biasag/63854/HTML/default/n07001intelplatform00srvradm.htm
... View more