CLOUD COMPUTING
UNIT 2
SYLLABUS
Virtualization
 Cloud computing heavily relies on virtualization to provide on-demand
 computing resources and services, ensuring flexibility, efficiency, and
 high availability.
 Virtualization is a core technology in cloud computing that enables the
 abstraction of physical resources, such as servers, storage, and
 networks, into virtual resources.
 Running multiple virtual computers simultaneously on a single set of
 physical resources supports optimum resource utilization making it a
 dynamic system in nature and enhancing security of the system
 through resource abstraction.
 A software module called ‘hypervisor’ plays critical role in virtualization
 Virtual software mimics the functions of physical hardware to run
 multiple virtual machines simultaneously on a single physical machine.
What is Virtualization
 Virtualization refers to the representation of physical computing
 resources in simulated form having made through the software.
  This special layer of software (installed over active physical machines)
 is referred as layer of virtualization. This layer transforms the physical
 computing resources into virtual form which users use to satisfy their
 computing needs.
 The virtualization is the logical separation of physical resources from
 direct access of users to fulfill their service needs
VIRTUALIZING PHYSICAL COMPUTING RESOURCES
A virtualized component can only be operational when a physical
resource empowers it from the back end. For example, a virtual processor
can only work when there is a physical processor linked with it.
The layers of virtualization transforms these physical computing devices
into virtual form and presents them before user
VIRTUALIZING PHYSICAL COMPUTING RESOURCES
 The software for virtualization consists of a set of control programs.
 It offers all of the physical computing resources in custom made
 simulated (virtual) form which users can utilize to build virtual
 computing setup or virtual computers or virtual machines (VM).
 Users can install operating system over virtual computer just like they do
 it over physical computer. Operating system installed over virtual
 computing environment is known as guest operating system.
 When virtualization technique is in place, the guest OS executes as if it
 were running directly on the physical machine.
VIRTUALIZING PHYSICAL COMPUTING RESOURCES
Comparison between non-virtualized and virtualized
machine environments
Non-Virtualized Machine               Virtualized Machine Environment
Environment
At a moment, one single OS can run Multiple OS can run simultaneously
on a physical machine.             on one physical machine.
Application and hardware system       Virtual Machines isolates
remain tightly coupled.               applications from the underlying
                                      hardware.
Resource utilization rate is low in   Resource utilization improves as
most of the times                     multiple VMs share same set of
                                      physical resources.
These increase cost of business due   They are cost-effective if planned
to low resource utilization.          properly.
They have the inflexible approach.    They provide lot of flexibility to
                                      system designers
Hypervisor
A hypervisor, also known as a Virtual
Machine Monitor (VMM), is a software or
firmware layer that enables virtualization
by allowing multiple virtual machines
(VMs) to run on a single physical
machine.
It abstracts and allocates hardware
resources (CPU, memory, storage, and
networking) dynamically among VMs,
ensuring efficient and isolated execution.
Types of Hypervisor
A hypervisor, also known as a virtual machine monitor, is a process that
creates and runs virtual machines. A hypervisor allows one host computer
to support multiple guest by virtually sharing its resources, like memory and
processing.
This is the core piece of technology which is used by the Cloud service
providers to virtualize the infrastructure in a datacenter to offer compute,
storage, network etc as a services.
Type1 Hypervisor
Type1 Hypervisor (bare metal )
  The Type 1 hypervisor is installed and runs directly on top of the server
  hardware platform.
  This type is referred to as either bare-metal or native hypervisors.
  Type 1 hypervisors are generally more advanced and offer more
  features than a Type 2 and are found in the cloud datacenters as
  well as in the enterprise datacenters.
  Because the Type 1 hypervisor is running directly on top of the
  bare-metal hardware and not as an application on another
  operating system, it offers much higher performance, less overhead,
  and more security than a Type 2 hypervisor.
Type 2 Hypervisor
• The Type 2 hypervisor is installed as an application on an already
  existing operating system and allows to install the VMs in the
  application.
• For example, a PC running Windows can install a Type 2 hypervisor
  and run it as any other application. Then, inside the hypervisor,
  multiple operating systems or VMs can be run. VMware workstation
  and VirtualBox from Oracle are examples of Type 2 hypervisors.
• Type 2 hypervisors are good for testing applications and in situations
  where dedicating a server to be virtualized is not desirable.
