Unit 3 –Abstraction and Virtualization
• Introduction to Virtualization
• Types of Virtualizations
• Load Balancing Techniques
• Introduction to Hypervisor
• Storage Area Network (SAN)
Virtualization
Virtualization is a way to use one real computer as if it were many
computers. Before this technology, one computer usually did just one job at a
time, and a lot of its power went to waste.
With virtualization, you can run several "virtual" computers—called virtual
machines (VMs)—on one real computer. Each virtual machine can do its own job,
run its own programs, and even have its own operating system (like Windows or
Linux). This means you can do more with the same machine, saving time,
money, and energy.
In cloud computing, virtualization is used even more. Big companies like Amazon
or Microsoft use it to split one large computer into many small virtual ones.
Then, they let people or businesses rent just the part they need. That way,
companies don’t have to buy expensive hardware—they can just pay for what
they use.
What is Virtualization?
Virtualization is the process of creating a virtual representation of
hardware such as server, storage, network or other physical machines. It
supports multiple copies of virtual machines(VMs) to execute on one physical
machine each with their own operating system and programs.
This optimizes hardware efficiency and flexibility and enables resources to
be shared between multiple customers or organizations.
CC-Unit-3 Notes by Naina Sonar Page 1
Virtualization is a key to providing Infrastructure as a Service (IaaS) solutions
for cloud computing, whereby the user has access to remote computing
resources.
Virtualization is a big part of cloud computing, especially in services like
Infrastructure as a Service (IaaS). It allows people to use powerful computers
over the internet, without needing to own or manage the hardware themselves.
Virtualization is a way to make a virtual (or pretend) version of
something like a computer, storage, or network. Instead of using many physical
machines, virtualization lets you run several virtual machines (VMs) on one real
computer. Each VM works like a separate computer with its own operating
system and programs.
Example
Think of a big house where only one person lives. Most of the rooms are
empty and not being used. Now, if you are dividing the house into smaller rooms
and renting each one to different people. Everyone gets their own space to live,
cook, and sleep all inside the same house.
Let's try to understand this example how this house behaves like virtualization:
The house is like one real computer.
The rooms are like virtual machines.
The people are like different users or apps.
Instead of buying a new house for each person, you are using one house in a
smarter way just like virtualization lets one computer do the work of many.
Let us understand virtualization by taking a real-world example:
Suppose there is a company that requires servers for four different purposes:
Store customer data securely
Host an online shopping website
Process employee payroll systems
Run Social media campaign software for marketing
Why is Virtualization Important?
Virtualization is important because it lets you get the most out of your
computer or server resources. Consider it like being able to use one physical
box as many smaller, independent "virtual" boxes. There are multiple virtual
boxes, each having its own program to run and data to store, but they use the
same physical box.
1. Better use of Resources
Instead of allowing for numerous unused machines, virtualization enables you
to host multiple programs or systems on one computer, which is more
effective.
CC-Unit-3 Notes by Naina Sonar Page 2
2. Cost Utilization
Companies can save their money on hardware, power, and maintenance by
using less physical equipment.
3. Flexibility
Virtual machines can be easily installed, relocated and resized to suit changing
requirements. If a virtual machine requires more power, it can obtain it rapidly
without requiring new hardware.
4. Security
Virtualization isolates various applications or systems from each other, so if
one of them has an issue, it won't affect others.
5. Simple Recovery
In case something goes wrong, it's simple to back up or restore virtual
machines, allowing companies to return to work quickly after an issue.
How does Virtualization Work
Virtualizations uses special software known as hypervisor, to create many
virtual computers (cloud instances) on one physical computer. The Virtual
Machines behave like actual computers but use the same physical machine.
Virtual Machines (Cloud Instances)
After installing virtualization software on your computer, you can set up
one or more virtual machines. The Virtual machines are similar to other
applications on your computer. The Actual computer is "Host" and the Virtual
Computers are "Guests". You can have several guests on a single host, and
each guests can have its own operating system, which may be the same or
different from the host.
As a user you can see that every virtual machine behaves as a normal
computer. It has its own configurations, programs, and settings. The
resources, such as the processor (CPU), Memory (RAM), and storage, are all
accessed by the virtual machines, but they appear and function exactly like
they would in a real computer. You can update or modify the virtual machine's
operating system and applications without touching the original computer.
Hypervisors
A hypervisor is the software that gets virtualization to work. It serves
as an intermediary between the physical computer and the virtual machines.
The hypervisor controls the virtual machines' use of the physical resources
(such as the CPU and memory) of the host computer.
For instance, if one virtual machine wants additional computing capability, it
requests it from the hypervisor. The hypervisor ensures the request is
forwarded to the physical hardware, and it's accomplished.
There exist two categories of hypervisors:
Type 1 Hypervisor (Bare-Metal Hypervisor):
The hypervisor is installed directly onto the computer hardware, without an
operating system sitting in between.
It is highly efficient as it has a direct access to the resources of the
computer.
CC-Unit-3 Notes by Naina Sonar Page 3
Type 2 Hypervisor:
It is run over an installed operating system (such as Windows or macOS).
It's employed when you need to execute more than one operating system
on one machine.
Types of Virtualization
1. Application Virtualization: Application virtualization enables remote
access by which users can directly interact with deployed applications without
installing them on their local machine. Your personal data and the applications
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.
Example: Microsoft Azure lets people use their applications without putting
them on their own computers. Once this application is setup in the cloud then
employees can use it from any device, like a laptop or tablet. It feels like the
application is on their computer, but it’s really running on Azure’s servers. This
makes things easier, faster, and safer for the company.
2. 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.
Example: Google Cloud is an example of Network Virtualization. Companies
create their own networks using software instead of physical devices with the
help of Google Cloud. They can set up things like IP addresses, firewalls, and
private connections all in the cloud. This makes it easy to manage, change, and
grow their network without buying any hardware. It saves time, money, and
gives more flexibility.
CC-Unit-3 Notes by Naina Sonar Page 4
5. Desktop Virtualization: Desktop virtualization is a process in which you
can create different virtual desktops that users can use from any device like
laptop, tablet. It’s great for users who need flexibility, as it simplifies software
updates and provides portability.
Example: GeeksforGeeks is a Edtech company which uses services
like Amazon WorkSpaces or Google Cloud (GCP) Virtual Desktops to give
its team members access to the same coding setup with all the tools they
required for the easy access of this team work. Now their team members can
easily log in from any device like a laptop, tablet, or even a phone and use a
virtual desktop that will run perfectly in the cloud. This makes it easy for
GeeksforGeeks company to manage, update, and keep everything secure
without requirement of physical computers for everyone.
4. 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.
Example: Amazon S3 is an example of storage virtualization because in S3 we
can easily store any amount of data from anywhere. Suppose a MNC have lots
of files and data of company to store. By Amazon S3 company can store all
their files and data in one place and access these from anywhere without any
kind of issue in secure way.
5. 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.
Example: A startup company has a powerful physical server. This company
can use server virtualization software like VMware vSphere, Microsoft Hyper-V
or KVM to create more virtual machines(VMs) on that one server.
Each VM here is an isolated server, that runs on their own operating system(
like Windows and Linux) and run it's own applications. For example, a company
might run A web server on one VM, A database server on another VM, A file
server on a third VM all on the same physical machine. This reduces costs,
makes it easier to manage and back up servers, and allows quick recovery if
one VM fails.
6. 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.
Example: Companies like Oracle and IBM offer solutions for this.
CC-Unit-3 Notes by Naina Sonar Page 5
Benefits of Virtualization
Here are some of the benefits of using Virtualization in Cloud Computing -
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.
1. Application Virtualization
Lets you use an app without installing it on your computer. The app runs
somewhere else (like on a server), and you just see and use it on your screen.
� Example: Using Word or Excel on your computer even if they aren’t installed.
2. Network Virtualization
Creates a ―virtual‖ version of a network so it’s easier to manage. It can
split one real network into many smaller ones.
� Example: One office network being shared safely by different teams.
3. Desktop Virtualization
Lets you use your desktop (your computer screen, apps, and files) from
anywhere on any device.
� Example: Seeing your work computer screen from your laptop at home.
4. Storage Virtualization
Combines storage from many places and shows it as one. It makes saving
and finding files easier.
� Example: Different hard drives acting like one big drive.
5. Server Virtualization
Turns one real server into many virtual ones. Each can do a different job.
� Example: One computer running a website, email, and app all at the same
time.
6. Data Virtualization
Shows data from many places in one spot, without moving the data.
� Example: Seeing sales info from different databases in one report.
Load Balancing Techniques
CC-Unit-3 Notes by Naina Sonar Page 6
What is Load Balancing?
Load balancing is a way to share the work between many computers (servers),
so no single one gets too tired or busy. It helps websites and apps stay fast,
smooth, and always working, even when lots of people are using them.
Load balancing is a way to distribute work (like website traffic
or app requests) across multiple servers, so no single server gets
overwhelmed. It helps keep things fast, stable, and available, even if
one server is busy or goes down.
Load balancing is a crucial technique in cloud computing that optimizes resource
utilization and ensures that no single resource is overwhelmed by traffic. It
involves distributing workloads across multiple computing resources—such as
servers, virtual machines, or containers—to enhance performance, availability,
and scalability.
Types of Load Balancing Techniques in Cloud Computing
1. Network Load Balancing (NLB)
Implemented at the network layer, this technique distributes incoming
network traffic across multiple servers or instances. It ensures even traffic
distribution and supports high throughput and low latency, which is ideal
for handling large volumes of requests efficiently.
2. Application Load Balancing (ALB)
Operates at the application layer (Layer 7) and distributes workloads
across multiple instances of an application. ALBs can make routing
decisions based on content, such as URLs or cookies, ensuring that each
instance handles a fair share of incoming requests based on specific rules
or client behavior.
3. Database Load Balancing
Implemented at the database layer, this technique balances query loads
across multiple database servers. It improves database performance and
reliability by preventing any single database server from becoming a
bottleneck and can be used in read/write split configurations or among
database replicas.
Benefits of Load Balancing in the Cloud
Improved Performance: Resources are utilized efficiently, reducing
latency and increasing throughput.
High Availability: Redundancy ensures that if one server fails, others
can continue handling traffic.
Scalability: Resources can be scaled up or down dynamically based on
traffic demands.
Fault Tolerance: Automatically redirects traffic in case of server or
instance failure, ensuring continuous service.
CC-Unit-3 Notes by Naina Sonar Page 7
Common Load Balancing Techniques
1. Round Robin
This method sends each new request to the next server in line. It goes in a
circle, one by one.
� Example: Request 1 goes to Server A, request 2 to Server B, request 3 to
Server C, then starts again.
2. Least Connections
Sends new traffic to the server with the fewest active connections (the one
doing the least work).
� Example: If Server A is helping 2 users and Server B is helping 5, new users
go to Server A.
3. IP Hash
Uses the user’s IP address to decide which server to send them to. This helps
users always connect to the same server.
� Example: You might always be sent to Server B based on your IP.
4. Weighted Round Robin
Like Round Robin, but some servers get more traffic based on their power or
speed.
� Example: A strong server might get 3 requests, while a weaker one gets 1.
5. Least Response Time
Sends traffic to the server that responds the fastest and has fewer connections.
� Example: If Server C is the quickest and not very busy, it gets the next
request.
6. Random
Picks a server at random for each new request. It’s simple and sometimes works
well in small systems.
Why Load Balancing Is Important
� Keeps services fast
� Prevents crashes or overloads
� Handles more users at once
� Helps with backups if one server fails
Introduction to Hypervisor
A hypervisor, also known as a virtual machine monitor (VMM), is a
software, firmware, or hardware platform that creates and runs virtual
machines (VMs). It allows multiple operating systems to run concurrently on a
single physical machine by abstracting the underlying hardware and distributing
resources to each virtual machine.
Key Concepts
Virtual Machine (VM): A software-based simulation of a physical
computer that runs an operating system and applications just like a real
computer.
Host Machine: The physical computer on which the hypervisor runs.
Guest Machine: The virtual machine that runs under the hypervisor.
CC-Unit-3 Notes by Naina Sonar Page 8
Creates virtual machines
Runs and manages multiple VMs at the same time
Shares hardware (like CPU and RAM) between VMs
Keeps VMs separate so one can’t break or affect the others
Types of Hypervisors
1. Type 1 Hypervisor (Bare-metal)
Runs directly on the physical hardware.
Doesn't require a host operating system.
Examples: VMware ESXi, Microsoft Hyper-V, Xen, KVM.
Pros: High performance, better resource utilization, more secure.
Cons: More complex setup and management.
2. Type 2 Hypervisor (Hosted)
Runs on top of a host operating system.
Examples: VMware Workstation, Oracle VirtualBox, Parallels Desktop.
Pros: Easier to install and use.
Cons: Slightly lower performance due to overhead from the host OS.
Benefits of Using Hypervisors
Efficient Resource Utilization: Multiple VMs can share CPU, memory,
and storage.
Isolation: Each VM operates independently, improving security and
stability.
Flexibility: Easy to create, clone, and migrate VMs.
Cost Savings: Reduces the need for multiple physical machines.
Common Use Cases
Server consolidation in data centers.
Running multiple operating systems for development or testing.
Isolated environments for cybersecurity or malware analysis.
Cloud computing infrastructure (e.g., AWS, Azure use hypervisors under
the hood).
CC-Unit-3 Notes by Naina Sonar Page 9
Storage Area Network (SAN)
In cloud computing, a Storage Area Network (SAN) is a special,
high-speed network used to connect cloud servers to shared storage. This
helps cloud providers store huge amounts of data safely, quickly, and efficiently.
Instead of keeping data on each individual server, the SAN acts like a big,
powerful storage room that all the cloud servers can access.
Simple Way to Understand It:
Think of cloud computing like a big apartment building:
The servers are like apartments (where work is done).
The SAN is like a shared storage room in the basement.
Everyone stores and retrieves their stuff (data) from the same storage
room through a super-fast elevator (network).
How SAN Helps in the Cloud:
Centralized Storage: All cloud servers can access the same storage
system.
High-Speed Data Access: Very fast read/write speeds using fiber
connections.
Efficient Resource Use: Easy to move and manage storage without
touching physical hardware.
Better Backup & Recovery: Data can be easily backed up or moved
between systems.
Supports Virtualization: Works well with virtual machines (VMs), which
are common in the cloud.
Benefits of SAN in Cloud Computing
Fast performance for apps that need quick access to data (like
databases)
Scalable – easy to add more storage as needed
Reliable – built for 24/7 uptime and quick failover in case of issues
Secure – data is kept separate and safe from other users
Who Uses SAN in the Cloud?
Cloud providers (like AWS, Azure, Google Cloud)
Businesses with large databases, backups, or storage-heavy apps
Anyone needing fast, reliable, shared storage in the cloud
CC-Unit-3 Notes by Naina Sonar Page 10
Types of SAN (Storage Area Network)
1. Fibre Channel SAN (FC SAN)
A high-speed network that uses special Fibre Channel cables to connect
servers and storage.
Very fast and reliable
Used in big companies and data centers
Needs special hardware (like FC switches and adapters)
Best for: Businesses that need super-fast access to large amounts of data.
2. iSCSI SAN (Internet Small Computer System Interface)
Uses regular Ethernet cables and the internet protocol (IP) to send
data between servers and storage.
Cheaper and easier to set up than Fibre Channel
Can run on existing network hardware (like switches and routers)
A bit slower than Fibre Channel, but still good for most uses
Best for: Small to medium businesses that want SAN features at a lower cost.
3. Fibre Channel over Ethernet (FCoE)
Combines Fibre Channel and Ethernet into one network.
Sends Fibre Channel data over standard Ethernet cables
Reduces the number of cables and devices needed
Faster than iSCSI, but not as common as FC or iSCSI
Best for: Businesses that want speed like Fibre Channel but with fewer cables
and simpler setup.
4. NVMe over Fabrics (NVMe-oF)
A newer and very fast SAN technology that uses NVMe (a high-speed
storage protocol).
Much faster than other types
Good for modern cloud and AI workloads
Uses protocols like RDMA or TCP to connect storage over networks
Best for: High-performance computing, cloud services, AI, and big data.
CC-Unit-3 Notes by Naina Sonar Page 11