CLOUD CONCEPT

Virtualization

Virtualization abstracts physical computing resources into logical resources, allowing isolated environments to share underlying hardware.

Cloud Concepts Hub →

What is Virtualization

Virtualization separates the resources applications use from the physical systems that provide them. In cloud computing, it enables providers to offer configurable virtual machines, storage, and networks, while engineers choose resource combinations that balance performance, compatibility, isolation, and cost.

Virtualization creates logical representations of physical computing resources. For compute, a hypervisor allocates processor time, memory, and device access to virtual machines, each of which runs its own guest operating system. Multiple virtual machines can share a physical server while remaining logically isolated. Virtualization also applies to storage and networking, where logical volumes and networks hide details of the underlying infrastructure.

Cloud providers use virtualization to provision resources without assigning an entire physical server to every customer. Engineers select virtual machine configurations and operating system images rather than installing hardware. The provider operates the physical infrastructure and virtualization layer, while customers typically remain responsible for guest operating system updates, application configuration, and workload security. Virtualization provides an isolation boundary, but it does not replace identity controls, network restrictions, encryption, or patching.

For cost-optimized compute, distinguish an instance family from an instance size. A family determines the general resource profile: compute-optimized instances emphasize processor capacity, memory-optimized instances provide more memory relative to compute, and general-purpose instances offer a balanced configuration. Size determines the allocated capacity within that profile. A memory-bound application can waste money on a large compute-optimized instance if the extra processors remain idle. A smaller memory-optimized instance might satisfy the same workload at lower cost, depending on pricing and measured performance.

For example, a compilation worker with sustained processor demand may fit a compute-optimized virtual machine, whereas an in-memory analytics engine may need a memory-optimized configuration. A lightly used administrative server may fit a burstable instance, but sustained utilization can exhaust CPU credits or incur additional charges under applicable configurations. Evaluate CPU utilization, memory pressure, storage latency, network throughput, and application response times before resizing. The cheapest hourly rate is not necessarily the lowest cost per completed job.

Virtualization technology and processor architecture also affect compatibility. On Amazon EC2, HVM, or hardware virtual machine, is the virtualization type used by modern instance types; paravirtual, or PV, images are associated with older configurations and have restricted compatibility. Many current EC2 instances use the Nitro System, which offloads infrastructure functions to dedicated hardware and uses a lightweight hypervisor for virtualized instances. An image must match the target architecture, such as x86-64 or Arm64, and support the required boot and device interfaces. Hardware-assisted virtualization does not automatically translate applications between processor architectures.

A virtual CPU is not universally equivalent to a dedicated physical core. On many simultaneous-multithreading configurations, it represents a hardware thread; mappings differ across processor architectures and instance types. Performance also depends on processor generation, memory bandwidth, storage limits, and network limits. Virtualization can introduce overhead, although hardware assistance and infrastructure offloading can reduce it substantially. Shared infrastructure can create resource contention, so benchmark representative workloads rather than assuming identical virtual resource counts imply identical performance.

Virtual machines are not the same as containers: containers usually share a host operating system kernel, while virtual machines have separate guest kernels. Dedicated tenancy can address placement or licensing requirements without necessarily removing virtualization; bare-metal instances are a separate option. Finally, virtualization alone does not provide automatic scaling, backups, or high availability. Those outcomes require additional services and architecture, such as distributing instances across failure domains and replacing failed instances from tested images.

Key aspects of Virtualization

Virtualization enables isolated, configurable resources, but cost-effective use requires compatible images, workload-based sizing, performance measurement, and explicit resilience design.

Hardware abstraction

Virtual resources expose usable compute, storage, and networking interfaces without requiring applications to manage physical hardware. Guest images and drivers must still support the chosen architecture and virtual devices.

Isolation on shared infrastructure

A hypervisor separates virtual machines and mediates access to physical resources. Treat this as one security boundary, not a substitute for operating system patching, access controls, or network segmentation.

Workload-aligned resource profiles

Choose instance families according to the workload's limiting resource, then select a size that meets its capacity needs. Compare measured cost per transaction or job rather than relying only on hourly price.

Performance depends on implementation

Virtual CPU counts alone do not establish equivalent performance across instance types. Processor architecture, hardware generation, virtualization overhead, and storage or network limits all affect results.

Reproducible provisioning

Images and configuration automation make it practical to create replacement virtual machines consistently. Application data and secrets still need appropriate persistence and lifecycle management.

Separation from resilience and elasticity

Virtualization makes resources easier to allocate, but it does not automatically distribute workloads or recover applications. Scaling policies, health checks, redundancy, and backups must be designed separately.

Cloud services for Virtualization

Amazon EC2, Amazon EBS, and Amazon VPC combine compute, storage, and network virtualization into an application environment. An EC2 instance runs a compatible operating system image, uses EBS volumes for persistent block storage, and communicates through network interfaces in a VPC. Optimize these layers together: a correctly sized instance can still perform poorly if its storage throughput or instance-level network limits are insufficient. Logical separation makes provisioning flexible, but availability still depends on application architecture, backups, and deployment across appropriate failure domains.

Amazon EC2 image Amazon EC2

Amazon EC2 provides virtual machine instances with different processor architectures, resource profiles, and sizes. Engineers choose compatible images and instance types, then benchmark and rightsize them; EC2 also offers bare-metal instance options.

Open Amazon EC2 →
Virtual private cloud VPC_32 image Amazon VPC

Amazon VPC provides logically isolated virtual networks containing subnets, route tables, and network interfaces. It lets engineers define network topology and traffic controls without configuring the provider's physical switches and routers.

Open Amazon VPC →