0% found this document useful (0 votes)
63 views9 pages

Unit4 Cloud Computing

The document provides a comprehensive overview of virtualization, defining it as the creation of simulated computing resources that enhance resource utilization, scalability, and security. It discusses various types of virtualization, including hardware, software, server, storage, and network virtualization, as well as the roles of system and process virtual machines. Additionally, it addresses the advantages and disadvantages of virtualization, the function of hypervisors, and the impact of virtualization on cloud computing, while highlighting challenges and future trends in the field.

Uploaded by

uditagarwal2504
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views9 pages

Unit4 Cloud Computing

The document provides a comprehensive overview of virtualization, defining it as the creation of simulated computing resources that enhance resource utilization, scalability, and security. It discusses various types of virtualization, including hardware, software, server, storage, and network virtualization, as well as the roles of system and process virtual machines. Additionally, it addresses the advantages and disadvantages of virtualization, the function of hypervisors, and the impact of virtualization on cloud computing, while highlighting challenges and future trends in the field.

Uploaded by

uditagarwal2504
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

1.

Introduction to Virtualization
 Definition: Virtualization creates a simulated version of computing
resources.
Virtualization refers to the process of creating a virtual version of
something such as hardware, servers, storage devices, or network
resources. It allows multiple virtual systems to run on a single physical
system by abstracting the hardware.
Example: A developer uses a MacBook but needs to run a Windows-only
application. By using virtualization software like VirtualBox, the
developer can run Windows on the Mac.
2. Need for Virtualization
 Resource Utilization: Traditional IT setups often underutilize hardware.
Virtualization addresses this inefficiency by pooling hardware and
dynamically allocating resources to various virtual environments,
improving overall utilization.
Example: A data center consolidates 20 servers into 5 through
virtualization, saving on space, power, and maintenance costs.
 Scalability and Flexibility: Services can be quickly scaled or provisioned.
Virtual environments can be easily created, adjusted, or
decommissioned based on real-time demand.
Example: An e-commerce platform scales up its virtual servers during a
flash sale to handle increased traffic.
 Isolation and Security: Virtualization ensures secure separation of
workloads.
Each virtual machine operates independently, reducing the risk of one
compromise affecting another.
Example: In a cloud environment, a virus in one VM doesn’t affect
neighboring VMs.
3. Pros and Cons of Virtualization
 Advantages:
o Cost Savings: Reduces hardware needs and operational costs.
Organizations run multiple VMs on a single machine instead of
buying multiple servers.
o Flexibility: Enables rapid testing, development, and deployment.
Developers can clone VMs for testing without affecting the live
environment.
o Disaster Recovery: Simplified backup and replication of VMs.
A VM snapshot can be restored quickly in case of failure.
 Disadvantages:
o Performance Overhead: Hypervisors may introduce latency.
VMs might not perform as well as physical hardware under high
loads.
o Complex Management: Requires skilled administration.
Large VM environments need monitoring tools and policies to
manage sprawl.
o Security Concerns: Misconfigured VMs or vulnerabilities in
hypervisors can lead to risks.
A single breach in the hypervisor might expose all hosted VMs.
4. Types of Virtualization
 Hardware Virtualization: Multiple OS instances on one hardware
platform.
Achieved using hypervisors that allocate physical resources to VMs.
Example: Running Windows and Linux simultaneously on a server using
VMware.
 Software Virtualization: Applications run across different OSs.
Uses compatibility layers like Wine to run Windows apps on Linux.
Example: Using Wine to run Microsoft Office on a Linux system.
 Server Virtualization: Server resources are abstracted.
Combines workloads of multiple servers onto one system.
Example: A company merges email, web, and database servers into a
single physical machine using hypervisors.
 Storage Virtualization: Aggregates multiple storage units.
Creates a unified storage pool for better performance and management.
Example: SANs (Storage Area Networks) presenting a single volume to
users.
 Network Virtualization: Simulates complete networks.
