DR. AJAY KUMAR PATHAK
ASSISTANT PROFESSOR
READ ALL THE NOTES CHAPTER WISE
SUBJECT : MJ–14 (Th): CLOUD COMPUTING
FOR B. Sc. IT SEM 6 F.Y.U.G.P.
Copyright © by Dr. Ajay kumar pathak
B. Sc. IT. SEMESTER 6 NOTES BASED ON NEP
SUBJECT : MJ–14 (Th): CLOUD COMPUTING
(To be selected by the students from)
Course Learning and Outcomes:- Know about the logics and algorithms needed for computer programming
UNIT 4:- UNIT NAME:- VIRTUALIZATION FOR CLOUD AND CLOUD SECURITY
OBJECTIVES:
The objective of this course is to provide graduate students with the comprehensive and in-depth knowledge of Cloud Computing concepts, technologies, architecture and applications by introducing and researching state-of-the-art in Cloud Computing fundamental issues, technologies, applications and implementations.
Learning Outcome:-
· After completion of this course, a student will be able to–
· Understand the key dimensions of the challenges and benefits of Cloud Computing.
· Describe the principles of Parallel and Distributed Computing and evolution of cloud computing from existing technologies
· Implement different types of Virtualization technologies and Service Oriented Architecture systems.
· Choose among various cloud technologies for implementing applications.
· Install and use current cloud technologies.
Semester Examination and Distribution of Marks
End Semester Examination (ESE) : 75 Marks
-: NOTES READ FROM HERE :-
Sabse pehle clear baat :- Cloud Computing ka matlab “badal (cloud)” me data store karna nahi hota. , Data hamesha real physical computers (servers) me hi store hota hai., “Cloud” sirf ek naam (metaphor) hai, asli badal nahi hai☁,
Phir “Cloud” word kyun use hota hai?:- Purane time me jab internet ka diagram banaya jata tha, to network ko badal ke symbol se dikhate the. , Isliye jo cheez internet ke through access hoti hai, usko log cloud bolne lage.
NOTES FROM HERE
UNIT 4:- UNIT NAME:- VIRTUALIZATION FOR CLOUD AND CLOUD SECURITY
UNIT 4:- VIRTUALIZATION FOR CLOUD AND CLOUD SECURITY
What is
virtualization?:- Virtualization is a technique,
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.
Using software, virtualization
creates an abstraction layer over computer hardware, dividing a single system’s
components such as processors, memory, networks and storage into multiple
virtual machines (VMs). Each VM runs its own operating system (OS) and behaves
like a separate physical computer, despite sharing the same underlying
hardware.
It allows you to create
multiple simulated environments (Virtual Machines or VMs) from a single
physical hardware system.
Before virtualization, a
physical server could only run one Operating System (OS) and frequently one
task. This wasted massive amount of resources if your app only used 10% of the
CPU, the other 90% was idle. Virtualization solves this by allowing one
physical server to host dozens of virtual servers, each running its own OS and
apps isolated from the others.
The machine on which the
virtual machine is created is known a host machine and virtual machine is
referred as a guest machine. This virtual machine is managed by a software or
firmware, which is known as hypervisor (a
hypervisor is software that separates a system’s physical resources and divides
those resources so that virtual environments can use them as needed. A
hypervisor takes physical resources (such as CPU, memory, and storage) from the
hardware and allocates them to multiple VMs at once, enabling the creation of
new VMs and the management of existing ones. Hypervisors can sit on top of an
operating system (like on a laptop) or be installed directly onto hardware
(like a server). The physical hardware, when used as a hypervisor, is called
the host, while the many VMs that use its resources are guests. )
Today, virtualization is a
fundamental practice in enterprise IT architecture and a key enabler of cloud
computing. It allows cloud service providers (CSPs) such as IBM Cloud®,
Microsoft Azure, Google Cloud and Amazon Web Services (AWS), to optimally
utilize their IT infrastructure to deliver scalable resources. For businesses,
this means they only purchase the computing resources they need and then scale
them cost-effectively as their workloads grow, maximizing their investment.
The main components
of virtualization:-
Virtualization trusts on
several key components to create and manage virtual environments. Each plays a
vital role in ensuring the effective allocation of resources so multiple VMs
can run simultaneously without interference.
i.
Physical machine
(server/computer)
ii. Virtual machine (VMs)
iii. Hypervisor
(i) Physical machine (server/computer):- The physical machine, also referred to as the “host
machine” is the hardware (e.g., server or computer) that provides CPU, memory,
storage and network resources for the virtual machines.
(ii) Virtual machine:- A virtual machine (VM) is a virtual environment that
simulates a physical computer in software form. VMs are usually referred to as
guests, with one or more “guest” machines running on a host machine.
Virtual machines typically
consist of several files, including the configuration, storage for the virtual
hard drive and other dependencies. By sharing system resources among virtual
machines, virtualization offers on-demand scalability, efficiency and cost
savings.
(iii) Hypervisors:- A hypervisor is the software layer that coordinates
VMs. It serves as an interface between the VM and the core physical hardware,
ensuring that each has access to the physical resources it needs to execute. It
also makes sure that the VMs don’t interfere with each other by impinging on
each other’s memory space or compute cycles.
There are two types
of hypervisors:-
Type 1 hypervisors:- Type 1 or “bare-metal” hypervisors interact with the
core physical resources, replacing the traditional operating system altogether.
They most commonly appear in virtual server scenarios in which a software-based
server is created by partitioning a physical server into smaller,
self-contained segments, each capable of running its own operating system and
applications.
Type 2 hypervisors:- Type 2 hypervisors run as an application on an
existing OS. Most commonly used on endpoint devices to run guest operating
systems, they carry a performance overhead because they must use the host OS to
access and coordinate the core hardware resources.
Types of
virtualization:-
i.
Desktop
virtualization
ii. Network virtualization
iii. Storage virtualization
iv. Data virtualization
v. Application virtualization
vi. Data center virtualization
vii. CPU virtualization
viii.GPU virtualization
ix. Linux virtualization
x. Cloud virtualization
(i) Desktop virtualization:- Desktop virtualization lets you run multiple desktop
operating systems, each in its own VM on the same computer.
There are two types
of desktop virtualization:-
(a) Virtual desktop infrastructure:- Virtual desktop infrastructure (VDI) runs multiple
desktops in VMs on a central server and streams them to users who log in on
thin client devices. In this way, VDI lets an organization provide its users
access to various operating systems from any device (e.g., laptop, desktop
computer), without needing to install the OS locally on each device.
(b) Local desktop virtualization:- Local desktop virtualization runs a hypervisor on a
local computer, enabling the user to run one or more additional operating
systems on that computer and switch from one OS to another as needed without
changing anything about the primary OS.
(ii) Network virtualization:- Network virtualization uses software to create a
“view” of the network that an administrator can use to manage the network from
a single console. It abstracts hardware elements and functions (e.g.,
connections, switches, routers) and abstracts them into software running on a
hypervisor. The virtual network administrator can modify and control these
elements without touching the core physical components, which dramatically
simplifies network management.
Types of network
virtualization include:
(a) Software-defined networking (SDN):- The network architecture approach software-defined
networking virtualizes the hardware that controls network traffic routing. It
does this through a centralized platform called the control plane, which helps
manage IT infrastructure and direct network traffic.
(b) Network function virtualization:- Network function virtualization virtualizes one or
more hardware appliances that provide a specific network function (e.g.,
firewall, load balancer, traffic analyzer), making those components easier to
configure, provision and manage.
(iii) Storage virtualization:- Storage virtualization enables all the storage devices on the network, whether they’re installed on individual servers or stand-alone storage units, to be accessed and managed as a single storage device. Specifically, storage virtualization consolidates all blocks of storage into a single shared pool from which they can be assigned to any VM on the network as needed. Storage virtualization makes it easier to provision storage for VMs and makes maximum use of all available storage on the network.
(iv) Data virtualization:- Modern enterprises store data from multiple
applications by using multiple file formats in numerous locations, ranging from
the cloud to on-premises hardware and software systems. Data virtualization
lets any application access all that data, irrespective of source, format or
location.
Data virtualization tools
create a software layer between the applications accessing the data and the
systems storing it.
(v) Application virtualization:- Application virtualization runs application software
without installing it directly on the user’s OS. This technology differs from
complete desktop virtualization because only the application runs in a virtual
environment, the OS on the end user’s device runs as usual.
There are three types of
application virtualization:-
(a) Local application virtualization:- In this case, the entire application runs on the
endpoint device, however it runs in a runtime environment instead of on the
native hardware.
(b) Application streaming:- With application running, the app lives on a
server that sends small software components to run on the end user’s device when
needed.
(c) Server-based application
virtualization:- Here, the
application runs entirely on a server that sends only its user interface to the
client device.
(vi) Data center virtualization:- Data center virtualization abstracts (summaries)
most of a data center’s hardware into software, effectively enabling an
administrator to divide a single physical data center into multiple virtual
data centers for different clients.
Each client can access its own
infrastructure as a service (IaaS), which would run on the same core physical
hardware.
(vii) CPU virtualization;- Central processing unit (CPU) virtualization is the
fundamental technology that makes hypervisors, virtual machines and different
operating systems possible. It allows a single CPU to be divided into multiple
virtual CPUs for use by multiple VMs.
At first, CPU virtualization
was entirely software-defined, but many of today’s processors include extended
instruction sets that support CPU virtualization, which improves VM
performance.
(viii) GPU virtualization:- A graphical processing unit (GPU) is
a special multi-core processor that improves overall computing performance by
taking over heavy-duty graphic or mathematical processing. GPU virtualization
lets multiple VMs use all or some of a single GPU’s processing power for faster
video, AI and other graphics- or math-intensive applications.
The two main types of
GPUs in virtualized environments are:-
(a) Pass-through GPUs:- These GPUs make the entire GPU available to a single
guest OS.
(b) Shared vGPUs:- Shared
vGPUs (here v is virtual) divide physical GPU cores among several
virtual GPUs (vGPUs) for use by server-based VMs.
(ix) Linux virtualization:- Linux
includes its own hypervisor, the kernel-based virtual machine (KVM), which
supports Intel and AMD’s virtualization processor extensions to create
x86-based VMs from within a Linux host OS.
(x) Cloud virtualization:- By virtualizing servers, storage and other physical
data center resources, cloud computing providers can offer a range of services
to customers, including the following:
(a) Infrastructure as a service (IaaS):- The delivery model IaaS provides
a virtualized server, storage, and network resources you can configure based on
their requirements.
(b) Platform as a service (PaaS):- The PaaS service
model offers virtualized development tools, databases and other cloud-based
services that you can use to build your own cloud-based applications and
solutions.
( c ) Software as a service (SaaS):- Software as a
service refers to applications
hosted on the cloud. SaaS is the most widely used cloud-based
service.
ADVANTAGES OF
VIRTUALIZATION:-
(i) Resource efficiency:- Before virtualization, IT
staff allocated a dedicated physical central processing unit (CPU) to each
application server, setting up a separate server for every application. This
approach, which ideal one application and one operating system per computer,
was adopted for its reliability. However, each physical server would often be
underutilized.
In
contrast, server virtualization allows you to run multiple applications, each
with its own VM and OS on a single physical server (typically an x86 server)
without sacrificing reliability. This capability maximizes the use of the
physical hardware’s computing capacity and optimizes resource utilization.
(ii) Easier management:- Replacing physical computers
with software-defined VMs makes managing and enforcing policies via software
easier. This enables the creation of automated IT service management workflows.
For example, automated deployment and configuration tools allow administrators
to define virtual machines and applications as services in software templates,
which they can consistently deploy without manual setup.
Additionally,
virtualization security policies can enforce security configurations based on
the role of the virtual machine. These policies can also increase resource
efficiency by decommissioning unused virtual machines, saving space and
computing power.
(iii) Faster provisioning:- Setting up hardware for each
application can be time-consuming. However, if the hardware is already in
place, provisioning virtual machines to
run applications is significantly faster. VM management software can now
automate this process, streamlining workflows.
(iv) Disaster recovery (DR):-
Virtualization optimizes disaster recovery by
enabling quick restoration of services with minimal downtime. Since virtual
machines can be easily moved, replicated or backed up, restoring systems to
operational status is faster and more efficient compared to traditional
physical servers.
(v) Cost-effectiveness:- Virtualization
helps reduce hardware gaining, maintenance and energy consumption costs.
Consolidating physical servers into virtual machines reduces the need for
additional hardware, saving both capital and operational expenses.
DISADVANTAGES OF VIRTUALIZATION TECHNOLOGY:-
(i)
High Initial Costs:- The setup
costs for virtualization can be important, although they profit long-term
savings.
(ii) Difficult
to transition from legacy infrastructure:- Transitioning from traditional
servers to virtualized environments necessitates staff training or hiring
skilled personnel.
(iii) Vulnerable
(weak) to Cyber Threats:- Hosting
sensitive data on third-party infrastructure introduces potential
vulnerabilities to cyber-attacks.
WHAT IS
VIRTUALIZATION IN CLOUD COMPUTING?:- The
process of separating the physical delivery of any service and creating a
virtual version is called Virtualization in Cloud Computing. It is a process of
creating virtual representations of physical resources like servers, storage,
networks, and operating systems.
This technique allows us to
provide to multiple customers with a single resource instead of creating
various systems. In storage virtualization, it is achieved by giving physical
storage devices names and mapping them to the actual physical resources in
demand. Using this technique, you can easily switch between different digital
environments to access hardware resources such as an operating system, storage
device, memory, network resources, etc.
Virtualization levels
in cloud computing:- Setting up
virtualization is not an easy task, as your computer functions on operating
systems configured to run on particular hardware types. Thus, running different
operating system types using the same hardware proves to be difficult.
For this, we need a hypervisor
in cloud computing that acts as the bridge between your hardware and virtual
operating system, allowing smoother functioning.
(1) Instruction Set Architecture Level (ISA):-
(a) ISA virtualization can function through ISA emulation. It is easy
to use for running legacy codes specifically written for different hardware
configurations.
(b) A binary code is capable of running on x86 machines by using
it. These codes run on any virtual machine. The focal point is that it is
possible to make the virtual machine hardware agnostic via ISA. Examples are
Bochs, QEMU, etc.
(2) Hardware Abstraction Level (HAL):-
(a) As its name describes, HAL allows for virtualization to
happen at the level of hardware by making use of a hypervisor.
(b) It allows for the virtualization of every hardware component,
such as memory, input-output devices, processors, etc. Mostly utilised in
cloud-based infrastructure, as multiple users can use the same hardware and
multiple isolated virtualization instances at the same time. Examples could be
VMWare, Denali, XEN, etc.
(3) Operating System Level:-
(a) At the level of the operating system, the virtualization
model is capable of creating a layer that is abstract between the operating
system and its applications. It acts as an isolated container on a physical
server and operating system.
(b) It is mainly used in the case of multiple users, with no one
wanting to share hardware. Examples of this level are Jail (lockup), Virtual
environment, LXC, etc.
(4) Library Level:-
(a) Library virtualization level is preferred in scenarios where
the operating system level is found to be awkward, as applications use API from
libraries.
(b) API hooks make it possible to control the link of
communication from the application to the system. Examples of this level are
Wine, vDSO, etc.
(6) Application Level:-
(a) Application-level virtualization is the last implementation
level of virtualization in cloud computing. It is used in case we need to
virtualize only one application.
(b) It is generally used in the case of running a virtual machine
in cloud computing that functions on high-level languages and supports
high-level program compilation for smooth functioning. Examples of this level
are JVM, .NET, etc.
TYPES OF VIRTUALIZATION
IN CLOUD COMPUTING:-
1. Application
Virtualization:- The first type is
Application Virtualization, which allows you to run applications independently.
This means the applications can be encapsulated in a virtual environment,
making them portable. It simplifies software management and reduces conflicts
between different applications.
The use cases for this
virtualization type include running legacy (previously) applications on modern
systems, streamlining software updates, and isolating applications for security
purposes. An example of this type is virtualizing Microsoft PowerPoint to run
on Ubuntu over an Opera browser.
2. Network
Virtualization:- Network Virtualization
is the technology through which you can centralize all your network resources.
It abstracts the physical network infrastructure from the core hardware to
create a dynamic and flexible enterprise network.
It is beneficial in enhancing
scalability, quickness, and resource optimization in data centers. Network
virtualization is vital in cloud computing, data center consolidation, and
creating virtual private networks (VPNs). VLAN is one example of this type.
3. Desktop
Virtualization:- As the name suggests,
Desktop Virtualization separates the desktop environment from the physical
client device. It includes the operating system and applications you might run
on the desktop. Users can access virtual desktops from various devices,
including PCs, laptops, and thin clients.
It’s commonly used in
businesses to provide remote access to employees, in educational institutions
for lab environments, and for software testing and development. The most
popular examples of this type are Virtual Desktop Infrastructure (VDI),
Desktop-as-a-Service (DaaS), and Remote Desktop Services (RDS).
4. Storage Virtualization:-
Storage Virtualization brings multiple
physical storage devices into a single logical storage unit. It combines the
functionalities of devices like Network Attached Storage (NAS) and Storage Area
Network (SAN). It simplifies storage provisioning, improves data redundancy,
and enables features like snapshot backups and dynamic allocation of storage
resources. This type includes LUNs (Logical unit numbers), RAID groups, Logical
volumes (LV), etc.
5. Server
Virtualization:- Server virtualization is
the partitioning of a physical server into multiple virtual servers that run on
their own operating system and applications. Server virtualization reduces
hardware costs, improves server utilization rates, and simplifies disaster
recovery planning.
It also provides flexibility
for deploying and scaling applications. It is commonly used in data centers and
cloud computing environments to allocate resources efficiently. The server
virtualization examples include VirtualBox, OpenVZ, VMware Workstation, etc.
6. Data
Virtualization:- Data virtualization
abstracts data from its physical location, format, and structure, making it
appear as a single, unified data source. It provides a logical view of data
from various sources, including databases, cloud storage, and APIs. It
simplifies data access, integration, and management.
It allows organizations to
access and analyze data from diverse sources without complex data movement and
transformation. Some examples are Data Warehouses, Data Lakes, Packaged apps,
etc.
How Virtualization
Works in Cloud Computing? :- Virtualization
in cloud computing operates on the Hypervisor layer, also known as the virtual
machine monitor, which manages the relationship between physical and virtual
resources.
·
The hypervisor in
cloud computing creates a virtual environment for the guest operating system.
It is a bridge to manage the processor, memory, and storage.
·
The
virtualization happens in two major ways:- full virtualization (The guest OS is
completely virtual) and hardware virtualization (improves the performance of
hardware by letting the guest OS run on the processor)
·
Each virtual
Machine is a separate server, which improves efficiency and security to ensure
one failure does not affect others.
Benefits of
Virtualization:- Virtualization in cloud
computing brings forth many benefits that redefine how businesses operate and
innovate. Most of them stem from the features of virtualization in cloud
computing. Research shows that adopting virtualization can reduce capital and
operational expenditure by 70% and 30%, respectively, based on the
infrastructure scale. Let’s explore some key advantages of virtualization.
i.
Virtualization
allows for the efficient utilization of hardware resources by running multiple
virtual machines on a single physical server. It maximizes resource usage and
minimizes waste.
ii. Virtual machines can be quickly provisioned and
de-provisioned, enabling businesses to scale up or down based on demand. This
flexibility accelerates response times and enhances user experience.
iii. Organizations can reduce hardware and energy costs by
consolidating multiple virtual machines on fewer physical servers.
Additionally, the ability to run multiple operating systems on a single server
reduces the need for diverse hardware setups.
iv. Virtualization simplifies disaster recovery by
allowing snapshots and easy migration of virtual machines. It aids in creating
robust backup and recovery strategies.
Limitations of
Virtualization in Cloud Computing:-
While virtualization offers a
plethora of benefits, it’s essential to acknowledge its limitations to make
informed decisions:
i.
Virtualization
introduces resource overhead due to the need for virtualization layers and
management. It can impact performance and resource utilization.
ii. Managing a virtualized environment can be complex,
especially as the number of virtual machines and components increases.
Practical management tools and strategies are required.
iii. Shared resources in a virtualized environment can lead
to security concerns. Breaches in one virtual machine could impact others if
proper isolation measures are not in place.
iv. While virtualization optimizes hardware utilization,
it might not utilize resources to their full potential, especially for
workloads that demand maximum performance.
v. Organizations need to consider compatibility and
portability when adopting virtualization solutions to avoid vendor lock-in.
WHAT IS A VIRTUAL
MACHINE?:-
A virtual machine (VM) is a
software-based computer / A virtual
machine is a technology that emulates complete computing systems from the CPU,
memory, storage, network interfaces, and OS. That provides an isolated
environment on host hardware. Virtual machines can run programs and operating
systems, store data, connect to networks, and do other computing functions.
VMs borrow resources from the
physical computer to generate these virtual computers. For instance, if a
computer has 8 CPUs and 16 GBs of RAM, we can virtualize an environment with 4
CPUs and 8 GBs of RAM, split from the physical hardware.
We rely on hypervisors,
software that controls the virtualization of hardware resources and manages
multiple virtual environments, to manage multiple VMs on a single set of
hardware.
ADVANTAGES OF VIRTUAL
MACHINES:-
(1) Resource usage and improved ROI (Return
on Investment):- Because multiple VMs run
on a single physical computer, customers don’t have to buy a new server
whenever they want to run another OS. Therefore, they can get more return from
each piece of hardware they already own, significantly reducing IT costs
related to capital and operating expenses.
(2) Agility and speed:- Because VMs are software-based, it’s easy to spin up
new ones. This feature makes it faster to scale up to meet new workload demands
and reduce downtime compared to provisioning new hardware-based environments.
(3) Portability:- Businesses can relocate VMs as needed among the
physical computer systems in a network. This capability makes it possible to
allocate workloads to servers with spare computing power.
(4) Flexibility:- Creating a VM is faster and easier than installing an
OS on a physical server because you can clone a VM with the OS already
installed. Developers and software testers can create new environments on
demand to handle new tasks as they arise.
(5) Security:- VMs improve security in several ways compared to
operating systems, which run directly on hardware. You can scan a VM file for
malicious software by using an external program.
(6) Sustainability:- With fewer physical servers to run workloads and
applications, you can dramatically reduce energy consumption to improve your
environmental impact.
DISADVANTAGES OF
VIRTUAL MACHINES:-
(1) Performance issues:- VMs depend on the hardware resources made available to
them on the physical host computer. Limited resources can lead to reduced
performance and inefficiencies.
(2) Increased complexity:- Virtual machines can be complex to configure and
manage, requiring teams with technical knowledge and expertise to set up and
maintain them.
(3) Single point of failure (SPOF):- VMs pose the risk of a single point of failure by
relying on one physical computer.
TYPES OF VIRTUAL
MACHINES:- Generally speaking, there are
two types of virtual machines:-
(1) process VMs
(2) System VMs.
(1) Process VMs:- A process VM, also called an application virtual machine or managed runtime environment (MRE), creates a virtual environment of an OS while an app or single process is running and destroys it as soon as you exit.
Process VMs are singular
processes running on a host operating system. They are not an entire system in
themselves but smaller environments that allow any computer to run an
application that may not be native to the base operating system. For example,
the Java Virtual Machine allows any machine to run Java applications natively.
Process VMs are lightweight
compared to system VMs and are widely used for running specific isolated
applications, especially in development and debugging scenarios.
(2) System VMs:- A system VM (sometimes called hardware virtual
machines) simulates a complete operating system, allowing multiple OS
environments to live on the same machine. Typically, this is the type of VM
people are referring to when they talk about “virtual machines.” System VMs can
run their own OS and applications, and a hypervisor (a hypervisor is the software layer that
manages and initializes virtual machines. It manages the resources between the
VM and the physical machine. There are two different types of
hypervisors:- (1) Type 1 hypervisors sit on top of bare metal and run off the server
itself. They usually have direct access to the server's resources. (2)
Type 2 hypervisors are generally installed on a host operating system. They do
not have full control of the computer’s resources and are instead managed by
the host operating system. ) monitors and distributes the physical host
machine’s resources between system VMs.
VIRTUAL MACHINE
MONITOR:-
A Virtual Machine Monitor, also known as a hypervisor, is a sophisticated
software layer that develops and manages virtual machines. Its main duty is to
virtualize the physical hardware means It acts as a software layer between
hardware and operating systems, i.e. the CPU, memory, storage and network
controllers, and expose these resources to numerous guest operating systems as
though each of them had been given a fully dedicated machine.
The physical server is the performance room, the CPU, memory,
and storage are the instruments, and the virtual machines are the different
musical sections. The conductor doesn’t play an instrument but ensures every
section gets the right cues and resources at the right time, creating a
harmonious performance from what would otherwise be challenging.
A virtual machine is a computer emulated using software. It
runs programs just like an actual machine, with its own virtual CPU, memory,
network interface and storage which all is controlled by the virtual machine
monitor (VMM). This abstraction forms the basis of the most exalted characteristic
of the cloud multi-tenancy, in which several customers can safely share a
single physical infrastructure without knowing of each other.
How VMM Works:- Think of a
physical server as a big building:- Without VMM (Virtual Machine Monitor ) → Only
one company (OS) can use the whole building., With VMM → The building is
divided into multiple rooms (VMs), and each company gets its own space.
Working Steps:-
i.
VMM sits directly on hardware or on top of OS.
ii.
It creates virtual environments (VMs).
iii.
Each VM runs its own OS (Windows, Linux, etc.).
iv.
VMM manages:
·
CPU scheduling
·
Memory allocation
· Disk access
· Network sharing
TYPES OF VIRTUAL MACHINE MONITOR
(HYPERVISORS)
(1) Type
1 Hypervisor (Bare-Metal):- Runs directly on hardware
(no host OS).
Features:- High performance , More secure , Used in cloud data
centers
Examples:- VMware ESXi
, Microsoft Hyper-V , Xen
Explanation:- Here, the VMM directly controls hardware and
manages VMs. No middle layer → faster execution.
Example:- Cloud providers like AWS or Azure use Type 1
hypervisors to run thousands of VMs on physical servers.
(2) Type
2 Hypervisor (Hosted):- Runs on top of an existing operating system.
Features:- Easy to use , Suitable for personal systems ,
Slightly slower
Examples:- VMware Workstation , Oracle VirtualBox
Explanation:- Here, VMM is just like an application installed
on your OS.,
Example:- You install VirtualBox on your
laptop and run Linux inside Windows.
Advantages of VMM
i.
Better resource utilization
ii.
Cost reduction (less hardware needed)
iii.
Scalability (easy to add/remove VMs)
iv.
Isolation and security
v.
Supports multiple OS
Disadvantages of VMM
i.
Performance overhead (especially Type 2)
ii.
Complex management
iii.
Security risks if VMM is compromised
iv.
Requires powerful hardware
VIRTUAL MACHINE PROPERTIES:-
In cloud computing, Virtual Machine (VM) properties refer to
the key characteristics or features that define how a virtual machine behaves,
performs, and operates inside a virtualized environment. Virtual Machine (VM)
properties are the complete set of configuration settings that define how a
virtual machine is created, behaves, performs, communicates, and is managed in
a cloud environment.
These properties are what make virtualization powerful and
suitable for cloud platforms.
Definition:- Virtual Machine properties are the core features that
describe the behavior, capabilities, and structure of a virtual machine, such
as isolation, encapsulation, hardware independence, and resource sharing.
Virtual Machine (VM) properties are not just simple
settings—they are a complete profile of a virtual computer that controls:- How
it is created , How it runs and performs , How it connects with other systems ,
How it is secured and managed over time.
Real Cloud Example:- Suppose
you create a VM on Microsoft Azure or Amazon Web Services
You select:- 2 Vcpu, 4
GB RAM, Ubuntu OS, 100 GB SSD,
Public IP , All these together
are called Virtual Machine Properties
TYPES OF VM PROPERTIES:-
(1) Hardware
/ Compute Properties:- Definition:- These define the processing
capability of the VM.
Includes:- vCPU (virtual CPU), RAM (memory), GPU (optional for
graphics/AI)
(2) Storage
Properties (Disk & Data):-
Definition:- Controls how and where data is stored
Types:-
·
OS Disk → contains operating system
·
Data Disk → stores user files
·
Temporary Disk → short-term data
(3) Operating
System (OS) Properties:-
Definition:- Defines the software platform running on VM.
Types:-
·
Linux (Ubuntu, Red Hat)
·
Windows Server
Example:-
Use Linux → for web servers
Use Windows → for .NET apps
(4) Network
Properties (VERY IMPORTANT):-
Definition:- Defines communication
of VM
Includes:-
·
IP Address:
·
Public IP → internet access
·
Private IP → internal use
·
Virtual Network (VPC)
·
Subnet
·
Bandwidth
(5) Security
Properties (CRITICAL):-
Definition:- Protects VM from hackers and unauthorized access
Includes:-
·
SSH ( Full form Secure Shell) keys / passwords
·
Firewall rules
·
Security groups
·
Encryption
(6) Availability
& Reliability Properties:- Definition:- Ensures VM runs continuously
without failure
Includes:-
·
Availability Zones
·
Load balancing
·
Backup systems
Example:- One VM fails → another VM takes over
(7) Monitoring & Logging
Properties:-Definition:- Tracks performance and issues
Includes:-
·
CPU usage
·
Memory usage
·
Logs
·
Alerts
Example:- CPU > 90% → alert sent
(8) Cost
/ Pricing Properties:- Definition:- Determines how much you pay
Based on:-
·
CPU usage
·
Storage
·
Network usage
·
Time (per hour/second)
Example:- Small VM →low,
Large VM →high
WHAT IS HLL VM:-
TO BE CONTINUE

No comments:
Post a Comment
PLEASE DO LEAVE YOUR COMMENTS