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

Cloud Application Development

Virtualization is a technology that allows multiple operating systems and applications to run on a single physical machine, enhancing resource efficiency and flexibility. It plays a crucial role in cloud computing by enabling shared infrastructure and reducing costs for businesses. Various types of virtualization exist, including application, network, and server virtualization, each serving different operational needs and challenges.

Uploaded by

satyamshivam.in
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)
2 views

Cloud Application Development

Virtualization is a technology that allows multiple operating systems and applications to run on a single physical machine, enhancing resource efficiency and flexibility. It plays a crucial role in cloud computing by enabling shared infrastructure and reducing costs for businesses. Various types of virtualization exist, including application, network, and server virtualization, each serving different operational needs and challenges.

Uploaded by

satyamshivam.in
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/ 54

Cloud Application

Development
(UNIT-2:VIRTUALIZATION)
1
What is Virtualization?

• Virtualization is a technology that enables the creation of virtual environments from


a single physical machine, allowing for more efficient use of resources by distributing
them across computing environments.
• Virtualization is used to create a virtual version of an underlying service. With the
help of Virtualization, multiple operating systems and applications can run on the
same machine and its same hardware at the same time, increasing the utilization
and flexibility of hardware. It was initially developed during the mainframe era.
• It is one of the main cost-effective, hardware-reducing, and energy-saving
techniques used by cloud providers.
• Virtualization allows sharing of a single physical instance of a resource or an
application among multiple customers and organizations at one time.
• It does this by assigning a logical name to physical storage and providing a pointer to
that physical resource on demand.
2
What is Virtualization?

3
What is virtualization?
• The term virtualization is often synonymous with hardware virtualization, which
plays a fundamental role in efficiently delivering Infrastructure-as-a-Service (IaaS)
solutions for cloud computing.
• Moreover, virtualization technologies provide a virtual environment for not only
executing applications but also for storage, memory, and networking
• Host Machine: The machine on which the virtual machine is going to be built is
known as Host Machine.
• Guest Machine: The virtual machine is referred to as a Guest Machine.
• A hypervisor is a thin virtual machine monitor (VMM) software layer. Before their
existence, most computers could only run one operating system (OS) at a time. With
a hypervisor, you can run multiple operating systems using one host machine. This
practice helps reduce the waste of computational resources. 

4
Working of Virtualization in Cloud Computing
• Virtualization has a prominent impact on Cloud Computing. In the case of cloud
computing, users store data in the cloud, but with the help of Virtualization, users
have the extra benefit of sharing the infrastructure.
• Virtualization enables companies to host applications, data storage, and services on
virtual platforms provided by cloud service providers like AWS, Microsoft Azure, or
Google Cloud.
• These services are managed by external (third-party) providers, so the company
does not have to set up or maintain physical servers or infrastructure in-house.
Example:
• Suppose a startup needs servers to run its application. Instead of buying servers and
hiring IT staff, it uses virtual servers on AWS. AWS takes care of the hardware,
security, and system updates. The startup pays only for the computing power and
storage it uses. This saves money and time — and this is made possible through
virtualization.
5
Benefits of Virtualization

• More flexible and efficient allocation of resources.


• Enhance development productivity.
• It lowers the cost of IT infrastructure.
• Remote access and rapid scalability.
• High availability and disaster recovery.
• Pay peruse of the IT infrastructure on demand.
• Enables running multiple operating systems.

6
Characteristics of Virtualization
• Increased Security: The ability to control the execution of a guest program in a
completely transparent manner opens new possibilities for delivering a secure,
controlled execution environment. All the operations of the guest programs
are generally performed against the virtual machine, which then translates
and applies them to the host programs.
• Managed Execution: In particular, sharing, aggregation, emulation, and
isolation are the most relevant features.
• Sharing: Virtualization allows the creation of a separate computing
environment within the same host.
• Aggregation: It is possible to share physical resources among several guests,
but virtualization also allows aggregation, which is the opposite process.

7
Drawback of Virtualization

• High Initial Investment: Clouds have a very high initial investment, but it is
also true that it will help in reducing the cost of companies.
• Learning New Infrastructure: As the companies shifted from Servers to Cloud,
it requires highly skilled staff who have skills to work with the cloud easily and
for this, you have to hire new staff or provide training to current staff.
• Risk of Data: Hosting data on third-party resources can lead to putting the
data at risk, it has the chance of getting attacked by any hacker or cracker very
easily.

