Introduction to Virtualization: What Is a Virtual Machine?

Written by Coursera • Updated on

Read on to discover the definition and utility of a virtual machine (+ examples). 

[Featured Image] A person researches virtual machines on a computer and a cell phone.

Virtualization is the creation of a virtual version of something, like a storage device. A simple way to conceptualize virtualization is to think of it as software pretending to be hardware. Virtualization uses specialized software that can mimic hardware functionalities. The following article examines the role virtual machines play in this process and how you can use them. 

What is a virtual machine (VM)?

A virtual machine is not a physical machine. It’s a file that replicates the computing environment of a physical machine. It’s similar to how virtual reality (VR) environments replicate the real world. VR isn’t a physical space; it’s a virtual imitation. Still, we can perform real-world functions in VR, such as exploring and interacting with objects. Instead of imitating video game functions, virtual machine software emulates computer system functions. With VR, you can explore a new environment without leaving home. With VM software, you can run programs and store data without using hardware. 

What are VMs used for?

Creating a simulated version of a computer system makes it possible to separate hardware resources from their physical infrastructure. Many applications for this technology exist. The list below outlines five examples:

1. Cloud computing. Virtualization technology creates virtual resources from physical hardware. Then, cloud computing distributes those virtualized resources via the internet. Examples of cloud computing include Dropbox, Salesforce, and Google Drive. 

2. Software testing. You can use virtual machines to create fully functional software development environments. These environments are useful because they’re isolated from the surrounding infrastructure. Isolation allows developers to test software without impacting the rest of the system. 

3. Malware investigations. VMs enable malware researchers to test malicious programs in separate environments. Instead of spreading to the rest of the infrastructure, a VM contains the malware for study.

4. Disaster management. You can use a virtual machine to replicate a system in a cloud environment. This replication ensures that if the system is compromised, another version exists to replace it. For example, iPhone users regularly back up their data by syncing their devices with iCloud. The iCloud stores a virtual version of the phone, allowing users to transport their existing data onto a new device in the event of theft or damage.

5. Running programs with incompatible hardware. Suppose you have an old application on your phone. It hasn’t released an update in a few years, but your phone has updated several times since then. Since the application hasn’t been updated with your phone, it may no longer be compatible with your phone’s current operating system (OS). You can use a virtual machine to simulate the previous OS and run the old application there.

What is the difference between virtual machines and containers?

When researching virtual machines, you will likely encounter the term container. Containers are often confused with virtual machines because they serve similar purposes. But VMs and containers have many distinguishing features. The main difference between the two lies in the virtualization process. Traditionally, virtualization creates a virtual version of the physical machine, including:

  • A virtual copy of the hardware

  • An application

  • The application’s libraries and dependencies

  • A version of the hardware’s OS (the guest OS) to run the application

In contrast, containers share the host hardware’s OS instead of creating a new version. Since containers avoid creating a separate guest OS, they can hold just the application and its libraries. The result is a faster and smaller virtualized system. Containers are appealing because they can be easily transported to other software environments.  

Advantages and disadvantages of virtual machines

Advantages of VMsDisadvantages of VMs
Portability. VMs allow users to move systems to other computing environments easily.Infected VMs. It can be risky to create VMs from weak host hardware. An improperly structured host system may spread its OS bugs to VMs.
Speed. Creating a VM is much faster than installing a new OS on a physical server. VMs can also be cloned, OS included.Server sprawl. The ability to create virtual machines can quickly lead to a crowded network. It’s best to monitor the creation of VMs to preserve computational resources.
Security. VMs help provide an extra layer of security because they can be scanned for malware. They also enable users to take snapshots of their current states. If an issue arises, users can review those snapshots to trace it and restore the VM to a previous version.Complexity. System failures can be challenging to pinpoint in infrastructure with multiple local area networks (LANs).

How to work with virtual machines 

If you’re interested in virtual machines, several occupations work with them. These occupations belong to the computer and information technology industry. Over the next eight years, jobs in this field are expected to grow at an above-average rate of 15 percent [1]. Here are some examples of careers in virtualization.

