What are Virtual Machines (VMs)?
This content is from the lesson "4.2 Virtual Machines (VMs)" in our comprehensive course.
View full course: Cloud Fundamentals Study Notes
Virtual Machines (VMs) are the most common form of compute resource in Infrastructure as a Service (IaaS) cloud environments.
They are essentially software-based computers that run on physical hardware.
Definition:
- A Virtual Machine (VM) is a virtualized instance of a computer system.
- It behaves like a physical computer, with its own operating system (OS), CPU, memory, storage, and network interface, all running on a shared physical server.
- Each VM is isolated from other VMs on the same host, allowing multiple independent "computers" to run concurrently on a single piece of hardware.

__
Key Components of a VM:
- Virtual CPU (vCPU): Virtualized processing power allocated from the host's physical CPU.
- Virtual Memory (vRAM): Virtualized RAM allocated from the host's physical memory.
- Virtual Disk: A file on the host's physical storage that acts as the VM's hard drive.
- Virtual Network Interface Card (vNIC): Allows the VM to connect to a virtual network.
- Guest Operating System: The OS installed within the VM (e.g., Windows Server, Linux, macOS).
__
Customer Control & Management: When you provision a VM in the cloud (typically an IaaS offering), you are responsible for managing everything inside that virtual machine. This includes:
- Installing, configuring, and patching the Guest Operating System.
- Installing and managing all applications and software.
- Managing data stored on the VM's virtual disks.
- Configuring network settings within the VM (e.g., IP addresses, firewall rules specific to the OS). The cloud provider handles the underlying physical server, the hypervisor, and the physical network.
__
Analogy: A Computer within a Computer
Imagine you have a powerful laptop (the physical host machine).
Now, picture installing a special software that allows you to run another entirely separate operating system (like a Windows PC on your Mac, or a Linux machine on your Windows PC) right within your laptop, complete with its own files, programs, and settings.
- Your Laptop: The physical server (host machine).
- The Special Software: The hypervisor.
- The Separate OS You Run: The Virtual Machine (VM). You can use both your main laptop OS and the VM simultaneously, and what happens in one doesn't directly affect the other.
__
Use Cases:
- Hosting Web Servers and Applications: Running websites, e-commerce platforms, and enterprise applications.
- Development and Testing Environments: Quickly spinning up isolated environments for developers to test code without affecting production systems.
- Migrating On-Premises Workloads (Lift-and-Shift): Moving existing applications and servers from a traditional data center to the cloud with minimal changes.
- Running Legacy Applications: Hosting older software that requires specific operating systems or configurations not supported by newer hardware.
- Database Servers: Running relational or NoSQL databases that require dedicated compute resources.
__
Quick Note: The "Workhorse" of IaaS
- VMs are the workhorses of Infrastructure as a Service (IaaS).
- They offer robust isolation and a familiar computing environment, making them ideal for traditional applications and for organizations that require significant control over their operating systems and software stack in the cloud.
TAGS
Want to learn more?
Check out these related courses to dive deeper into this topic


