Application Virtualization
Application Virtualization
Instead of running directly on the local operating system, virtualized applications operate in a
containerized environment that includes necessary files, configurations, and dependencies.
The application is streamed or executed from a central server, while users interact with it as if it
were locally installed. The virtualization software intercepts application requests and directs
them to a virtualized runtime environment.
• The application runs on a remote server, and users access it through a network.
Example:
• Microsoft Remote Desktop Services (RDS) – Users access apps hosted on a Windows
Server.
• Citrix Virtual Apps (formerly XenApp) – Provides seamless remote application access.
2️⃣ Streaming Application Virtualization
• The app behaves as if it's installed but is not permanently stored on the device.
Example:
• Applications run in a virtual container, isolated from the OS and other applications.
• Reduces compatibility issues and allows multiple versions of the same application to run.
Example:
Conclusion
--------------------------
| Virtualized Application |
--------------------------
| Virtualization Layer |
--------------------------
--------------------------
--------------------------
Operating System (OS) virtualization is a technology that enables multiple operating system
instances to run on a single physical machine. It creates isolated environments, known as
containers or virtual machines (VMs), where different OS instances can operate independently.
OS virtualization works by using a virtualization layer that sits between the hardware and the
virtualized operating systems. This layer abstracts system resources (CPU, memory, storage, and
network) and allocates them to different virtual environments.
o Each container runs independently, with its own libraries, dependencies, and
applications.
• A hypervisor is a software layer that enables the creation and management of multiple
OS instances on a single hardware system.
• Types of Hypervisors:
• Cgroups (Control Groups): Manage resource allocation (CPU, RAM, disk, network) for
containers.
Benefits of OS Virtualization
Faster Deployment:
Cross-Platform Compatibility:
• Microsoft Hyper-V
• Cloud providers like AWS, Google Cloud, and Microsoft Azure use OS virtualization to run
multiple virtual instances on shared infrastructure.
Enterprise IT Infrastructure:
Conclusion
Conclusion:
• Use Server Virtualization if you need to run multiple OS instances on a single machine
(e.g., Windows + Linux).
• Use OS Virtualization (Containers) if you need lightweight, fast, and scalable application
deployment.
Server Virtualization is a technology that allows multiple virtual servers (Virtual Machines or
VMs) to run on a single physical server. Each VM operates independently with its own operating
system (OS), applications, and resources, even though they share the same hardware.
This is achieved using a hypervisor, which creates and manages the virtual machines by
allocating CPU, memory, storage, and network resources.
Server Virtualization involves dividing a single physical server into multiple isolated virtual
environments. Each virtual server runs its own OS and applications without interfering with
others.
Key Components:
1️⃣ Physical Server (Host Machine) – The actual hardware where virtualization happens.
2️⃣ Hypervisor – The software layer that creates and manages virtual machines.
3️⃣ Virtual Machines (VMs) – Each VM runs its own OS and applications.
4️⃣ Guest OS – The operating system installed inside a VM.
Process:
• The hypervisor sits between the hardware and the OS, dividing resources efficiently.
• The physical server’s resources (CPU, RAM, storage, network) are distributed among the
VMs.
2️⃣ Para-Virtualization
• Similar to full virtualization but requires modified guest OS for better performance.
• Instead of creating full VMs, multiple containers run on the same OS kernel.
Conclusion
Server Virtualization
Server Virtualization is most important part of Cloud Computing. So, Talking about Cloud
Computing, it is composed of two words, cloud and computing. Cloud means Internet and
computing means to solve problems with help of computers. Computing is related to CPU &
RAM in digital world. Now Consider situation, You are using Mac OS on your machine but
particular application for your project can be operated only on Windows. You can either buy
new machine running windows or create virtual environment in which windows can be installed
and used. Second option is better because of less cost and easy implementation. This scenario is
called Virtualization. In it, virtual CPU, RAM, NIC and other resources are provided to OS which
it needed to run. This resources is virtually provided and controlled by an application called
Hypervisor. The new OS running on virtual hardware resources is collectively called Virtual
Machine (VM).
Now migrate this concept to data centers where lot of servers (machines with fast CPU, large
RAM and enormous storage) are available. Enterprise owning data centre provide resources
requested by customers as per their need. Data centers have all resources and on user request,
particular amount of CPU, RAM, NIC and storage with preferred OS is provided to users. This
concept of virtualization in which services are requested and provided over Internet is
called Server Virtualization.
• Each server in server virtualization can be restarted separately without affecting the
operation of other virtual servers.
• Server virtualization lowers the cost of hardware by dividing a single server into several
virtual private servers.
• The major drawback of server virtualization is that all websites that are hosted by the
server will cease to exist if the server goes offline.
Server Virtualization is the partitioning of a physical server into a number of small virtual
servers, each running its own operating system. These operating systems are known as guest
operating systems. These are running on another operating system known as the host operating
system. Each guest running in this manner is unaware of any other guests running on the same
host. Different virtualization techniques are employed to achieve this transparency.
A Hypervisor or VMM(virtual machine monitor) is a layer that exists between the operating
system and hardware. It provides the necessary services and features for the smooth running of
multiple operating systems.
It identifies traps, responds to privileged CPU instructions, and handles queuing, dispatching,
and returning the hardware requests. A host operating system also runs on top of the
hypervisor to administer and manage the virtual machines.
Example: Xen primarily uses Paravirtualization, where a customized Linux environment is used
to support the administrative environment known as domain 0.
Advantages:
• Easier
• Enhanced Performance
• No emulation overhead
Limitations:
It is very much similar to Paravirtualization. It can emulate the underlying hardware when
necessary. The hypervisor traps the machine operations used by the operating system to
perform I/O or modify the system status. After trapping, these operations are emulated in
software and the status codes are returned very much consistent with what the real hardware
would deliver. This is why an unmodified operating system is able to run on top of the
hypervisor.
Example: VMWare ESX server uses this method. A customized Linux version known as Service
Console is used as the administrative operating system. It is not as fast as Paravirtualization.
Advantages:
Limitations:
• Complex
4. Hardware-Assisted Virtualization –
Unmodified OS can be run as the hardware support for virtualization would be used to handle
hardware access requests, privileged and protected operations, and to communicate with the
virtual machine.
Examples: AMD – V Pacifica and Intel VT Vanderpool provide hardware support for
virtualization.
Advantages:
Limitations:
Instead of using a hypervisor, it runs a separate version of the Linux kernel and sees the
associated virtual machine as a user-space process on the physical host. This makes it easy to
run multiple virtual machines on a single host. A device driver is used for communication
between the main Linux kernel and the virtual machine.
Processor support is required for virtualization ( Intel VT or AMD – v). A slightly modified QEMU
process is used as the display and execution containers for the virtual machines. In many ways,
kernel-level virtualization is a specialized form of server virtualization.
Examples: User – Mode Linux( UML ) and Kernel Virtual Machine( KVM )
Advantages:
Limitations:
Runs multiple but logically distinct environments on a single instance of the operating system
kernel. Also called shared kernel approach as all virtual machines share a common kernel of
host operating system. Based on the change root concept “chroot”.
chroot starts during bootup. The kernel uses root filesystems to load drivers and perform other
early-stage system initialization tasks. It then switches to another root filesystem using chroot
command to mount an on-disk file system as its final root filesystem and continue system
initialization and configuration within that file system.
The chroot mechanism of system-level virtualization is an extension of this concept. It enables
the system to start virtual servers with their own set of processes that execute relative to their
own filesystem root directories.
The main difference between system-level and server virtualization is whether different
operating systems can be run on different virtual systems. If all virtual servers must share the
same copy of the operating system it is system-level virtualization and if different servers can
have different operating systems ( including different versions of a single operating system) it is
server virtualization.
Advantages:
• It can also leverage dynamic container load balancing between nodes and clusters.
• On OS virtualization, the file-level copy-on-write (CoW) method is possible, making it
easier to back up data, more space-efficient, and easier to cache than block-level copy-
on-write schemes.
Limitations:
Network Virtualization is a process of logically grouping physical networks and making them
operate as single or multiple independent networks called Virtual Networks.
General Architecture Of Network Virtualization
2️. Hypervisor –
It is which uses third-party software or built-in networking and the functionalities of
network virtualization.
The basic functionality of the OS is to give the application or the executing process with a simple
set of instructions. System calls that are generated by the OS and executed through the libc
library are comparable to the service primitives given at the interface between the application
and the network through the SAP (Service Access Point).
The hypervisor is used to create a virtual switch and configuring virtual networks on it. The
third-party software is installed onto the hypervisor and it replaces the native networking
functionality of the hypervisor. A hypervisor allows us to have various VMs all working optimally
on a single piece of computer hardware.
• Physical components: Network adapters, switches, bridges, repeaters, routers and hubs.
2️. VM Network
Improves manageability –
Reduces CAPEX –
• The requirement to set up separate physical networks for different node groups is
reduced.
Improves utilization –
• Multiple VMs are enabled to share the same physical network which enhances the
utilization of network resource.
Enhances performance –
Enhances security –
• Increased complexity.
• Upfront cost.
Network Overlays –
• VMware NSX Data Center transports the components of networking and security such as
switching, firewalling and routing that are defined and consumed in software.
• It transports the operational model of a virtual machine (VM) for the network.
• It helps us to integrate several physical networks into a single network or separate single
physical networks into multiple analytical networks.
• It helps us to deploy applications in a quicker time frame, thereby supporting a faster go-
to-market.
• Network virtualization helps the software testing teams to derive actual results with
expected instances and congestion issues in a networked environment
Storage Virtualization is a technology that abstracts physical storage devices and presents them
as a single, unified storage system. It allows multiple storage devices—such as HDDs, SSDs, or
cloud storage—to be managed centrally and used efficiently.
Instead of applications accessing physical storage directly, a virtualization layer sits between
them, managing storage as a single logical unit.
Storage virtualization works by pooling multiple physical storage devices and presenting them
as a single virtual storage unit to the operating system and applications. This is done through
storage management software that abstracts physical locations.
Key Components:
1️⃣ Physical Storage Devices – HDDs, SSDs, NAS, SAN, or cloud storage.
2️⃣ Storage Virtualization Layer – Software that combines multiple storage devices into a virtual
storage pool.
3️⃣ Logical Storage Units (LUNs/Volumes) – Virtualized storage presented to users and
applications.
Process:
• The system presents a logical storage pool instead of multiple physical drives.
• Applications access the virtual storage without concern for physical location.
• Manages storage at the block level, appearing as a single virtual disk to servers.
• Abstracts storage at the file system level, making multiple storage devices appear as a
single file system.
Better Storage Utilization – Combines multiple storage devices into a single pool.
Simplified Storage Management – Centralized control improves efficiency.
Scalability – Easily add or remove storage without downtime.
Improved Performance – Optimizes storage access and load balancing.
Enhanced Data Protection – Supports redundancy, backup, and disaster recovery.
Conclusion
Desktop Virtualization is a technology that separates the desktop environment and applications
from the physical device. Instead of running directly on a user's computer, the desktop is hosted
on a centralized server or cloud and accessed remotely.
This allows users to run a full desktop environment on different devices (PCs, tablets, or thin
clients) without needing powerful local hardware.
How Desktop Virtualization Works?
Desktop Virtualization creates a virtualized desktop instance that is stored and managed on a
server. Users access this virtual desktop through a network, using software like Remote
Desktop Protocol (RDP) or Virtual Desktop Infrastructure (VDI).
Key Components:
1️⃣ Host Server – Runs the virtualized desktop instances.
2️⃣ Hypervisor – Manages multiple virtual desktops on the server.
3️⃣ Client Device – Accesses the virtual desktop (PC, laptop, thin client, or mobile).
4️⃣ Connection Broker – Manages user sessions and assigns virtual desktops.
Process:
• The user logs into the virtual desktop using a client device.
• Users can interact with the desktop as if it were local, but all processing happens on the
server.
• Each user gets a dedicated virtual machine (VM) running a full OS.
• Example: VMware Horizon, Citrix Virtual Apps and Desktops, Microsoft Azure Virtual
Desktop.
Remote Work & Hybrid Offices – Employees can access work desktops securely from home.
Education & Training – Students and teachers can use cloud-based desktops.
Software Development & Testing – Developers can test software on different OS
environments.
Healthcare – Doctors and nurses can securely access patient data from different locations.
Conclusion
Desktop Virtualization enhances flexibility, security, and efficiency by allowing users to access
desktops remotely. Whether through VDI, RDS, or DaaS, organizations can simplify IT
management, reduce costs, and support remote work effectively.
Memory Virtualization: A Detailed Explanation
Memory Virtualization is a technology that abstracts physical memory (RAM) from applications
and the operating system, allowing more efficient and flexible memory management. It
enables a system to use memory more effectively by creating a virtual memory pool that can be
allocated dynamically across different applications or virtual machines (VMs).
It helps in scenarios where physical memory is limited by allowing memory sharing, swapping,
and expansion using secondary storage like disk space.
Memory Virtualization creates a layer between physical memory and applications. This layer
ensures that applications think they have more memory available than physically exists by using
techniques like paging, swapping, and memory sharing.
Key Components:
1️⃣ Physical Memory (RAM) – The actual hardware memory in the system.
2️⃣ Virtual Memory Manager (VMM) – Manages virtual memory allocation.
3️⃣ Swap Space (Disk Storage) – Extends memory by using disk space when RAM is full.
4️⃣ Hypervisor (in Virtualized Environments) – Allocates memory among multiple VMs.
Process:
• Allocates more virtual memory than the available physical memory in virtualized
environments.
Conclusion