• This type of hypervisor does not offer the higher performance of a
  Type 1 since the Type 2 has the additional overhead of running on
  top of another operating system such as Windows or Linux and not
  directly on top of the bare-metal server hardware.
Types of Hypervisor
1. Type 1 Hypervisor (Bare-Metal Hypervisor)
      Runs directly on the host machine’s hardware.
      Offers better performance and efficiency since it does not require
      an underlying operating system.
      Common in enterprise and cloud environments.
      Examples: VMware ESXi, Microsoft Hyper-V, KVM, Xen.
2. Type 2 Hypervisor (Hosted Hypervisor)
      Runs on top of an existing operating system (OS).
      Relies on the host OS to manage hardware resources.
      Suitable for development, testing, and personal use.
      Examples: Oracle VirtualBox, VMware Workstation, Parallels
      Desktop.
Types of Hypervisor
Proprietary vs Opensource Hypervisors
• Hypervisors can be proprietary, they were developed and sold by
  private corporations such as Microsoft or VMware.
• Examples of proprietary hypervisors are Hyper-V developed by
  Microsoft and ESXi from VMware.
• Open source hypervisors are free for use by the public. Open source
  software is in the public domain, and there are no licensing fees.
• Some examples of fully functional open source hypervisors are KVM
  by Red Hat, VirtualBox from Oracle, and XenServer by Citrix.
• They provide complete virtualization of systems that allow for one or
  more VMs to run on the same server hardware platforms as the
  proprietary hypervisors.
Virtualization Benefits
Virtualization brings several benefits to data center operators and service
providers:
1.   Resource efficiency
2.   Easier management
3.   Minimal downtime
4.   Faster provisioning
Virtualization Benefits
Virtualization brings several benefits to data center operators and service
providers:
1.   Resource efficiency: Before virtualization, IT staff would allocate a
     dedicated physical CPU to each application server, buying and
     setting up a separate server for every application.
   This approach, favoring one application and one operating system
   per computer, was adopted for its reliability. Invariably, each physical
   server would be underused. In contrast, server virtualization enables
   you to run several applications—each on its own VM with its own OS—
   on a single physical computer without sacrificing reliability. This
enables maximum use of the physical hardware’s computing
capacity.
Virtualization Benefits
Virtualization brings several benefits to data center operators and service
providers:
  Easier    management:      Replacing     physical    computers       with
  software-defined VMs makes it easier to use and manage policies
  written in software. This allows you to create automated IT service
  management workflows. For example, automated deployment and
  configuration tools enable administrators to define collections of virtual
  machines and applications as services, in software templates. This
  means that they can install those services repeatedly and consistently
  without cumbersome, time-consuming and error-prone manual setup.
  Admins can use virtualization security policies to mandate certain
  security configurations based on the role of the virtual machine.
  Policies can even increase resource efficiency by retiring unused virtual
  machines to save on space and computing power.
Virtualization Benefits
 Minimal downtime: OS and application crashes can cause downtime
 and disrupt user productivity. Admins can run multiple redundant
 virtual machines alongside each other and failover between them
 when problems arise. Running multiple redundant physical servers is
 more expensive.
 Faster provisioning: Buying, installing and configuring hardware for
 each application is time-consuming. If the hardware is already in
 place, provisioning virtual machines to run all your applications is
 significantly faster. You can even automate it using management
 software and build it into existing workflows.
Server Virtualization
 Server virtualization is a process that creates and abstracts multiple
 virtual instances on a single server. It uses software to create virtual
 machines (VMs) that simulate physical computers.
 Traditional computer hardware and software designs typically
 supported single applications. Often, this forced servers to each run a
 single workload, wasting unused processors, memory capacity and
 other hardware resources such as network bandwidth.
 The advent of server virtualization changed all this. Virtualization adds
 a layer of software, called a hypervisor, to a computer, which
 abstracts the underlying hardware from all the software that runs
 above. Virtualization translates physical resources into virtual -- logical
 -- equivalents.
 The key here is resource utilization. With server virtualization, multiple
 virtual instances of an operating system run on a single physical
 server.
