0% found this document useful (0 votes)
3 views

Cloud Computing Unit - 4

The document discusses virtualization in cloud computing, explaining its definition, types, and importance in resource optimization. It highlights various forms of virtualization such as server, network, and application virtualization, along with their benefits and drawbacks. Additionally, it covers the role of hypervisors, real-world examples, and the evolution of virtualization technology.

Uploaded by

Gaurav mishra
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)
3 views

Cloud Computing Unit - 4

The document discusses virtualization in cloud computing, explaining its definition, types, and importance in resource optimization. It highlights various forms of virtualization such as server, network, and application virtualization, along with their benefits and drawbacks. Additionally, it covers the role of hypervisors, real-world examples, and the evolution of virtualization technology.

Uploaded by

Gaurav mishra
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/ 18

Cloud Computing Notes

Unit -4th
Virtualization for Cloud
What is Virtualization?
Virtualization is the process of creating virtual instances of computing resources
like servers, storage, and networks. Virtualization is the "creation of a virtual
(rather than actual) version of something, such as a server, a desktop, a storage
device, an operating system or network resources". In other words,
Virtualization is a technique, which allows to share a single physical instance of
a resource or an application among multiple customers and organizations. It
does by assigning a logical name to a physical storage and providing a pointer to
that physical resource when demanded.
Types of Virtualization
1. Application Virtualization
2. Network Virtualization
3. Desktop Virtualization
4. Storage Virtualization
5. Server Virtualization
6. Data virtualization
Server Virtualization:This splits a physical server into multiple virtual servers,
each functioning independently. It helps improve performance, cut costs and
makes tasks like server migration and energy management easier.Divides a
single physical server into multiple virtual servers.
Example: VMware vSphere, Microsoft Hyper-V.
Network Virtualization: This allows multiple virtual networks to run on the same
physical network, each operating independently. You can quickly set up virtual
switches, routers, firewalls, and VPNs, making network management more
flexible and efficient. Creates virtual networks over physical infrastructure.
Example: VLANs (Virtual Local Area Networks), SDN (Software-Defined
Networking).
Desktop Virtualization: With desktop virtualization, your operating system is
stored on a server and can be accessed from anywhere on any device. It’s great
for users who need flexibility, as it simplifies software updates and provides
portability.Allows remote access to desktop environments.
Example: VDI (Virtual Desktop Infrastructure).
Application Virtualization: This lets you use an application on your local device
while it’s actually hosted on a remote server. Your personal data and the app’s
settings are stored on the server, but you can still run it locally via the internet.
It’s useful if you need to work with multiple versions of the same software.
Common examples include hosted or packaged apps. Runs applications in a
virtual environment instead of directly on an OS.
Example: Windows App-V, Citrix XenApp.
Data Virtualization: This brings data from different sources together in one
place without needing to know where or how it’s stored. It creates a unified view
of the data, which can be accessed remotely via cloud services. Companies like
Oracle and IBM offer solutions for this.

History and Evolution of Virtualization

Time
Milestone
Period
IBM introduced the first virtualization concept with IBM CP-40 and CP-67. It
1960s
allowed multiple OS to run on a mainframe.
1970s -
Virtualization was mainly used in large enterprises and research labs.
1980s
1990s VMware introduced virtualization on x86 architecture (Intel-based systems).
2000s Virtualization became popular in businesses for server consolidation.
2010s– Virtualization is the backbone of Cloud Computing and is widely used in data
Now centers, desktop computing, and mobile platforms.

Importance of Virtualization in Cloud Computing

Virtualization plays a core role in building and managing cloud environments.

Key Benefits:

1. Resource Optimization:
o It allows multiple virtual servers to run on a single physical server.
o Better use of hardware resources like CPU, memory, and storage.
2. Cost Reduction:
o Reduces the need for physical hardware.
o Saves on power, cooling, and maintenance.
3. Scalability:
o Easy to create, clone, or remove virtual machines based on
demand.
4. Isolation:
o Each VM works independently; if one crashes, others are not
affected.
5. Flexibility & Portability:
o VMs can be moved from one server to another easily.
o Helps in backup, disaster recovery, and system migration.
6. Foundation of Cloud:
o Public, private, and hybrid clouds all use virtualization to provide
services like IaaS (Infrastructure as a Service).

Need for Virtualization in Cloud

