Virtual machines for apps with bursty performance, e.g. low traffic websites, blogs, CMS, dev/test environments, and small databases.
Virtual machines for more demanding business apps, e.g. production websites, CI/CD, video transcoding, or larger databases.
Single tenant bare metal for apps with the most demanding performance or security requirements.