Server Virtualization
Server Virtualization
The importance of server virtualization has been profound because it
addresses the two problems
  1.   Virtualization lowers the physical server count, enabling an
       organization to reduce the number of physical servers in the data
       center. The lower server count also conserves data center space,
       power and cooling; this can often forestall or even eliminate the
       need to build new data center facilities.
  2.   Virtualization platforms routinely provide powerful capabilities
       such as centralized VM management, VM migration -- enabling a
       VM to easily move from one system to another -- and
       workload/data protection through backups and snapshots.
Server Virtualization
 Server Virtualization is accomplished by a hypervisor, a specialized
 software product which must be installed on a physical computer.
 There are numerous hypervisors in the enterprise space, including
 Microsoft Hyper-V and VMware vSphere.
 Although virtualization makes it possible to create multiple logical
 computers from a single physical computer, the actual number of
 VMs that can be created is limited by the physical resources present
 on the host computer, and the computing demands imposed by the
 enterprise applications running in those VMs.
 For example, a computer with four CPUs and 64 GB of memory might
 host up to four VMs each with one vCPU and 16 GB of virtualized
 memory.
Server Virtualization
What are the benefits of server virtualization
1.   Server consolidation. Because virtualization enables one physical
     server to do the work of several servers, the total number of servers in
     the enterprise can be reduced.
2.   Simplified physical infrastructure. With fewer servers, the number of
     racks and cables in the data center is dramatically reduced. This
     simplifies deployments and troubleshooting.
3.   Reduced hardware and facilities costs. Server consolidation lowers
     the cost of data center hardware as well as facilities -- remember,
     less power and cooling.
4.   Greater server versatility. Because every VM exists as its own
     independent instance, every VM must run an independent OS.
Application Virtualization
 Application virtualization is the separation of an installation of
 an application from the client computer accessing it.
 It is a technology that enables the execution of computer applications
 in an isolated environment, separate from the underlying operating
 system and hardware.
 IT teams often take a server-based approach, delivering the
 applications without having to install them on individual desktops.
 Instead, administrators implement remote applications on a server in
 the organization's data center or with a hosting service and then
 deliver them to the users' desktops.
 Application virtualization involves packaging an application and its
 dependencies into a single package that can run on any operating
 system or device without the need for installation or modification.
Application Virtualization
 This enables organizations to deploy applications quickly and easily,
 eliminating extensive testing or modification requirements.
 It allows applications to run without the need for traditional installation
 on a user’s local device.
 To make this possible, IT must use an application virtualization product.
 Application virtualization vendors and their products include,
 1.   Microsoft App-V
 2.   Citrix Virtual Apps
 3.   Parallels Remote Application Server
 4.   VMware ThinApp or App Volumes, both of which are included with
      VMware Horizon.
 5.   VMware also offers Horizon Apps to further support app virtualization.
Application Virtualization Benefits
1.   Administrators only need to install an app once to a centralized server
     rather than to multiple desktops. This also makes it simpler to update
     applications and roll out patches.
2.   Administrators have an easier time controlling application access. For
     example, if a user should no longer have access an application, the
     administrator can deny access permissions to the application without
     uninstalling it from the user's desktop.
3.   App virtualization technology makes it possible to run applications
     that might conflict with a user's desktop applications or with other
     virtualized applications.
4.   Users can also access virtualized applications from thin clients, or
     non-Windows computers.
Application Virtualization Types
     This deployment involves installing the application on a server located
     locally, and when a user requests access to the application, an
     instance of it is presented to the user.
     The user can interact with and utilize the application as if it were
     installed directly on their local system.
      In Application Virtualization, applications are encapsulated and
     packaged in a way that makes them portable and independent of
     the host system.
There are three types of application virtualization:
1.   Local application virtualization
2.   Application streaming
3.   Server-based application virtualization
Local application virtualization
 Local Application Virtualization is a technology that allows applications
 to run in an isolated environment on a user’s local machine without
 being installed directly on the OS. The application is executed locally
 but does not modify system files or registry settings.
 It creates a virtualized environment for the application, enabling
 portability, isolation, and compatibility with different OS versions.
 For Example, VMware ThinApp packages applications into a single
 executable file, allowing them to run on a user's device without being
  installed on the OS.
 This is useful for running legacy applications on newer operating
 systems.
Examples of Local Application Virtualization
1.   VMware ThinApp: Packages applications into a single .exe file that
     runs without installation. Example: Running Microsoft Office from a USB
     drive without installing it on the PC.