Why Virtualization is Essential in Cloud


Cloud computing provides on-demand resources like storage, CPU, memory,
etc., to users over the internet. To make this possible efficiently and affordably,
virtualization is necessary.
Key Reasons:
Efficient Resource Sharing:
Virtualization allows multiple users or applications to share the same physical
hardware.
Isolation:
Each user or application runs in a separate virtual machine (VM), which increases
security and stability.
Scalability and Flexibility:
Cloud providers can quickly create or destroy VMs based on user demand.
Cost-Effective:
Reduces the need for buying more physical hardware.
Disaster Recovery & Backup:
VMs can be easily backed up, restored, or migrated across servers.
Automation:
Virtual machines can be deployed automatically using scripts or tools,
supporting DevOps and CI/CD pipelines.
Role of Virtualization in Resource Optimization
Virtualization helps cloud providers and businesses to maximize the use of
physical hardware and minimize wastage.

How it Optimizes Resources:

Physical Environment Virtualized Environment

One OS per server Multiple VMs on one server

Idle resources Shared resources among VMs

High cost & underuse Better utilization, lower cost

Key Techniques:
CPU Virtualization: Divide CPU cores among virtual machines.
Memory Virtualization: Share and dynamically allocate RAM to VMs.
Storage Virtualization: Pool physical disks and allocate storage as needed.
Network Virtualization: Create virtual networks (VLANs) within the same
physical hardware.

3. Real-World Cloud Scenarios Using Virtualization


Example 1: Amazon Web Services (AWS)
AWS uses virtualization (Xen and Nitro Hypervisor) to run EC2 instances (virtual
servers).
Users can launch any OS (Linux, Windows) without worrying about hardware.
Example 2: Microsoft Azure
Azure uses Hyper-V to create virtual machines and virtual networks.
Virtualization helps offer services like VM scale sets and containers.
Example 3: Google Cloud Platform (GCP)
GCP runs Compute Engine using KVM-based virtualization for secure and
isolated VMs.

Example 4: Virtual Desktop Infrastructure (VDI)


Businesses use virtualization to run employee desktops on virtual machines
hosted in the cloud.
Increases security, control, and remote access.

Pros of Virtualization
1. Efficient Resource Utilization
Physical servers are often underutilized.
Virtualization allows multiple virtual machines (VMs) to run on a single physical
machine.
This maximizes the use of CPU, memory, and storage resources.

2. Cost-Effectiveness
Reduces the need for purchasing multiple physical servers.
Saves on hardware cost, electricity, cooling, and space.
Ideal for small businesses and startups.

3. Scalability
Easily add or remove virtual machines based on workload.
Helps manage dynamic resource demands efficiently.
4. Flexibility
VMs can run different operating systems (Windows, Linux) on the same host.
Easy to clone, snapshot, or move VMs to other machines or locations.

5. Isolation
Each VM runs independently.
If one VM fails or gets attacked, others remain safe.

6. Security and Easy Testing


Safe environment for testing software or updates without affecting the main
system.
Ideal for development, testing, and training purposes.

Cons of Virtualization

1. Performance Overhead
VMs don’t perform exactly like real hardware.
Some CPU and memory is used by the hypervisor, reducing overall performance.

2. Complexity
Setting up and managing virtual environments requires skilled IT staff.
Backup, storage management, and networking need careful planning.
3. Security Risks
If not configured properly, one compromised VM can become a security threat.
Hypervisor attacks (e.g., escape attacks) can affect all VMs.

4. Licensing and Cost Concerns


Some hypervisors (like VMware) have licensing fees.
Managing large virtual environments may require paid tools and enterprise
solutions.

Comparison Between System-Level and Process-Level Virtual Machines


Aspect System-Level Virtual Machine Process-Level Virtual Machine

Emulates a complete physical computer, Provides a platform to run a single


Definition
including hardware and OS. application or process.

To run multiple operating systems on a To execute a specific program


Purpose
single physical machine. independently from OS.

Allows full OS installation inside VM (e.g., Runs on host OS, does not need a
OS Support
Windows/Linux). separate OS.

High — as it needs resources to run full OS Low — only runs a single process,
Resource Usage
and apps. so less resource usage.

Full isolation from host and other VMs Limited isolation — only isolates
Isolation
(secure and separate). the process, not the OS.

JVM (Java Virtual Machine), .NET