Virtual server administrator

What they do: Virtual server administrators operate, configure, and troubleshoot virtual databases. Their primary focus areas are system monitoring and cybersecurity. Attention to detail is essential in this role. 

Average annual salary (US): $82,612 [2]

Where to begin: If you’re interested in becoming a virtual server administrator, consider obtaining a computer science-relevant degree such as a master of science in cybersecurity

Virtualization engineer 

What they do: Virtualization engineers manage virtual computing platforms. They troubleshoot issues with end-users, handle data migrations, and set up and maintain virtual machines. A virtualization engineer must be up to date on the latest, most efficient virtualization practices, so continued education is a priority. 

Average annual salary (US): $114,885 [3]

Where to begin: Relevant degrees for this career path include a master of computer and information technology and a bachelor of science in computer science.

Cloud architect 

What they do: A cloud architect oversees cloud computing strategies for organizations. They focus on cloud design, management, and maintenance. Cloud architects translate technical requirements into architectural projects, so they must have excellent leadership and communication skills. 

Average annual salary (US): $135,100 [4]

Where to begin: A degree in a related field such as computer science or information technology can also be highly beneficial. Some universities offer cloud computing specializations. 

The computer and information technology field is fast-paced. Many employees prefer candidates who have previous experience working with specific systems and technologies. An excellent way to increase your strength as a job candidate is to earn Professional Certificates in related fields of study. For example, the Google Cloud Certification: Cloud Network Engineer Professional Certificate.


professional certificate

Preparing for Google Cloud Certification: Cloud Network Engineer

Advance your career as a Cloud Networking Engineer


(846 ratings)

12,494 already enrolled


Average time: 6 month(s)

Learn at your own pace

Skills you'll build:

Google Compute Engine, Google App Engine (GAE), Google Cloud Platform, Cloud Computing

Read more: How to Become a Cloud Architect: Degrees, Skills, Jobs, Courses

How to create your own virtual machine

There are opportunities to work with virtual machines and virtualization technology outside of professional positions. Platforms and tools are available to develop your own virtual machine project, like the Google Cloud Console. Building a virtual machine requires knowledge of cloud computing and operating systems. If you want to learn how to create a virtual machine, consider the Google Cloud Training Project: Creating a Virtual Machine


guided project

Creating a Virtual Machine

This is a self-paced lab that takes place in the Google Cloud console. In this hands-on lab, you’ll learn how to create a Google Compute Engine virtual ...


(25 ratings)

884 already enrolled


Average time: 1 month(s)

Learn at your own pace

Skills you'll build:

Virtual Machine, Cloud Console, Command-Line Interface, Operating Systems

Learn more about virtual machines with Coursera

Whether you want to create a virtual machine on your own or pursue a career in virtualization, you can get started today. Develop the skills you need to succeed with this guided, step-by-step project from Microsoft, Introduction to virtual machines in Microsoft Azure.    


guided project

Introduction to virtual machines in Microsoft Azure

By the end of this project, you will have successfully created an Azure account, logged into the Azure Portal and created, and configured a virtual machine. ...


(28 ratings)

1,239 already enrolled


Average time: 1 month(s)

Learn at your own pace

Skills you'll build:

Cloud Computing, Administration, Networking, virtualization

Article sources


Bureau of Labor Statistics. “Occupational Outlook Handbook: Computer and Information Technology Occupations,” Accessed September 9, 2022.

Written by Coursera • Updated on

This content has been made available for informational purposes only. Learners are advised to conduct additional research to ensure that courses and other credentials pursued meet their personal, professional, and financial goals.

Big savings for your big goals! Save $200 on Coursera Plus.

  • For a limited time, save like never before on a new Coursera Plus annual subscription (original price: $399 | after discount: $199 for one year).
  • Get unlimited access to 7,000+ courses from world-class universities and companies—for less than $20/month!
  • Gain the skills you need to succeed, anytime you need them—whether you’re starting your first job, switching to a new career, or advancing in your current role.