Enables creation of isolated network environments over shared
infrastructure.
Example: SDN (Software-Defined Networking) used in data centers for
managing network traffic.
 Desktop Virtualization: Remote access to desktop environments.
Desktops run on centralized servers, accessed from anywhere.
Example: Employees use virtual desktops from home via Citrix or
VMware Horizon.
5. System Virtual Machine (System VM)
 Full System Emulation: A System Virtual Machine (System VM) provides
a complete environment that supports the execution of a full operating
system. This means it emulates all the hardware and enables multiple
OSs to run on a single physical host. Each VM is isolated and operates as
though it is a separate physical machine. This level of abstraction is
highly beneficial for testing and development environments.
 Resource Management and Isolation: One of the key features of a
System VM is its ability to manage hardware resources such as CPU,
memory, storage, and I/O devices independently for each virtual
machine. It allocates and monitors resources efficiently, ensuring that
VMs do not interfere with each other. This isolation guarantees that a
crash or issue in one VM does not impact the operation of others, which
is crucial in multi-tenant environments like data centers.
 Use in Testing and Development: System VMs are particularly useful in
development and quality assurance (QA) environments. Developers can
set up different VMs with various operating systems and software
configurations to test their applications for compatibility and
performance. QA teams can simulate production environments to
identify issues before deploying the software. This results in higher
software quality and reduced risk of production failures.
 Real-World Example: A quality assurance engineer at a software
