Microsoft Interview Question

How would you design a system to allocate VMs?