Virtual machines are in basic terms a computer file, typically called an image using physical hardware resource, which behaves like an actual Computer/Server or platform. In simple terms, creating a computer within a computer. It runs in a window, much like any other program, giving the user the same experience on a virtual machine as they would have on their own operating system. The virtual machine is sandboxed from the rest of the machine, meaning that the software inside a virtual machine cannot escape or tamper with the physical computer itself.
This produces an ideal environment for testing other operating systems, beta releases, accessing infected data, creating operating system backups and running software or applications on operating systems for which they were not originally intended. It also makes on the fly upgrades very easy and swift to deploy, often not requiring a reboot of the platform either.
Multiple virtual machines can run simultaneously on the same physical hardware. For servers, multiple operating systems can run side-by-side one another allowing for scalability and flexibility for businesses. Each virtual machine provides its own virtual hardware, including CPUs, memory, hard drives, network interfaces and other devices. This virtual hardware is then mapped to the real hardware on the physical machine.