A virtual machine is a machine completely defined and implemented in software rather than hardware. It is often referred to as a “runtime environment”. Virtual Machines can be used to connect to and control computers directly, as well as allowing servers to perform multiple roles on the same physical machine.