I know a good way to make a process make the most of the hardware and play cooperatively with other processes: don't use virtualization.
I will never understand the whole virtual machine and cloud craze. Your operating system is better than any hypervisor at sharing resources efficiently.
Automatic scaling is great. Cloud parallelization (a.k.a fork) is absolutely wild once you get it rolling. Code deployments are incredibly simple. Never having to worry about physical machines or variable traffic loads is worth the small overhead they charge me for the wrapper. The generic system wide permissions model is an absolute joy once you get over the learning curve.
After reading the README of virtualization tools (and looking at the author) I discovered the benefits of using them. I recommend also giving that a try.
to get decent prices for cloud you need to commit to 3 years of usage upfront, and if you do that then it's about the same price as buying the hardware outright.
I will never understand the whole virtual machine and cloud craze. Your operating system is better than any hypervisor at sharing resources efficiently.