Examples VMware, VirtualBox, Hyper-V, KVM, Xen
CLR, Python Interpreter

Used in cloud infrastructure, server Used to run language-specific


Use Case
virtualization, testing OS. programs across platforms.

Slightly slower due to full system Faster for single app execution,
Performance
emulation. lightweight.

Management More complex to manage due to full OS


Easier to manage and maintain.
Complexity handling.
Architecture

A System Virtual Machine provides a complete system platform that supports


the execution of a full operating system (OS). It simulates a physical computer.

Architecture:

markdown
CopyEdit
Hardware

Hypervisor (Virtual Machine Monitor)

Multiple System VMs
Each VM has:
- Virtual CPU
- Virtual Memory
- Virtual Storage
- Virtual Network Interface
- Guest OS
- Applications

Hypervisor Types:

 Type 1 (Bare-metal): Runs directly on hardware (e.g., VMware ESXi,


Hyper-V)
 Type 2 (Hosted): Runs on host OS (e.g., VirtualBox, VMware Workstation)

Examples:

 VMware ESXi
 Oracle VirtualBox
 Microsoft Hyper-V
 KVM (Kernel-based Virtual Machine)
 Xen

Use Cases:

 Running multiple OS on a single machine


 Server consolidation in data centers
 OS testing and development
 Disaster recovery environments
 Cloud Infrastructure (e.g., AWS EC2)
System VM vs Physical Systems

Feature System Virtual Machine Physical System

Hardware
Indirect (through hypervisor) Direct
Access

OS Installation Multiple OS in VMs Only one OS

High (VMs can be moved


Portability Low
easily)

Cost-effective (shared Expensive (multiple servers


Cost
hardware) needed)

Isolation Strong (each VM isolated) Depends on system security

Process Virtual Machines (Process VM)

Concept and Working

A Process Virtual Machine is designed to run a single program or application,


providing a platform-independent execution environment.

How it Works:

 Application code is compiled into intermediate code (bytecode).


 The Process VM (like JVM) interprets or compiles this code into native
machine code during execution.
Examples

Process VM Platform

JVM (Java Virtual Machine) Runs Java bytecode across OSs

.NET CLR (Common Language Runtime) Runs .NET applications

Python Interpreter Executes Python code

Ruby VM (YARV) Executes Ruby programs

Advantages:

 Platform independence (write once, run anywhere)


 Easier debugging and development
 Safer execution (sandboxing)
 Automatic memory management (Garbage Collection)

Limitations:

 Slower than native code execution


 Limited to specific programming languages
 Less control over hardware
 Not suitable for full OS virtualization

Virtual Machine Monitor (VMM)

What is VMM / Hypervisor?

 Virtual Machine Monitor (VMM) or Hypervisor is a software layer that


enables virtualization.
 It sits between the hardware and virtual machines (VMs).
 Responsible for creating, running, and managing VMs.
Functions of VMM

 Resource Allocation: Distributes CPU, memory, storage to VMs.


 Isolation: Ensures VMs do not interfere with each other.
 Monitoring: Tracks VM usage, performance, and status.
 Security: Prevents unauthorized access and VM attacks.
 Migration: Enables moving VMs between hosts (live migration).
 Hardware Abstraction: Provides a standard interface for VMs.

Virtual Machine Properties

Encapsulation

 A VM is stored as a single file or set of files.


 Easy to copy, move, backup, or restore a VM.
 Useful for disaster recovery and testing environments.

Isolation

 Each VM operates independently.


 Fault or crash in one VM doesn’t affect others.
 Improves security and system stability.

Portability

 VMs can run on different hardware or hypervisors.


 Helps in migration and load balancing across data centers.

Performance

 Virtualization introduces some overhead.


 Modern VMMs use hardware-assisted virtualization to improve
performance.
 Balance between isolation and speed is critical.
Manageability

 VMs can be easily started, stopped, cloned, or migrated.


 Integration with cloud platforms (e.g., AWS, Azure) improves automation.

Security Aspects

 VMs are isolated environments, reducing attack spread.


 Hypervisors manage access control and firewalling between VMs.
 Snapshot and rollback features help recover from malware attacks.

Interpretation and Binary Translation

Interpretation vs Binary Translation

Feature Interpretation Binary Translation

Execution Line-by-line execution of Converts code blocks to native