company might use VMware Workstation on a Windows machine to
create multiple VMs—one running Windows 10, another running Ubuntu
Linux, and another with macOS. Each VM can be used to test the same
software under different conditions, ensuring it functions correctly
across platforms. This use of System VMs saves the cost and space of
maintaining multiple physical machines for testing purposes.
6. Process Virtual Machine (Process VM)
A Process Virtual Machine (VM) provides a runtime environment designed to
support the execution of a single application or process. Unlike system VMs
that emulate an entire hardware stack, process VMs abstract the execution
context for a specific program, offering a lightweight solution focused solely on
application needs. The VM exists only for the lifetime of the process and
terminates once the application completes execution. This design minimizes
overhead, making process VMs particularly suitable for high-level language
applications.
Process VMs offer platform independence by decoupling the application from
the underlying operating system and hardware. They interpret or compile code
at runtime, managing tasks such as memory allocation, garbage collection, and
security checks. Developers benefit from “write once, run anywhere”
capability, as the VM ensures consistent execution behavior across diverse
environments. Java Virtual Machine (JVM) is the most prominent example,
executing Java bytecode uniformly on Windows, Linux, macOS, and even
embedded devices.
While process VMs simplify development and deployment, they may introduce
performance considerations due to runtime interpretation or just-in-time (JIT)
compilation. Modern VMs mitigate this by leveraging JIT compilers, which
translate bytecode into optimized native instructions on-the-fly, narrowing the
performance gap with native code. Moreover, advanced runtime profiling and
adaptive optimization further enhance execution speed without sacrificing
portability.
Real-World Example: On Android smartphones, the Android Runtime (ART)
serves as a process VM. Applications are compiled into bytecode and executed
within ART, providing consistent functionality across devices from different
manufacturers. Despite hardware differences, the VM ensures that apps
behave identically on Samsung, Google, and OnePlus devices, simplifying app
distribution and maintenance.
7. Virtual Machine Monitor (VMM) / Hypervisor
The Virtual Machine Monitor (VMM), commonly referred to as the hypervisor,
is the critical software layer that enables virtualization by creating and
managing virtual machines. It sits between the hardware and VMs, handling
resource allocation—CPU scheduling, memory partitioning, I/O handling—and
enforcing isolation to ensure that each VM operates securely and
independently.
Type 1 (bare-metal) hypervisors run directly on the host’s hardware, offering
minimal overhead and high performance. Enterprises use Type 1 hypervisors
for production environments where stability, scalability, and security are
paramount. Examples include VMware ESXi, Xen, and Microsoft Hyper-V in its
raw-metal configuration. These hypervisors support advanced features such as
live migration, fault tolerance, and high-availability clustering.
Type 2 (hosted) hypervisors operate on top of a host operating system. They
are easier to install and manage, making them ideal for development, testing,
and desktop virtualization. Hosted hypervisors, such as Oracle VirtualBox and
VMware Workstation, provide flexibility but incur additional latency due to the
underlying OS layer.
Real-World Example: In many enterprise data centers, VMware ESXi (a Type 1
hypervisor) hosts dozens of production VMs running critical database, web,
and application servers. Meanwhile, developers use VirtualBox on their
Windows machines to spin up Linux VMs for testing, benefiting from rapid
setup and broad OS support without needing separate physical hardware.
8. Properties of Virtual Machines
Virtual Machines (VMs) exhibit several core properties that distinguish them
from traditional computing environments. Isolation is a fundamental trait:
each VM functions independently, preventing processes in one VM from
affecting another. This isolation enhances security and fault tolerance, as
failures or attacks in one VM do not propagate to others.
Encapsulation refers to the representation of a VM as a set of files—disk
images, configuration data, and snapshots. This encapsulation simplifies VM
lifecycle management: administrators can clone, back up, or migrate VMs by
copying or transferring files. It supports rapid disaster recovery and
environment cloning for testing and development.
Hardware Independence is achieved through abstraction. VMs present a
standardized virtual hardware interface to guest operating systems, enabling
them to run unmodified on different physical hosts. This portability allows live
migration of running VMs across servers for load balancing or maintenance
without downtime.
Manageability is greatly enhanced in virtualized environments. Management
platforms provide centralized dashboards for monitoring performance,
allocating resources, and automating tasks like provisioning, scaling, and
patching. Features such as snapshots, checkpoints, and rollbacks streamline
operational workflows and reduce deployment risks.
Real-World Example: In a virtualized data center, a system administrator uses
VMware vCenter to migrate a busy VM from one host to another during
scheduled maintenance. Because of live migration—a direct consequence of
isolation and hardware independence—the end users experience no
interruption.
9. Interpretation and Binary Translation
Interpretation and binary translation are two methods hypervisors and VMs
use to execute instructions not natively supported by the host CPU.
Interpretation reads and executes each instruction of the guest OS or
application one at a time through a software interpreter. While highly portable,
this approach can be slower due to repeated instruction decoding.
Binary Translation improves performance by translating blocks of guest
instructions into host-native instructions ahead of time or in real-time. These
translated blocks execute directly on the CPU, reducing the overhead of
interpretation. Early VMware products used binary translation to virtualize x86
architectures before CPU manufacturers added hardware-assisted virtualization
features.
With modern processors offering virtualization extensions (Intel VT-x, AMD-V),
hypervisors increasingly use hardware-assisted virtualization, combining binary
translation with direct execution modes to optimize speed and compatibility.
Real-World Example: VMware Workstation on desktops historically relied on
binary translation to run x86 guest operating systems on different CPUs. Today,
with VT-x support on most Intel chips, the hypervisor switches to hardware-
assisted modes but still falls back on binary translation for unsupported
instructions.
10. High-Level Language Virtual Machines (HLL VM)
High-Level Language VMs (HLL VMs) provide an abstraction for running
programs written in languages like Java, C#, or Python. They handle tasks
including bytecode verification, automatic memory management, just-in-time
compilation, and security sandboxing. These VMs simplify application
development by providing a consistent runtime environment across diverse
platforms.
The Java Virtual Machine (JVM) executes Java bytecode, offering portability
and robust ecosystem support. It includes built-in garbage collection to free
unused memory, thread management for concurrency, and a security manager
for sandboxing untrusted code. Likewise, the Common Language Runtime
(CLR) in .NET executes Intermediate Language (IL) code, enabling languages like
C#, F#, and VB.NET to interoperate seamlessly.
Modern HLL VMs incorporate adaptive optimization techniques, profiling
applications at runtime to recompile hot code paths into highly optimized
native code. This dynamic compilation approach bridges the performance gap
between interpreted languages and native binaries.
Real-World Example: Server-side microservices written in Java run on AWS
Lambda via the JVM-based runtime. Developers benefit from automatic
scaling, as the VM spins up instances to handle incoming requests without
manual resource provisioning.
11. Supervisors / Hypervisors
Hypervisors, also called supervisors, come in various flavors. Xen is an open-
source Type 1 hypervisor used by AWS in early EC2 services. Xen supports
paravirtualization—requiring modified guest OSes for better performance—
and hardware-assisted virtualization for unmodified guest OSes.
Kernel-based Virtual Machine (KVM) is built into the Linux kernel,
transforming it into a bare-metal hypervisor. KVM leverages existing Linux
infrastructure for scheduling, memory management, and I/O, making it popular
in both enterprise and open-source communities.
VMware provides enterprise-grade hypervisors such as ESXi (Type 1) and
Workstation/Player (Type 2), offering rich feature sets like high-availability
clustering, distributed resource scheduling, and extensive management tools.
Oracle VirtualBox is a free, Type 2 hypervisor favored in development and
educational settings for its ease of use and broad OS support. Microsoft Hyper-
V is integrated into Windows Server and Windows 10/11 Pro, offering Type 1
hypervisor capabilities with deep integration into Microsoft ecosystems.
Real-World Example: AWS transitioned from Xen to its Nitro hypervisor, a
customized KVM-based solution, to improve I/O performance and security
isolation for EC2 instances, demonstrating how enterprises evolve hypervisor
choices to meet specific workload demands.
12. Virtualization in Cloud Computing
Virtualization underpins all major cloud computing models by abstracting
hardware resources and exposing them as on-demand services. In
Infrastructure as a Service (IaaS), providers like AWS, Azure, and Google Cloud
offer virtual machines that customers can provision, configure, and manage.
Virtualization ensures multi-tenancy, allowing many customers to share the
same physical servers securely.
The elasticity of virtualized environments enables auto-scaling, where new VM
instances launch automatically in response to increased load and terminate
when demand subsides. This dynamic resource management optimizes cost
and performance, making it suitable for variable workloads like web
applications, batch processing, and big data analysis.
Virtualization also simplifies disaster recovery. Cloud providers replicate VM
images across geographically separate data centers. In case of a regional
outage, instances can be spun up in another location with minimal downtime,
ensuring business continuity.
Real-World Example: Netflix runs its streaming service on AWS, leveraging EC2
instances for compute, EBS for storage, and VPC for network virtualization.
During peak hours, additional EC2 instances are provisioned automatically, and
when traffic drops, unused instances are terminated to reduce costs.
13. Challenges and Future Trends
As virtualization adoption grows, organizations face challenges such as VM
sprawl, where uncontrolled creation of VMs leads to wasted resources and
complexity. Effective governance requires policies for VM lifecycle
management, cost tracking, and automated cleanup of unused instances.
Security remains a critical concern, as vulnerabilities in hypervisors or VM
escape exploits could compromise multiple tenants. Securing the virtualization
layer demands regular patching, network segmentation, and robust access
controls. Performance tuning is another ongoing task, balancing CPU, memory,
and I/O resources to meet application SLAs.
Looking ahead, containerization (e.g., Docker) offers a lighter-weight
alternative to VMs, packaging applications with their dependencies into
isolated user-space instances. Serverless computing abstracts infrastructure
further, allowing developers to run code without managing servers or VMs.
Meanwhile, edge virtualization brings compute closer to data sources,
reducing latency for IoT and real-time analytics.
Real-World Example: Kubernetes orchestrates containers across clusters,
providing features like service discovery, load balancing, and self-healing—
capabilities that complement or, in some cases, replace traditional VM-based
deployments.

You might also like