8
What is hypervisor?
• Hypervisors separate a system's operating system (OS) and resources from the
physical machine. They organise these separated resources into files called virtual
machines (VMs). Then, they assign computing power, data, and storage to each one.
A hypervisor prohibits the files from interfering with one another, thereby
maintaining the system. 
• Hypervisor technology allows more use of a system's available resources. They save
space and maintenance by creating independent operating systems that share the
resources of a single machine.
• Virtual machines are files that recreate the computing environment of a physical
computer. A hypervisor is software that runs these files. Hypervisors allocate
hardware resources to virtual machines and ensure they remain independent from
one another, thereby maintaining the system. An excellent way to conceptualise the
relationship between the two is to imagine hypervisors as the platform virtual
machines must operate.

9
Types of hypervisors
Type 1 hypervisor
• A type 1 hypervisor is sometimes called a native hypervisor or a bare-metal
hypervisor. Its pseudonyms are derived from the method of installation.
Bare-metal hypervisors are installed and run directly on the physical hardware
of a computer.

• Pro: Programs and software typically go through an OS layer to reach


hardware resources like CPU and memory. Since a type 1 hypervisor has direct
access to the physical computer, it's fast, secure, and efficient.

• Con: Type 1 hypervisors may require a dedicated machine separate from the
host hardware. This secondary machine is needed to instruct the virtual
machines and control hardware resources.
10
Types of hypervisors
Type 2 hypervisor
• Type 2 hypervisors run like applications through the OS of the physical machine. This
type of hypervisor is also known as an embedded hypervisor or a hosted hypervisor.
Unlike type 1 hypervisors, hosted hypervisors don't have direct access to the
underlying hardware. They must go through the hardware's OS to interact with its
physical resources.

• Pro: Type 2 hypervisor setup is quicker and easier because operating systems are
more user-friendly.

• Con: Latency issues such as lagging are more common among type 2 hypervisors.
They also tend to need to be more secure. Both of these issues exist because hosted
hypervisors must access hardware resources indirectly through an OS. If the
hardware's OS is compromised, the OS of any virtual machines the hypervisor has
created will be compromised, too.

11
Types of Virtualization
• Application Virtualization
• Network Virtualization
• Desktop Virtualization
• Storage Virtualization
• Server Virtualization
• Data virtualization

12
Types of Virtualization

• 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.
• 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.
• 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.

13
Types of Virtualization

14
Types of Virtualization

• Storage Virtualization: This combines storage from different servers into a single system,
making it easier to manage. It ensures smooth performance and efficient operations even
when the underlying hardware changes or fails.
• 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.
• 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.

15
Types of Virtualization

16
Implementation Levels of Virtualization in Cloud Computing

• The implementation levels of virtualization in cloud computing involves several layers, each
addressing different aspects of resource abstraction. These layers include Instruction Set
Architecture (ISA), Hardware Abstraction Layer (HAL), Operating System Level, Library
Support Level, and User-Application Level. Understanding these layers is crucial for
designing and managing virtualised environments effectively.
• A traditional computer runs with a host operating system specially tailored for its hardware architecture, as
shown in Figure. After virtualization, different user applications managed by their own operating systems
(guest OS) can run on the same hardware, independent of the host OS. This is often done by adding
additional software, called a virtualization layer as shown in Figure.

17
Implementation Levels of Virtualization in Cloud Computing

18
Implementation Levels of Virtualization in
Cloud Computing

Virtualization can be implemented at


various operational levels, as given
below:
• Instruction set architecture (ISA)
level
• Hardware level
• Operating system level
• Library support level
• Application level

19
Implementation Levels of Virtualization in Cloud Computing

Instruction Set Architecture (ISA) Level


• ISA virtualization involves emulating the instruction set architecture, allowing legacy codes
written for different hardware configurations to run on virtual machines.
• The basic emulation method is through code interpretation. An interpreter program interprets the
source instructions to target instructions one by one. One source instruction may require tens or
hundreds of native target instructions to perform its function.
• Obviously, this process is relatively slow. For better performance, dynamic binary translation is
desired
• Key examples of ISA virtualization tools include Bochs, Crusoe, and QEMU. ISA virtualization
makes the virtual machine hardware-agnostic, providing flexibility in running applications across
different hardware platform