2.   Microsoft App-V: Allows applications to run in a virtualized
     environment on Windows. Example: A company virtualizes Microsoft
     Excel so employees can use it without installing it on their computers.
3.   Turbo.net: Allows multiple software versions to run simultaneously.
     Example: A developer runs two different versions of Java on the same
     PC without conflicts.
4.   Cameyo: Provides cloud-based or local application virtualization for
     Windows. Example: Running Photoshop in a virtualized environment
     without installing it.
5.   BoxedApp Packer: Converts software into a single executable file with
     all dependencies bundled. Example: Running a specialized business
     tool on multiple machines without installation.
Application streaming
 Application streaming is a type of application virtualization where an
 application is delivered on-demand to a user's device without being
 fully installed. Instead of downloading and installing the entire
 application, only the necessary parts (such as UI components or
 features) are sent to the user's system when needed.
 The application executes locally, but most of its resources (like binaries,
 configurations, and libraries) are streamed from a central server only
 when required, reducing storage and improving performance.
 For Example, Microsoft App-V, Employees access Microsoft Word,
 Excel, and PowerPoint without full installation. Adobe Creative Cloud,
 When using Photoshop, Illustrator, or Premiere Pro, only the necessary
 components are downloaded when needed, reducing initial
 installation time.
Server-based application virtualization
The application runs entirely on a server that sends only its user interface
to the client device.
     No application installation or execution on the user's device
     Ideal for remote work and cloud-based services
     Users can access apps from any device, anywhere
Example:
1.   Amazon AppStream 2.0: Daily Use Case: Using AutoCAD, MATLAB, or
     SolidWorks on a low-end laptop by running them on powerful remote
     servers.
2.   Google Docs, Sheets, and Slides: Daily Use Case: Users can edit
     documents in a browser without installing Microsoft Office.
Network Virtualization
 Network virtualization (NV) is the process of converting network
 resources from hardware to software.
 This allows network administrators to create virtual networks (VNs) on
 top of physical networks.
 NV can combine multiple physical networks to one virtual,
 software-based network, or it can divide one physical network into
 separate, independent virtual networks.
 NV allows multiple virtual networks to operate on the same physical
 hardware, each with its own configurations and policies. By
 decoupling hardware from its functions, network virtualization enables
 more flexible, efficient, and scalable network management.
Network Virtualization
Network Virtualization
For Example,
An organization with offices in multiple geographic locations can have
several different network technologies working together to create its
enterprise network. Network virtualization is a process that combines all of
these network resources to centralize administrative tasks.
Administrators can adjust and control these elements virtually without
touching the physical components, which greatly simplifies network
management.
Normally, if you want to change something in your network, you have to
physically touch the hardware. But network virtualization allows you to
control everything using software—just like using a remote control in your
house!
Network Virtualization
 The following are two approaches to
 network virtualization.
1. Software-defined networking
2. Network function virtualization
 Software-defined networking
Software-defined      networking  (SDN)
controls traffic routing by taking over
routing management from data routing
in the physical environment.
For example, you can program your
system to prioritize your video call traffic
over application traffic to ensure
consistent call quality in all online
meetings.
Network Virtualization: SDN
 In traditional networks, the control and data
 plane are embedded together as a single
 unit.
 The control plane is responsible for
 maintaining the routing table of a switch
 which determines the best path to send the
 network packets and the data plane is
 responsible for forwarding the packets
 based on the instructions given by the
 control plane.
 Whereas in SDN, the control plane and data
 plane are separate entities, where the
 control plane acts as a central controller for
 many data planes.
Network Virtualization
Network function virtualization
  Network function virtualization (NFV) is a technology that uses
  virtualization to create virtual versions of network services.
  This allows service providers to run network services on commodity
  servers instead of proprietary hardware.
  Network functions virtualization (NFV) is the replacement of network
  appliance hardware like router and firewalls with virtual machines. The
  virtual machines use a hypervisor to run networking software and
  processes such as routing and load balancing.
  NVF provides the infrastructure on which SDN can run.
  Network function virtualization technology combines the functions of
  network appliances, such as firewalls, load balancers, and traffic
  analyzers that work together, to improve network performance.
