Microsoft interview question

How would you design a system to allocate VMs?