Jump to

What is a virtual machine?

A virtual machine (VM) is a digital version of a physical computer. Virtual machine software can run programs and operating systems, store data, connect to networks, and do other computing functions, and requires maintenance such as updates and system monitoring. Multiple VMs can be hosted on a single physical machine, often a server, and then managed using virtual machine software. This provides flexibility for compute resources (compute, storage, network) to be distributed among VMs as needed, increasing overall efficiency. This architecture provides the basic building blocks for the advanced virtualized resources we use today, including cloud computing.

Learn about virtual machines and VM family types that are available with Compute Engine, the cloud-based computing infrastructure from Google Cloud.

Virtual machine defined

A VM is a virtualized instance of a computer that can perform almost all of the same functions as a computer, including running applications and operating systems.

Virtual machines run on a physical machine and access computing resources from software called a hypervisor. The hypervisor abstracts the physical machine’s resources into a pool that can be provisioned and distributed as needed, enabling multiple VMs to run on a single physical machine.

What are virtual machines used for?

VMs are the basic building blocks of virtualized computing resources and play a primary role in creating any application, tool, or environment—for virtual machines online and on-premises. Here are a few of the more common enterprise functions of virtual machines:

Consolidate servers

VMs can be set up as servers that host other VMs, which lets organizations reduce sprawl by concentrating more resources onto a single physical machine.

Create development and test environments

VMs can serve as isolated environments for testing and development that include full functionality but have no impact on the surrounding infrastructure.

Support DevOps

VMs can easily be turned off or on, migrated, and adapted, providing maximum flexibility for development. 

Enable workload migration

The flexibility and portability that VMs provide are key to increasing the velocity of migration initiatives.

Improve disaster recovery and business continuity

Replicating systems in cloud environments using VMs can provide an extra layer of security and certainty. Cloud environments can also be continuously updated.

Create a hybrid environment

VMs provide the foundation for creating a cloud environment alongside an on-premises one, bringing flexibility without abandoning legacy systems.

Compute Engine, Google Cloud’s flexible virtual machine offering, provides computing infrastructure in the form of predefined and customizable VMs. It’s designed to accelerate cloud transformation.