20
Implementation Levels of Virtualization in Cloud Computing
Hardware Abstraction Layer (HAL)
• The next level of virtualization in cloud computing is the Hardware Abstraction Layer (HAL)
enables virtualization at the hardware level by utilising a hypervisor.
• At this level, the virtual machine manages the hardware using the virtualization process.
• It allows the virtualization of each hardware component, such as the input-output device,
the memory, and the processor.
• Instructions are categorized into priviledged and non- priviledged
• In the cloud-based infrastructure, we use HAL. Here multiple users cannot use the same
hardware simultaneously.
• Examples of HAL virtualization tools include VMware, Denali, and XEN.

21
Implementation Levels of Virtualization in Cloud Computing
Operating System Level
• At the Operating System Level, the virtualization model creates an abstraction layer
between the operating system and the application.
• This layer acts as an isolated container on the operating system and the physical server.

• This is commonly useful when there are multiple users, and no one wants to share
hardware.
• Each user gets their virtual environment using a dedicated virtual hardware resource,
eliminating conflicts.
• Requires same family OS
• Examples of this level are Jail, Virtual environment, and FVM.

22
Implementation Levels of Virtualization in Cloud Computing
Library Support Level
• Library virtualization is applicable when operating system-level virtualization is
cumbersome, as applications use APIs from libraries at a user level.
• These APIs are well-documented, making library virtualization suitable for scenarios where
applications need to communicate with the system.

• API hooks control the communication link from the application to the system.
• Examples of this level are Wine and Wabi.

23
Implementation Levels of Virtualization in Cloud Computing
User-Application Level
• Application-level virtualization is used when only one application needs to be virtualised. In
this case, there is no need to virtualise the entire environment of the platform.
• This approach is generally used when running virtual machines that use high-level
languages.

• The application sits above the virtualization layer, which in turn sits on the application
program.
• It lets the high-level language programs compiled be used at the application level of the
virtual machine to run seamlessly.
• Examples of this level are JVM and .NET.

24
Implementation Levels of Virtualization in Cloud Computing
Challenges
• When it comes to implementation of the layers of virtualization, then it involves varying
degrees of complexity depending on the layer.
• Generally, hardware and OS support produce the highest performance. However, hardware
and user-application levels are the costliest to implement.

• Achieving user isolation is the most challenging aspect of virtualization implementation.


• The choice of virtualization layer depends on the specific requirements of the organisation,
balancing performance, cost, and isolation needs.

25
Virtualization Structures/Tools and Mechanisms

• Before virtualization, the operating system manages the hardware. After virtualization, a
virtualization layer is inserted between the hardware and the OS. In such a case, the
virtualization layer is responsible for converting portions of the real hardware into virtual
hardware. Therefore, different operating systems such as Linux and Windows can run on
the same physical machine, simultaneously.
• Depending on the position of the virtualization layer, there are several classes of VM
architectures, namely
• Hypervisor architecture,
• Paravirtualization
• host-based virtualization.