Style code machine code

Speed Slower Faster than interpretation

Complexity Simple to implement More complex

Techniques in Virtualization

 Dynamic Binary Translation (DBT): Converts guest OS instructions at


runtime.
 Paravirtualization: Guest OS modified to work efficiently with VMM.
 Hardware-assisted Virtualization: Uses CPU features (Intel VT-x, AMD-V).

Impact on Performance

 Interpretation is easier but slower.


 Binary Translation offers better speed, especially with DBT.
 Hardware support further boosts virtualization efficiency.
High-Level Language Virtual Machines (HLL VM)

 An HLL VM runs programs written in high-level programming languages.


 Provides an abstract platform between source code and machine.

Examples

HLL VM Language Supported

JVM Java

.NET CLR C#, VB.NET

Python Interpreter Python

Role in Cross-Platform Execution

 Programs compiled into intermediate code (e.g., bytecode).


 This code runs on any platform that supports the HLL VM.
 Ensures platform independence.

Benefits in Cloud-Based Applications

 Easy deployment across platforms (Windows, Linux, etc.).


 Enables microservices, containerization, and serverless computing.
 Enhances portability and flexibility in cloud environments.
Supervisors in Virtualization

What Are Supervisors?

 A Supervisor in virtualization refers to the lowest-level software


component that controls and manages the execution environment of
virtual machines.
 It is another term often used for Hypervisor or Virtual Machine Monitor
(VMM), especially in older or low-level system contexts.
 Supervisors operate in kernel mode with privileged access to hardware
resources.

Role of Supervisors in Managing Virtual Machines

 VM Creation & Deletion: Allocate resources to new VMs or remove


unused ones.
 Resource Allocation: Distribute CPU, memory, storage, and network
among VMs.
 Isolation: Ensure VMs do not interfere with each other’s operations.
 Monitoring & Control: Track VM performance, errors, and status.
 Security Enforcement: Protect VMs from unauthorized access or
malicious code.
 Fault Tolerance: Recover or restart crashed VMs to maintain uptime.

Example Architectures Using Supervisors

Architecture Supervisor Role

Xen Hypervisor acts as the supervisor, managing guest OSes


Xen
through Dom0.

KVM The Linux kernel becomes the supervisor through KVM modules.

VMware
Bare-metal hypervisor with built-in supervisor to manage VMs.
ESXi
Popular Virtualization Platforms –

1. Xen – Open-Source Hypervisor

 Type: Bare-metal (Type 1)


 Architecture:
o Uses Dom0 (privileged domain) for managing other VMs (DomU).
 Advantages:
o Lightweight, fast boot time, good performance.
o Supports paravirtualization and hardware virtualization.
 Use Cases:
o Amazon Web Services (AWS)
o Citrix XenServer

2. KVM – Kernel-based Virtual Machine

 Type: Hosted (Type 2, but integrated in Linux)


 Architecture:
o Built into Linux kernel as a module.
o Uses QEMU for device emulation.
 Advantages:
o Directly uses Linux security features (SELinux, cgroups).
o Good for integrating with open-source tools like OpenStack.
 Use Cases:
o Enterprise Linux distributions (RHEL, Ubuntu)
o Public and private clouds
Popular Virtualization Platforms –

🔹 1. VMware

 Type: Offers both Type 1 (ESXi) and Type 2 (Workstation)


 Features:
o Advanced VM management
o High availability, fault tolerance, and vMotion
 Use Cases:
o Data centers
o Cloud infrastructure (VMware Cloud)

🔹 2. Oracle VirtualBox

 Type: Type 2 Hypervisor


 Features:
o Cross-platform (Windows/Linux/Mac)
o Easy to use GUI for students and developers
 Use Cases:
o Personal use, testing labs, learning environments

🔹 3. Microsoft Hyper-V

 Type: Type 1 (Bare-metal for Windows Server) and Type 2 (Windows 10+)
 Features:
o Integrated with Windows OS
o Good for Windows-based enterprise environments
 Use Cases:
o Windows server virtualization
o Azure cloud support
🔹 Performance Comparison

Feature VMware VirtualBox Hyper-V

Speed Very High Moderate High

GUI User-Friendliness Moderate High Moderate

Cloud Integration Yes (vSphere) No Yes (Azure)

Cost Paid (ESXi) Free Free (with Windows)

You might also like