Network Virtualization Examples
   Virtual LAN (VLAN). A VLAN is a subsection of a local area network
   (LAN) created with software that combines network devices into one
   group, regardless of physical location. VLANs can improve the speed
   and performance of busy networks and simplify changes or additions
   to the network.
   Google Cloud & AWS – Use virtualization to manage cloud networks
   efficiently.
   Netflix uses network virtualization to ensure seamless video streaming
   across different regions.
   Telecom Providers (AT&T, Verizon, Jio, etc.) – Use SDN and NFV to
   improve network performance and reduce costs.
Network virtualization is everywhere! It makes networks faster, more secure, and easier to
manage—whether in cloud computing, 5G, cybersecurity, or remote work solutions
Storage Virtualization
 Storage virtualization is the pooling of
 physical storage from multiple storage
 devices into what appears to be a single
 storage device or pool of available
 storage capacity. A central console
 manages the storage.
 It is the process of representing physical
 storage in the logical form to any server
 The technology relies on software to
 identify available storage capacity from
 physical devices and to then aggregate
 that capacity as a pool of storage that
 can be used by traditional architecture
 servers or in a virtual environment by
 virtual machines.
Storage Virtualization Types
1.   Block-Level Virtualization – Works at the block storage level.
2.   File-Level Virtualization – Works at the file system level.
Block-level storage virtualization abstracts physical storage at the block
level (smallest unit of storage) and presents it as a single logical storage
unit. It allows multiple physical storage devices to appear as a single
storage system.
 It is commonly used in Storage Area Networks (SANs), where multiple
 storage devices work together.
 Components used in Block Level Virtualization
1. Logical Unit Number (LUN): A logical reference to a physical storage
      volume in a SAN.
2. Storage Virtualization Layer: A software/hardware layer that maps
      logical storage to physical storage.
3. Redundant Array of Independent Disks (RAID): Used for redundancy
      and performance improvement.
File-level Virtualization
File-level virtualization is a method that operates at the file system layer,
which is the level that organizes and manages the files and directories on
a storage device.
File-level storage virtualization abstracts the file system, making multiple
file servers appear as a single storage resource. It simplifies data access
and eliminates dependencies on a specific file location.
It allows multiple file systems to be pooled together and accessed as a
single namespace, regardless of their physical location, size, or format.
However, file-level virtualization also has some drawbacks, such as the
overhead of maintaining the metadata and the mapping of files, the
potential inconsistency of file attributes and permissions across different
file systems, and the lack of granularity and efficiency for applications
that require low-level access to the data blocks.
File-level Virtualization
How it Works?
• Users and applications access files without needing to know which
  physical storage device they are stored on.
• A virtualized file system acts as an intermediary between the user and
  physical storage.
• Used in Network Attached Storage (NAS) environments.
Technical Components Used
• Distributed File System (DFS): Creates a virtual namespace to manage files
  stored across multiple locations.
• NFS (Network File System) & SMB (Server Message Block): Protocols used
  to access file-based storage over a network.
• Metadata Servers:     Manage     file   location   mappings   and   access
  permissions.
Real-World Example: Google Drive, Users see a single interface, but files are
distributed across multiple storage locations.
Network storage architecture
Network storage architecture refers to the physical and conceptual
organization of a network that enables data transfer between storage
devices and servers. It provides the backend for most enterprise-level
operations and allows users to get what they need.
The setup of a storage architecture can dictate what aspects get
prioritized, such as cost, speed, scalability or security.
The two primary types of storage systems:
1.   Network Attached Storage (NAS)
2.   Storage Area Network (SAN)
Storage Area Network
 Storage Area Network is a dedicated, specialized, and high-speed
 network which provides block-level data storage.
 It delivers the shared pool of storage devices to more than one server.
 Each server can access shared storage as if it were a drive directly
 attached to the server.
 The main aim of SAN is to transfer the data between the server and
 storage device. It also allows for transferring the data between the
 storage systems.
 Storage Area networks are mainly used for accessing storage devices
 such as tape libraries and disk-based devices from the servers.
 Due to its complexity, SAN is often reserved for big businesses that
 have the capital and the IT department to manage it. For businesses
 with high-demand files like video, the low latency and high speeds of
 SAN are a significant benefit. It also fairly distributes and prioritizes
 bandwidth throughout the network, great for businesses with
 high-speed traffic like e-commerce websites.