26
Virtualization Structures/Tools and Mechanisms
Hypervisor and Xen Architecture
• Depending on the functionality, a hypervisor can assume a micro-kernel architecture
(Microsoft Hyper-V) or a monolithic hypervisor architecture (VMware ESX for server
virtualization). A micro-kernel hypervisor (includes only the basic and unchanging
functions (such as physical memory management and processor scheduling). The device
drivers and other changeable components are outside the hypervisor.
• A monolithic hypervisor implements all the aforementioned functions, including those of
the device drivers. Therefore, the size of the hypervisor code of a micro-kernel hypervisor
is smaller than that of a monolithic hypervisor.
• A microkernel architecture is an operating system pattern where only basic functionality
is provided in the core of the software system.

27
Virtualization Structures/Tools and Mechanisms
Xen Architecture
• Xen is an open source hypervisor program developed by Cambridge University. Xen is a
microkernel hypervisor, which separates the policy from the mechanism.
• It implements all the mechanisms, leaving the policy to be handled by Domain 0, as shown
in Figure. Xen does not include any device drivers natively.
• It just provides a mechanism by which a guest OS can have direct access to the physical
devices.
• Like other virtualization systems, many guest OSes can run on top of the hypervisor. The
guest OS (privileged guest OS), which has control ability, is called Domain 0, and the others
are called Domain U.
• It is first loaded when Xen boots without any file system drivers being available.
• Domain 0 is designed to access hardware directly and manage devices.

28
Virtualization Structures/Tools and Mechanisms

29
Virtualization Structures/Tools and Mechanisms
Xen Architecture
Binary Translation with Full Virtualization
• Depending on implementation technologies, hardware virtualization can be classified into two categories: full virtualization
and host-based virtualization.
1. Full Virtualization
• With full virtualization, noncritical instructions run on the hardware directly while critical instructions are discovered and
replaced with traps into the VMM to be emulated by software. Both the hypervisor and VMM approaches are considered
full virtualization.
• Noncritical instructions do not control hardware or threaten the security of the system, but critical instructions do.
Therefore, running noncritical instructions on hardware not only can promote efficiency, but also can ensure system
security.
2. Host-Based Virtualization
• An alternative VM architecture is to install a virtualization layer on top of the host OS. This host OS is still responsible for
managing the hardware. The guest OSes are installed and run on top of the virtualization layer. Dedicated applications may
run on the VMs. Certainly, some other applications can also run with the host OS directly.
• This host -based architecture has some distinct advantages, as enumerated next. First, the user can install this VM
architecture without modifying the host OS. Second, the host-based approach appeals to many host machine configurations.
30
Virtualization Structures/Tools and Mechanisms
Host-Based Virtualization

31
Virtualization Structures/Tools and Mechanisms
Para-Virtualization
• It needs to modify the guest operating systems. A para-virtualized VM provides special APIs requiring substantial OS
modifications in user applications. Performance degradation is a critical issue of a virtualized system. Figure illustrates the
concept of a para-virtualized VM architecture.
• The guest OS are para-virtualized. They are assisted by an intelligent compiler to replace the non virtualizable OS
instructions by hypercalls. The traditional x86 processor offers four instruction execution rings: Rings 0, 1, 2, and 3.
• The lower the ring number, the higher the privilege of instruction being executed. The OS is responsible for managing the
hardware and the privileged instructions to execute at Ring 0, while user-level applications run at Ring 3.
• Although para-virtualization reduces the overhead, it has incurred problems like compatibility and portability, because it
must support the unmodified OS as well. Second, the cost is high, because they may require deep OS kernel modifications.
Finally, the performance advantage of para-virtualization varies greatly due to workload variations.

32
Virtualization Structures/Tools and Mechanisms
Para-Virtualization

33
Virtualization of CPU, Memory, And I/O Devices
• To support virtualization, processors such as the x86 employ a special running mode and instructions, known as
hardware-assisted virtualization. In this way, the VMM and guest OS run in different modes and all sensitive instructions of
the guest OS and its applications are trapped in the VMM. To save processor states, mode switching is completed by
hardware.
Hardware Support for Virtualization
• Modern operating systems and processors permit multiple processes to run simultaneously. If there is no protection
mechanism in a processor, all instructions from different processes will access the hardware directly and cause a system
crash. Therefore, all processors have at least two modes, user mode and supervisor mode, to ensure controlled access of
critical hardware.
• Instructions running in supervisor mode are called privileged instructions. Other instructions are unprivileged instructions.
In a virtualized environment, it is more difficult to make OSes and applications run correctly because there are more layers
in the machine stack.

34
Virtualization of CPU, Memory, And I/O Devices
CPU Virtualization
• Unprivileged instructions of VMs run directly on the host machine for higher efficiency. Other critical instructions should
be handled carefully for correctness and stability. The critical instructions are divided into three categories: privileged
instructions, controls sensitive instructions, and behavior-sensitive instructions.
• Privileged instructions execute in a privileged mode and will be trapped if executed outside this mode. Control-sensitive
instructions attempt to change the configuration of resources used.
• Behavior-sensitive instructions have different behaviors depending on the configuration of resources, including the load and
store operations over the virtual memory.
• A CPU architecture is virtualizable if it supports the ability to run the VM’s privileged and unprivileged instructions in the
CPU’s user mode while the VMM runs in supervisor mode.
• When the privileged instructions including control- and behavior-sensitive instructions of a VM are executed, they are
trapped in the VMM. RISC CPU architectures can be naturally virtualized because all control- and behavior-sensitive
instructions are privileged instructions. On the contrary, x86 CPU architectures are not primarily designed to support
virtualization.

35
Virtualization of CPU, Memory, And I/O Devices
Hardware-Assisted CPU Virtualization
• This technique attempts to simplify virtualization because full or paravirtualization is complicated. Intel and AMD add an
additional mode called privilege mode level (some people call it Ring-1) to x86 processors. Therefore, operating systems
can still run at Ring 0 and the hypervisor can run at Ring -1.
• All the privileged and sensitive instructions are trapped in the hypervisor automatically. This technique removes the
difficulty of implementing binary translation of full virtualization. It also lets the operating system run in VMs without
modification.

36
Virtualization of CPU, Memory, And I/O Devices
Memory Virtualization
• Virtual memory virtualization is similar to the virtual memory support provided by modern operating systems. In a
traditional environment, the OS maintains page table for mappings of virtual memory to machine memory, which is a
one-stage mapping. All modern x86
• CPUs include a memory management unit (MMU) and a translation lookaside buffer (TLB) to optimize virtual memory
performance. However, in a virtual execution environment, virtual memory virtualization involves sharing the physical
system memory in RAM and dynamically allocating it to the physical memory of the VMs.
• A two-stage mapping process should be maintained by the guest OS and the VMM, respectively: virtual memory to
physical memory and physical memory to machine memory.
• The VMM is responsible for mapping the guest physical memory to the actual machine memory in guest OS. Since each
page table of the guest OSes has a separate page table in the VMM corresponding to it, the VMM page table is called the
shadow page table.
• VMware uses shadow page tables to perform virtual-memory-to-machine-memory address translation. Processors use TLB
hardware to map the virtual memory directly to the machine memory to avoid the two levels of translation on every access.
• When the guest OS changes the virtual memory to a physical memory mapping, the VMM updates the shadow page tables
to enable a direct lookup.

37
Virtualization of CPU, Memory, And I/O Devices
Memory Virtualization

38
Virtualization of CPU, Memory, And I/O Devices
I/O virtualization
• It involves managing the routing of I/O requests between virtual devices and the shared physical hardware. There are three
ways to implement I/O virtualization:
1. Full device emulation
2. Para-virtualization
3. Direct I/O.
1.Full device emulation
• All the functions of a device like device enumeration, identification, interrupts, and DMA, are
• replicated in software and it is located in the VMM and acts as a virtual device. The I/O access
• requests of the guest OS are trapped in the VMM which interacts with the I/O devices.

39
Virtualization of CPU, Memory, And I/O Devices
2. Para-virtualization
• It is a split driver model consisting of a frontend driver and a backend driver. The frontend driver is running in Domain U
and the backend driver is running in Domain 0. They interact with each other via a block of shared memory.
• The frontend driver manages the I/O requests of the guest OSes and the backend driver is responsible for managing the real
I/O devices and multiplexing the I/O data of different VMs.
• Although para-I/O-virtualization achieves better device performance than full device emulation, it comes with a higher
CPU overhead.
3. Direct I/O virtualization
• It lets the VM access devices directly. It can achieve close-to-native performance without high CPU costs. However, current
direct I/O virtualization implementations focus on networking for mainframes.
• Another way to help I/O virtualization is via self-virtualized I/O (SV-IO). The key idea is to harness the rich resources of a
multicore processor. All tasks associated with virtualizing an I/O device are encapsulated in SV-IO. SV-IO defines one
virtual interface (VIF) for every kind of virtualized I/O device, such as virtual network interfaces, virtual block devices
(disk), virtual camera devices, and others.
• The guest OS interacts with the VIFs via VIF device drivers. Each VIF consists of two message queues. One is for outgoing
messages to the devices and the other is for incoming messages from the devices. In addition, each VIF has a unique ID for
identifying it in SV-IO.
40
Virtualization of CPU, Memory, And I/O Devices
Virtualization in Multi-Core Processors
• Multicore processors are claimed to have higher performance by integrating multiple processor cores in a single chip,
muti-core virtualization has raised some new challenges to computer architects, compiler constructors, system designers,
and application programmers.
• Application programs must be parallelized to use all cores fully, and software must explicitly assign tasks to the cores,
which is a very complex problem. Concerning the first challenge, new programming models, languages, and libraries are
needed to make parallel programming easier.
• The second challenge has spawned research involving scheduling algorithms and resource management policies

41
Virtualization of CPU, Memory, And I/O Devices
Virtual Hierarchy
• A virtual hierarchy is a cache hierarchy that can adapt to fit the workload or mix of workloads. The hierarchy’s first level
locates data blocks close to the cores needing them for faster access, establishes a shared-cache domain, and establishes a
point of coherence for faster communication.
• The first level can also provide isolation between independent workloads. A miss at the L1 cache can invoke the L2 access.
• The following figure illustrates a logical view of such a virtual cluster hierarchy in two levels. Each VM operates in a
isolated fashion at the first level which minimize both miss access time and performance interference with other workloads
or VMs.
• The second level maintains a globally shared memory facilitates dynamically repartitioning resources without costly cache
flushes.

42
Resource Sharing and Resource Pooling
Resource Sharing
• Resource sharing refers to the ability of cloud providers to allocate computing resources (such as
CPU, memory, storage, and network) among multiple users or tenants. This allows multiple clients
to access the same physical infrastructure while maintaining isolation and security.
Key Characteristics:
• Multi-tenancy: Multiple users share the same physical resources, but their data and applications
remain logically separated.
• Dynamic Allocation: Resources are allocated on-demand based on user requirements.
• Cost Efficiency: Users pay only for the resources they consume, reducing capital expenditure.
Examples:
• A public cloud provider (like AWS or Azure) shares server resources among different customers.
• Virtual machines (VMs) running on the same physical host but assigned to different users.

43
Resource Sharing and Resource Pooling Cont.
Resource Pooling
• Resource pooling is the aggregation of computing resources (servers, storage, networking) into a
shared pool that can be dynamically assigned and reassigned to users as needed. This allows cloud
providers to optimize resource utilization and scalability.
Key Characteristics:
• Abstraction: Users don’t need to know the exact physical location of resources.
• Elasticity: Resources can be scaled up or down based on demand.
• High Availability: Redundant resources ensure reliability and fault tolerance.
Types of Resource Pools:
• Compute Pool: Collection of CPUs/GPUs for processing.
• Storage Pool: Aggregated disk space (e.g., SAN, NAS).
• Network Pool: Shared bandwidth and virtual networks.
• Memory Pool: Shared RAM for virtualized environments.
44
Resource Sharing and Resource Pooling Cont.
Examples of Resource Pooling
• A cloud provider maintains a large pool of servers that can be allocated to
different VMs or containers.
• Storage pools in cloud platforms allow users to dynamically expand disk space
without manual intervention.

45
Comparison: Resource Sharing vs. Resource Pooling

Feature Resource Sharing Resource Pooling


Multiple users access the same Resources are aggregated into a shared
Definition
physical resources. pool for dynamic allocation.
Enables multi-tenancy and cost
Focus Optimizes utilization and scalability.
efficiency.

Granularity User-level allocation. Infrastructure-level aggregation.

Example Multiple VMs on a single server. A cluster of servers forming a compute pool.

Benefit Efficient use across users Scalability and flexibility

Technology
Virtualization Multi-tenancy and abstraction
used

46
Desktop Virtualization
Definition
Desktop virtualization is a technology that separates a user's desktop environment
(operating system, applications, and data) from the physical device and hosts it in a
centralized cloud or data center. Users can access their virtual desktops remotely from any
device, such as a laptop, tablet, or thin client, over a network connection.
How Desktop Virtualization Works
• Hosted on a Central Server: The desktop OS and applications run on virtual machines
(VMs) or containers in a cloud data center.
• Remote Access: Users connect to their virtual desktops via different protocols.
• Device Independence: Since processing happens on the server, end-user devices only
need to display the desktop and send input commands.

47
Desktop Virtualization Cont.
Types of Desktop Virtualization
1. Virtual Desktop Infrastructure (VDI)
• Each user gets a dedicated virtual machine (VM) running a full desktop OS (Windows/Linux).
• Can be persistent (customized and saved) or non-persistent (resets after logout).
• Example: VMware Horizon, Citrix Virtual Apps and Desktops.
2. Desktop-as-a-Service (DaaS)
• Cloud-hosted VDI, managed by a third-party provider (e.g., AWS WorkSpaces, Microsoft Azure Virtual
Desktop).
• Pay-as-you-go model, reducing on-premises infrastructure costs.
3. Remote Desktop Services (RDS)
• Multiple users share a single server OS (Windows Server) with separate sessions.
• More cost-effective than VDI but less personalized.
• Example: Microsoft Remote Desktop Services.
4. Application Virtualization
• Only specific applications are virtualized and delivered to users (not the full desktop).
• Example: Microsoft App-V, Citrix XenApp. 48
Desktop Virtualization Cont.
Use Case scenarios of Desktop Virtualization
• Remote Work: Employees can securely access corporate desktops from home.

• BYOD (Bring Your Own Device): Personal devices can run virtual work desktops without
mixing data.

• Call Centers & Healthcare: Secure, standardized desktops for multiple users.

• Education & Training: Students access lab desktops remotely.

49
Desktop Virtualization Cont.
• Benefits of Desktop Virtualization
✔ Centralized Management: IT admins can deploy, update, and patch desktops from a single
location.
✔ Security: Data stays in the data center, reducing risks from lost or stolen devices.
✔ Cost Savings: Lower hardware requirements (thin clients can replace high-end PCs).
✔ Flexibility & Mobility: Access desktops from anywhere, on any device.
✔ Disaster Recovery: Easy backup and restoration of virtual desktops.

• Challenges of Desktop Virtualization


❌ Network Dependency: Requires stable, high-speed internet.
❌ Latency Issues: Performance may degrade if the server is far from the user.
❌ Initial Setup Cost: Requires investment in cloud or on-premises infrastructure.
50
Server Virtualization
Definition
Server virtualization is a technology that divides a single physical server into
multiple isolated virtual servers (VMs - Virtual Machines) using a software
layer called a hypervisor. Each VM runs its own operating system (OS) and
applications independently, as if it were a separate physical machine.
Working of Server Virtualization
• A hypervisor (or Virtual Machine Monitor - VMM) is installed on the physical
server.
• The hypervisor partitions the server’s resources (CPU, RAM, storage,
network) and allocates them to different VMs.
• Each VM operates with its own guest OS (Windows, Linux, etc.) and
applications, unaware of other VMs on the same host.
51
Server Virtualization Cont.
Use Cases of Server Virtualization in Cloud Computing
• Data Center Consolidation: Run multiple workloads on fewer physical servers.
• Cloud Hosting (IaaS): Providers like AWS, Azure, and Google Cloud use
virtualization to offer scalable VMs.
• Development & Testing: Developers can run multiple OS environments on a
single machine.
• Disaster Recovery: Quickly restore VMs from backups in case of failures.

52
Server Virtualization Cont.
Key Benefits of Server Virtualization
✔ Cost Savings:
• Reduces the need for multiple physical servers.
• Lowers hardware, power, and cooling costs.
✔ Efficient Resource Utilization:
• Maximizes CPU, memory, and storage usage by sharing resources among VMs.
✔ Isolation & Security:
• VMs are isolated; a crash in one VM does not affect others.
✔ Scalability & Flexibility:
• New VMs can be deployed quickly without buying new hardware.
• Resources can be dynamically allocated based on demand.
✔ Disaster Recovery & High Availability:
• VMs can be easily backed up, migrated, or restored.
• If a physical server fails, VMs can be moved to another host. 53
Server Virtualization Cont.
Challenges of Server Virtualization
❌ Performance Overhead: The hypervisor adds a slight performance penalty.
❌ Security Risks: If the hypervisor is compromised, all VMs may be affected.
❌ Complex Management: Requires tools like VMware vCenter or OpenStack for
large-scale deployments.

54

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy