VM vs Dedicated

Hi,

My organization decided to deploy applications on VM environment, one VM per application for controlling resource (CPU, RAM, I/O, space) usage of each application. We have some option for MySQL database which are same VM with application, separate VM (one VM per databases related to each application) or dedicated servers (all databases on same servers). I’m looking for pros vs cons of using MySQL on VM (same vs separate) environment vs dedicated server environment. I don’t have knowledge of resource controlling on MySQL (if any).

Best regards,