Network Attached Storage
 Network-attached storage (NAS) is dedicated file storage that
 enables multiple users and heterogeneous client devices to retrieve
 data from centralized disk capacity.
 Users on a local area network (LAN) access the shared storage via a
 standard Ethernet connection.
 NAS devices typically don't have a keyboard or display and are
 configured and managed with a browser-based utility. Each NAS
 resides on the LAN as an independent network node, defined by its
 own unique IP address.
 The        purpose      of
 network-attached storage is
 to    enable      users to
 collaborate and share data
 more effectively.
Network Attached Storage
Remote Team Collaboration
• Large enterprises use NAS in the cloud to enable multiple teams to access,
  edit, and share files seamlessly.
• Example: A multinational company with offices worldwide uses NAS for
  centralized document storage, ensuring employees can collaborate on
  projects in real time.
• Benefit: Eliminates the need for email-based file sharing and reduces data
  duplication.
Internet of Things (IoT) Data Storage: Smart Cities and Connected Devices
• IoT devices generate massive amounts of data that need to be stored
  efficiently.
• Example: A smart city project uses NAS-based cloud storage to collect and
  analyze data from traffic cameras, weather sensors, and public utilities.
• Benefit: Enables real-time analytics and decision-making without local
  storage constraints.
Virtual Box
Oracle VM VirtualBox is a free, open-source virtualization software that
allows users to run multiple operating systems on one computer. It's
available for Windows, Linux, Mac OS X, and Solaris.
What it does
1.   Run multiple operating systems simultaneously
2.   Test software
3.   Experiment with different configurations
4.   Isolate environments for increased security
5.   Deploy applications on-premises and to the cloud
6.   Reduce operational costs
Advantages of Virtual Box
 Isolation - A virtual machine's isolated environment is suitable for
 testing software or running programmes that demand more resources
 than are accessible in other settings.
 Virtualization- VirtualBox allows users to run another OS on a single
 computer without purchasing a new device. It generates a virtual
 machine that functions just like a real computer, with its own
 processing cores, RAM, and hard disc space dedicated only to the
 virtual environment.
 Cross-Platform Compatability- VirtualBox can run Windows, Linux,
 Solaris, Open Solaris, and MacOS as its host operating system (OS).
 Users do not have to be concerned about compatibility difficulties
 while setting up virtual computers on numerous devices or platforms.
Advantages of Virtual Box
 Easy Control Panel- VirtualBox's simple control interface makes it
 easier to configure parameters like CPU cores and RAM. Users may
 begin working on their projects within a few moments of installing the
 software program on their PCs or laptops.
 Multiple Modes- Users have control over how they interact with their
 installations. Whether in full-screen mode, flawless window mode,
 scaled window mode, or 3D graphics acceleration. This allows users
 to customize their experience according to the kind of project they
 are working on.
Disadvantages of Virtual Box
 VirtualBox, however, relies on the computer's hardware. Thus, the
 virtual machine will only be effective if the host is faster and more
 powerful. As a result, VirtualBox is dependent on its host computer.
 If the host computer has any defects and the OS only has one virtual
 machine, just that system will be affected; if there are several virtual
 machines operating on the same OS, all of them would be affected.
 Though these machines act like real machines, they are not genuine;
 hence, the host CPU must accept the request, resulting in delayed
 usability. So, when compared to real computers, these virtual
 machines are not as efficient.
Microsoft Hyper-V
 Hyper-V is Microsoft's hardware virtualization product.
 Hyper-V is a hypervisor developed by Microsoft that lets you create,
 deploy, and manage virtual machines on a Windows server.
 It offers several security, performance, and networking features that
 were not offered by Microsoft's older virtualization products, such as
 Microsoft Virtual Server and Windows Virtual PC.
 The hypervisor virtualizes processors
 and memory. It provides mechanisms
 for the virtualization stack in the root
 partition to manage child partitions,
 virtual machines (VMs) and expose
 services such as I/O (input/output)
 devices to the VMs.
Difference between VirtualBox and Hyper V
Hyper-V and VirtualBox are both virtualization tools that can run virtual
machines (VMs). Hyper-V is a type 1 hypervisor, while VirtualBox is a type
2 hypervisor. This means that Hyper-V runs directly on hardware, while
VirtualBox runs on the host operating system.