Unit II -Server and Desktop Virtualization
Unit II -Server and Desktop Virtualization
A VM is a virtualized instance of a computer that can perform almost all of the same functions as a computer,
including running applications and operating systems.
Virtual machines run on a physical machine and access computing resources from software called a hypervisor. The
hypervisor abstracts the physical machine’s resources into a pool that can be provisioned and distributed as needed,
enabling multiple VMs to run on a single physical machine.
How multiple virtual machines work
Multiple VMs can be hosted on a single physical machine, often a server, and then managed using virtual
machine software. This provides flexibility for compute resources (compute, storage, network) to be distributed among
VMs as needed, increasing overall efficiency. This architecture provides the basic building blocks for the advanced
virtualized resources we use today, including cloud computing.
Types of Virtual Machines
1. System virtual machines
These kinds of VMs are completely virtualized to replace a real machine. The way they virtualize depends on
a hypervisor such as VMware ESXi, which can operate on an operating system or bare hardware.
The hardware resources of the host can be shared and managed by more than one virtual machine. This makes
it possible to create more than one environment on the host system. Even though these environments are on the same
physical host, they are kept separate. This lets several single-tasking operating systems share resources concurrently.
Different VMs on a single computer operating system can share memories by applying memory
overcommitment systems. This way, users can share memory pages with identical content among multiple virtual
machines on the same host, which is helpful, especially for read-only pages.
Advantages of system VMs are:
A System virtual machines have the capability, either via emulators or by using just-in-time compilation, of
providing a simulated hardware environment. This environment is distinct from the instruction set architecture of the
host (ISA).
The virtual machine software users choose comes packed with application provisioning that allows users to
create packages, high availability, maintenance, and disaster recovery. This makes the tools for virtual machines more
straightforward to use, making it possible for many operating systems to operate effectively on a single host.
The presence of a virtual partition allows for multiple OS environments to co-exist on the same primary drive.
This partition allows for sharing files generated from the host or the guest operating environment. Other processes,
such as software installations, wireless connections, and remote replications, such as printing, can be performed
efficiently in the host’s or guest’s environment.
It allows developers to perform tasks without changing operating systems. All the generated data is stored on
the host’s hard drive.
Disadvantages of system virtual machines are:
When virtual machines indirectly access the host’s hard drive, they become less efficient than actual machines.
Depending on the system, the performance of several virtual machines running on the same host can be different. The
speed of execution and the protection against malware can also vary, leading to unstable behaviour. Users can mitigate
this problem using virtual machine software that provides temporal isolation.
The guest operating system may not necessarily be compatible with the malware protections provided by the
host resources. Therefore, it may require additional separate software leading to increased costs.
Process virtual machines
These virtual machines are sometimes called application virtual machines or Managed Runtime Environments
(MREs). They run as standard applications inside the host’s operating system, supporting a single process. It is
triggered to launch when the process starts and destroyed when it exits. It offers a platform-independent programming
environment to the process, allowing it to execute similarly on any platform.
The Process virtual machines are implemented using interpreters and they provide high-level abstractions.
They are often used with Java programming language, which uses Java virtual machines to execute programs. There
can be two more examples of process VMs i.e., The Parrot virtual machine and the .NET Framework that runs on
the Common Language Runtime VM. Additionally, they operate as an abstraction layer for any computer language
being used.
A process virtual machine may, under some circumstances, take on the role of an abstraction layer between its
users and the underlying communication mechanisms of a computer cluster. In place of a single process, such a virtual
machine (VM) for a process consists of one method for each real computer that is part of the cluster.
A Special case process VMs enable programmers to concentrate on the algorithm instead of the communication
process provided by the virtual machine OS and the interconnect.
These VMs are based on an existing language, so they don’t come with a specific programming language.
Their systems provide bindings for several programming languages, such as Fortran and C. In contrast to other process
VMs, they can enter all OS services and aren’t limited by the system model. Therefore, it cannot be categorized strictly
as virtual machines.
Components of a Virtual Machine:
1. Virtual CPU: Emulates a physical CPU, allowing the VM to execute instructions.
2. Virtual Memory: Simulates physical RAM, providing the VM with its own
memory space.
3. Virtual Hard Drive: Stores the VM's data and configuration files.
4. Virtual Network Interface Card (NIC): Allows the VM to communicate with other devices on the
network.
Benefits of Using Virtual Machines:
1. Isolation and Security: Each VM operates in its own isolated environment, reducing the risk of malware
spreading between machines.
2. Resource Management: VMs can be easily allocated and reallocated
resources based on demand, optimizing hardware utilization.
3. Flexibility and Portability: VMs can be easily moved between different hardware platforms, providing
flexibility in deployment and management.
4. Cost-Efficiency: VMs can help reduce hardware costs by consolidating
multiple applications onto a single physical server.
5. Testing and Development: VMs provide a controlled environment for testing new software or
experimenting with different configurations without affecting the production environment.
1. Independent Restart
In Server Virtualization, each server can be restart independently and does not affect the working of other
virtual servers.
2. Low Cost
Server Virtualization can divide a single server into multiple virtual private servers, so it reduces the cost of
hardware components.
3. Disaster Recovery
Disaster Recovery is one of the best advantages of Server Virtualization. In Server Virtualization, data can
easily and quickly move from one server to another and these data can be stored and retrieved from anywhere.
Server virtualization allows us to deploy our resources in a simpler and faster way.
5. Security
It allows uses to store their sensitive data inside the data centres.
• Simplified Disaster Recovery: Virtual servers can be easily replicated and backed
up, making disaster recovery and business continuity planning more efficient.
3. Reduced Hardware Costs
• Fewer Physical Servers: By consolidating multiple servers onto a single
physical machine, organizations can reduce the overall number of servers
required, leading to significant hardware cost savings.
• Lower Maintenance Costs: Fewer physical servers also mean lower
maintenance costs, as there are fewer machines to manage, patch, and upgrade.
1. Centralized Server: A powerful server, often in a data center, hosts multiple virtual
desktops.
2. Client Devices: Users access these virtual desktops using various devices, such as
computers, laptops, tablets, or smartphones.
3. Network Connection: A network connection, typically the internet, links the client
devices to the centralized server.
4. Protocol: A protocol, like Remote Desktop Protocol (RDP) or Citrix Virtual Apps
and Desktops, facilitates communication between the client and server, enabling the
user to interact with the virtual desktop.
• TYPE 2 (HOSTED):
• RUNS ON TOP OF AN EXISTING OPERATING SYSTEM.
• EASIER TO SET UP, OFTEN USED ON PERSONAL COMPUTERS.
• EXAMPLES: VMWARE WORKSTATION, ORACLE VIRTUALBOX.
ADVANTAGES OF VMS
• RESOURCE EFFICIENCY – MULTIPLE VMS CAN RUN ON A SINGLE PHYSICAL
SERVER.
• ISOLATION – EACH VM OPERATES INDEPENDENTLY, REDUCING SECURITY RISKS.
• PORTABILITY – VMS CAN BE MOVED ACROSS DIFFERENT HARDWARE EASILY.
• TESTING & DEVELOPMENT – SAFE ENVIRONMENTS FOR TESTING SOFTWARE AND
OS WITHOUT AFFECTING THE HOST MACHINE.
• CLOUD COMPUTING: VMS ARE THE FOUNDATION OF MANY CLOUD SERVICES.
TYPES OF VIRTUAL MACHINES:
•This is what most people think of when they hear "virtual machine."
• Remote Access:
• You interact with this virtual desktop just like you would with a physical computer,
but all the heavy processing is done on the server. The VDI software (like VMware
Horizon or Citrix Virtual Apps and Desktops) enables this remote connection,
allowing you to work from anywhere with an internet connection.
Benefits of VDI:
• Cost Savings: VDI can reduce the need for powerful local computers.
Since the computing is done remotely, employees can use simpler,
less expensive devices (like thin clients).
• Security: Sensitive data is not stored on individual devices. It remains
in the data center, which is protected by firewalls and other security
measures.
• Remote Work: Employees can work from anywhere, using any device
that supports VDI software.
• Centralized Backup: Since everything is stored centrally, backups are
easier to manage and disaster recovery is more streamlined.
Real-World Example:
• A company like Citrix offers VDI solutions (like Citrix Virtual Apps and
Desktops) that many businesses use to host their virtual desktops.
Employees can log in from different locations (e.g., office, home, or
even a café) and use their virtual desktop to access work
applications, files, and tools, without needing a powerful laptop or
desktop computer.
RDS (Remote Desktop Services)
• RDS (Remote Desktop Services) is a Microsoft technology that allows
users to access a desktop environment or specific applications hosted
on a remote server. Unlike VDI (Virtual Desktop Infrastructure),
which provides each user with a full virtual desktop, RDS allows
multiple users to access a shared environment, typically a Windows
Server, where they can run applications or get a full desktop
experience.
• Remote Desktop Session Host (RDSH): This component allows
multiple users to connect to a shared server simultaneously and
access their individual desktop sessions and applications.
• Remote Desktop Virtualization Host (RDVH): RDVH enables the
delivery of virtual desktops, allowing users to connect to virtual
machines running on a server. It provides a virtualization platform for
hosting and managing virtual desktop infrastructure (VDI)
environments.
• Remote Desktop Gateway (RD Gateway): This component allows
users to securely connect to RDS over the internet. It provides secure
encrypted connections from external networks (such as home or
public Wi-Fi) to the internal RDS environment.
Remote Desktop Web Access (RD Web Access):
• This feature enables users to access their remote desktop or
RemoteApp applications via a web browser, without needing a
specific client app installed on their device.