Unit 2 - Cloud Computing - Digital Content
Unit 2 - Cloud Computing - Digital Content
2
Please read this disclaimer before proceeding:
This document is confidential and intended solely for the educational purpose of
RMK Group of Educational Institutions. If you have received this document
through email in error, please notify the system manager. This document
contains proprietary information and is intended only to the respective group /
learning community as intended. If you are not the addressee you should not
disseminate, distribute or copy through e-mail. Please notify the sender
immediately by e-mail if you have received this document by mistake and delete
this document from your system. If you are not the intended recipient you are
notified that disclosing, copying, distributing or taking any action in reliance on
the contents of this information is strictly prohibited.
3
CS8791
Cloud Computing
Computer Science and Engineering
2019 – 2023 / IV Year
Created by:
August 2022
4
Table of Contents
S.No Description Page
Number
1 Course Objectives 6
6 Lecture Plan 11
8 Lecture Notes 15
9 Assignments 105
11 Part B Qs 120
5
COURSE OBJECTIVES
technologies.
computing paradigm.
6
PRE REQUISITES
CS8791
CLOUD COMPUTING
CS8591 CS8493 CS8491
Computer Operating Computer
Networks Systems Architecture
7
SYLLABUS
8
Course Outcomes
C203.1 K2 2 1 - - - - - - - - - - 2 2 1
C203.2 K3 3 2 1 - 3 - - - - - - - 2 2 -
C203.3 K3 3 2 1 - 2 - - - - - - - 2 1 -
C203.4 K3 3 2 1 1 2 - - - - - - - - - -
C203.5 K3 3 2 1 1 2 - - - - - - - - - -
C203.6 K3 2 1 - - 1 - - - - - - - - - -
10
LECTURE PLAN
11
Activity Based
Learning
12
Activity Zone
Unit – II :
Design a small Jersey application which will expose a web service method to
display list of users.
Click the below link to view the sample application.
https://www.tutorialspoint.com/restful/restful_first_application.htm
13
Class Notes
14
Unit 2 – Cloud
Enabling Technologies
15
Service Oriented Architecture
What is SOA?
Services interact with each other using communication protocols such as REST or
SOAP( Simple Object Access Protocols).
Services are loosely coupled, meaning the service interface is independent of the
underlying implementation.
Characteristics of SOA
Logical view
Message orientation
Using the SOA discipline one does not and should not need to know how
the service provider or service requester agent implementing a service is
constructed. Services communicates simply by exchanging the message.
16
Description orientation
Evolution of SOA
17
A large number of sensors provide data-collection services, denoted in the figure
as SS (sensor service).
All the SS devices interact with large or small computers, many forms of grids,
databases, the compute cloud, the storage cloud, the filter cloud, the discovery
cloud, and so on.
Filter services (fs in the figure) are used to eliminate unwanted raw data, in order
to respond to specific requests from the web, the grid, or web services.
SOA aims to search for, or sort out, the useful data from the massive amounts of
raw data items.
For raw data collected by a large number of sensors to be transformed into useful
information or knowledge, the data stream may go through a sequence of
compute, storage, filter, and discovery clouds.
18
Elements of SOA
Implementation: Actual implementation of the service with the logic & data
Service repository: It the place where the all the services are registered for the
consumers to locate it.
Service bus: It routes the request from the consumer to respective service.
19
Benefits of SOA
Service reusability: In SOA, applications are made from existing services. Thus,
services can be reused to make many applications.
Easy maintenance: As services are independent of each other they can be updated
and modified easily without affecting other services.
Reliability: SOA applications are more reliable because it is easy to debug small
services rather than huge codes
Disadvantages of SOA
High overhead:
High investment:
2. WS (Web Services)
20
REST and Systems of Systems
What is REST?
REST is a software architecture style for distributed systems, particularly distributed
hypermedia systems, such as the World Wide Web.
It is used by companies like Google, Amazon, Yahoo!, and especially social networks
such as Facebook and Twitter because of its simplicity, and its ease of being
published and consumed by clients.
A simple REST interaction between user and server in HTTP specification is given
below
3. Self-Descriptive Message
4. Stateless Interaction
21
Principles of REST Architecture Style
Interaction with RESTful web services is done via the HTTP standard,
client/server cacheable protocol.
Resources are manipulated using a fixed set of four CRUD (create, read,
update, delete) verbs or operations: PUT, GET, POST, and DELETE.
PUT creates a new resource, which can then be destroyed by using DELETE.
GET retrieves the current state of a resource. POST transfers a new state
onto a resource.
3. Self-Descriptive Message
Metadata about the resource are used for cache control, transmission error
detection, authentication or authorization, and access control.
22
Principles of REST Architecture Style
4. Stateless Interactions
The REST interactions are “stateless” in the sense that the meaning of a
message does not depend on the state of the conversation.
With the help of URIs and hyperlinks, REST has shown that it is possible to
discover web resources without an approach based on registration to a
centralized repository.
Also, restrictions on GET length, which does not allow encoding of more than
4 KB of data in the resource URI, can create problems because the server
would reject such malformed URIs, or may even be subject to crashes.
23
REST Architectural Elements
It provides a set of annotations with associated classes and interfaces that can be
used to expose Java objects as web resources.
It provides clear mappings between the URI and corresponding resources, and
mappings between HTTP methods with the methods in Java objects, by using
annotations.
The API supports a wide range of HTTP entity content types including HTML, XML,
JSON, GIF, JPG, and so on.
24
Example of RESTful Web Service: Amazon S3 Interface
The Amazon S3 API supports the ability to find buckets, objects, and
their related metadata; create new buckets; upload objects; and
delete existing buckets and objects for the aforementioned operations.
25
Web Services
26
Web Services
27
Web Services
28
Web Services
SOAP messages are encoded using XML which takes the form of start and end
tags which often constitute half or more of the message’s bytes.
Business Process Execution Language for Web Services (BPEL4WS) allows for
webservice composition to create more complex webservices and workflows.
Since SOAP can combine the strengths of XML and HTTP, as a standard
transmission protocol for data, it is an attractive technology for heterogeneous
distributed computing environments, such as grids and clouds, to ensure
interoperability.
29
Web Services
30
Publish/Subscribe Model
It is an asynchronous communication method in which messages are
exchanged between applications without knowing the identity of the sender or
recipient.
It describes a particular model for linking source and destination for a message
bus
The messages could, for example, be labeled by the desired notifying topic
(e.g., an error or completion code) and contain content elaborating the
notification
31
Advantages of Publish/Subscribe Model
1. Loose coupling
2. Stability
Loose Coupling:
Scalability:
For scalability, Increasing the number of nodes and messages also increases
the chances of experiencing a load surge or slowdown.
A publisher may only deliver messages for a certain period of time regardless
of whether the message was received or not.
1. Event notifications
2. Data streaming
32
BASICS OF VIRTUALIZATION
Virtualization refers to the creation of a virtual resource such as a server, desktop, operating
system, file, storage or network. The main goal of virtualization is to manage workloads by
radically transforming traditional computing to make it more scalable.
Virtualization Basics
Hypervisor or VMM
A hypervisor, also known as a virtual machine monitor or VMM, is software that creates and
runs virtual machines (VMs). A hypervisor allows one host computer to support multiple guest
VMs by virtually sharing its resources, such as memory and processing.
33
Use of Hypervisor
Hypervisors make it possible to use more of a system’s available resources and provide
greater IT mobility since the guest VMs are independent of the host hardware. This means
they can be easily moved between different servers.
A hypervisor reduces:
Space
Energy
Maintenance requirements
Tpyes of Hypervisor/VMM
1) Type-1:Bare Metal Hypervisor
2) Type-2:Hosted Hypervisor
Type 1 hypervisor: hypervisors run directly on the system hardware – A “bare metal”
embedded hypervisor, 34
Type 2 hypervisor: hypervisors run on a host operating system that provides virtualization
services, such as I/O device support and memory management.
Speed: Hypervisors allow virtual machines to be created instantly, unlike bare-metal servers.
This makes it easier to provision resources as needed for dynamic workloads. 35
Efficiency: Hypervisors that run several virtual machines on one physical machine’s resources
also allow for more efficient utilization of one physical server. It is more cost- and energy-
efficient to run several virtual machines on one physical machine than to run multiple
underutilized physical machines for the same task.
Flexibility: Bare-metal hypervisors allow operating systems and their associated applications
to run on a variety of hardware types because the hypervisor separates the OS from the
underlying hardware, so the software no longer relies on specific hardware devices or drivers.
Portability: Hypervisors allow multiple operating systems to reside on the same physical
server (host machine). Because the virtual machines that the hypervisor runs are independent
from the physical machine, they are portable.
36
Types of Virtualization
1. a. OS Virtualization
Virtualizing an operating system environment is the most common form of virtualization. It
involves putting a second instance or multiple instances of an operating system, like Windows,
Linux, Mac OS on a single machine. This empowers businesses to reduce the amount of physical
hardware required to run their software by cutting down the number of actual machines. It
saves companies cash on energy, cabling, hardware, rack space, and more, while still allowing
them to run the same quantity of applications.
b. Application-Server Virtualization
It is often referred to as ‘advanced load balancing,’ as it spreads applications across servers,
and servers across applications. This enables IT departments to balance the workload of
specific software in an agile way that doesn’t overload a specific server or underload a specific
application in the event of a large project or change. In addition to load balancing it also allows
for easier management of servers and applications, since you can manage them as a single
instance
c. Application Virtualization
Ability of remote applications operating on computers as if they reside naturally on the hard
drive, but instead are running on a server. The ability to use RAM and CPU to run the programs
while storing them centrally on a server. Eg - Microsoft Terminal Services and cloud-based
software
37
2. Administrative Virtualization
Administrative virtualization is one of the least-known forms of virtualization, likely due to the
fact that it’s primarily used in data centers. The concept of administration, or ‘management,’
virtualization means segmented admin roles through group and user policies. Eg: IDaaS(
Indentity as a vervice).
3. Network Virtualization
Network virtualization involves virtually managing IPs, and is accomplished through tools like
routing tables, NICs, switches, and VLAN tags.
It also automates many network administrative tasks. Network virtualization is specifically
useful for networks that experience a huge, rapid, and unpredictable traffic increase.
Two categories:
Internal: Provide network-like functionality to a single system.
External: Combine many networks or parts of networks into a virtual unit.
Advantage: The intended result of network virtualization provides improved network
productivity and efficiency.
4. Hardware Virtualization
The hypervisor controls the processor, memory, and other hardware components by allowing
the different OS to run on the same machine without the need for source code.
Hardware virtualization is further subdivided into the following types:
Full Virtualization –simulation of the “actual hardware” done to allow the software to
run an unmodified guest OS. No modification is required.
Para Virtualization – In this type of virtualization, software unmodified runs in
modified OS as a separate system.
Partial Virtualization – In this type of hardware virtualization, the software may need
modification to run.
5. Storage Virtualization
Storage virtualization is an array of servers that are managed by a virtual storage system. The
servers aren’t aware of exactly where their data is.
38
Advantage:
Improved storage management in a heterogeneous environment
Cost saving, Easy updates, better availability
Better storage utilization
Automated management
6. Memory Virtualization
Memory virtualization enhances performance by providing greater memory capacity without
any addition to the main memory.
7.Data Virtualization
Without any technical details, you can easily manipulate data. It decreases the data errors and
workload.
8.Desktop virtualization
As one can access remotely, you are able to work from any location and on any PC. It provides
a lot of flexibility for employees to work from home.
It also protects confidential data from being lost or stolen by keeping it safe on central servers.
39
LEVELS OF VIRTUALIZATION
The Various levels of virtualization are …
Instruction Set Architecture Level
Hardware Abstraction Level
Operating System Level
Library Support Level
User-Application Level
1. ISA virtualization
This virtualization is helpful to run heaps of legacy code which was originally written for
different hardware configurations.
It is possible to run a large amount of legacy binary code written for various processors
on any given new hardware host machine.
Instruction set emulation leads to creation of virtual ISAs on any hardware machine.
The basic emulation method is through code interpretation.
An interpreter program interprets the source instructions to target
instructions one by one.
One source instruction may require tens or hundreds of native target
instructions to perform its function. Obviously, this process is relatively
slow.
This approach generates a virtual hardware environment for a VM. On the other hand,
the process manages the underlying hardware through virtualization.
MAIN IDEA: The idea is to virtualize a computer’s resources, such as its processors,
memory, and I/O devices.
This way multiple users can use the same hardware with numerous instances of
virtualization at the same time.
IBM had first implemented this on the IBM VM/370 back in 1960. It is more
usable for cloud-based infrastructure.
currently, Xen hypervisors are using HAL to run Linux and other OS on x86
based machines.
OS-level virtualization creates isolated containers. The containers behave like real
servers.
42
Figure-The OpenVZ virtualization layer inside the host OS, which provides some OS images to
create VMs quickly
43
5. User-Application Level
The virtualization layer sits as an application program on top of the operating system
44
Virtualization Structures
Depending on the position of the virtualization layer, there are several classes of VM
architectures, namely the hypervisor architecture, paravirtualization, and full virtualization
host-based virtualization.
Essentially, a hypervisor must be able to convert physical devices into virtual resources
dedicated for the deployed VM to use.
The hypervisor provides hypercalls for the guest OSes and applications.
A micro-kernel hypervisor includes only the basic and unchanging functions (such
as physical memory management and processor scheduling). The device drivers and
other changeable components are outside the hypervisor.
45
A monolithic hypervisor implements all the functions of microlevel and more,
including those of the device drivers and other changeable components.
It just provides a mechanism by which a guest OS can have direct access to the physical
devices. As a result, the size of the Xen hypervisor is kept rather small.
The core components of a Xen system are the hypervisor, kernel, and applications
Like other virtualization systems, many guest OSes can run on top of the hypervisor.
However, not all guest OSes are created equal, and one in particular controls the others. The
guest OS, which has control ability, is called Domain 0, and the others are called Domain
U.
46
Figure – Xen Architecture (Hypervisor based/hardware assisted based)
Domain 0
Domain 0 is a privileged guest OS of Xen. It is first loaded when Xen boots without
any file system drivers being available. Domain 0 is designed to access hardware
directly and manage devices.
Therefore, one of the responsibilities of Domain 0 is to allocate and map hardware
resources for the guest domains (the Domain U domains).
Advantage
Domain 0, behaving as a VMM, allows users to create, copy, save, read, modify, share,
migrate, and roll back VMs as easily as manipulating a file,
For example, if Xen is based on Linux and its security level is C2. Its management VM is
named Domain 0, which has the privilege to manage other VMs implemented on the same
host. If Domain 0 is compromised, the hacker can control
47
2. Full Virtualization Architecture
Full virtualization does not need any modification to the host OS.
It relies on binary translation to trap and to virtualize the execution of certain
sensitive, nonvirtualizable instructions.
Normally The guest OSes and their applications consist of noncritical and critical
instructions.
With full virtualization, noncritical instructions run on the hardware directly while critical
instructions are discovered and replaced with traps into the VMM to be emulated by
software.
Why are only critical instructions trapped into the VMM? This is because binary
translation can incur a large performance overhead.
Noncritical instructions do not control hardware or threaten the security of the system,
but critical instructions do.
Advantage:
Therefore, running noncritical instructions on hardware not only can promote efficiency, but
also can ensure system security.
The VMM scans the instruction stream and identifies the privileged, control- and
behavior-sensitive instructions.
When these instructions are identified, they are trapped into the VMM, which emulates
the behavior of these instructions. The method used in this emulation is called binary
translation.
48
Therefore, full virtualization combines binary translation and direct execution.
Tool- VMWare : The below diagram is diagram of full virtualization structure based on
the virtualization tool VMWare
Disadvantage
The performance of full virtualization may not be ideal, because it involves binary translation
which is rather time-consuming. In particular, the full virtualization of I/O-intensive
applications is a really a big challenge because it increases the cost of memory usage.
An alternative VM architecture is to install a virtualization layer on top of the host OS. This
host OS is still responsible for managing the hardware. The guest OSes are installed and run
on top of the virtualization layer. Again, no changes to host OS is required.
Dedicated applications may run on the VMs and also some other guest applications can also
49
run with the host OS directly.
Tool- VMWare : The below diagram is diagram of host based virtualization structure
based on the virtualization tool VMWare
Figure: Indirect execution of complex instructions via binary translation of guest OS requests
using the VMM plus direct execution of simple instructions on the same host.
Advantages
First, the user can install this VM architecture without modifying the host OS.
The virtualizing software can rely on the host OS to provide device drivers
Disadvantages
Depending on the position of the virtualization layer, there are several classes of VM
architectures, namely the hypervisor architecture, paravirtualization, and full virtualization
host-based virtualization.
Essentially, a hypervisor must be able to convert physical devices into virtual resources
dedicated for the deployed VM to use.
The hypervisor provides hypercalls for the guest OSes and applications.
51
A micro-kernel hypervisor includes only the basic and unchanging functions (such
as physical memory management and processor scheduling). The device drivers and
other changeable components are outside the hypervisor.
It just provides a mechanism by which a guest OS can have direct access to the physical
devices. As a result, the size of the Xen hypervisor is kept rather small.
The core components of a Xen system are the hypervisor, kernel, and applications
Like other virtualization systems, many guest OSes can run on top of the hypervisor.
However, not all guest OSes are created equal, and one in particular controls the others.
The guest OS, which has control ability, is called Domain 0, and the others are called
Domain U. Multiple instances of a VM can exist at any point.
52
Figure – Xen Architecture (Hypervisor based/hardware assisted based)
Domain 0
Domain 0 is a privileged guest OS of Xen. It is first loaded when Xen boots without
any file system drivers being available. Domain 0 is designed to access hardware
directly and manage devices.
Therefore, one of the responsibilities of Domain 0 is to allocate and map hardware
resources for the guest domains (the Domain U domains).
Advantage
Domain 0, behaving as a VMM, allows users to create, copy, save, read, modify, share,
migrate, and roll back VMs as easily as manipulating a file,
For example, if Xen is based on Linux and its security level is C2. Its management VM is
named Domain 0, which has the privilege to manage other VMs implemented on the same
host. If Domain 0 is compromised, the hacker can control 53
2. Full Virtualization Architecture
Full virtualization does not need any modification to the host OS.
It relies on binary translation to trap and to virtualize the execution of certain
sensitive, nonvirtualizable instructions.
Normally The guest OSes and their applications consist of noncritical and critical
instructions.
With full virtualization, noncritical instructions run on the hardware directly while critical
instructions are discovered and replaced with traps into the VMM to be emulated by
software.
Why are only critical instructions trapped into the VMM? This is because binary
translation can incur a large performance overhead.
Noncritical instructions do not control hardware or threaten the security of the system,
but critical instructions do.
Advantage:
Therefore, running noncritical instructions on hardware not only can promote efficiency, but
also can ensure system security.
The VMM scans the instruction stream and identifies the privileged, control- and
behavior-sensitive instructions.
When these instructions are identified, they are trapped into the VMM, which emulates
the behavior of these instructions. The method used in this emulation is called binary
translation. 54
Therefore, full virtualization combines binary translation and direct execution.
Tool- VMWare : The below diagram is diagram of full virtualization structure based on
the virtualization tool VMWare
Disadvantage
The performance of full virtualization may not be ideal, because it involves binary translation
which is rather time-consuming. In particular, the full virtualization of I/O-intensive
applications is a really a big challenge because it increases the cost of memory usage.
An alternative VM architecture is to install a virtualization layer on top of the host OS. This
host OS is still responsible for managing the hardware. The guest OSes are installed and run
on top of the virtualization layer. Again, no changes to host OS is required.
55
Dedicated applications may run on the VMs and also some other guest applications can also
run with the host OS directly.
Tool- VMWare : The below diagram is diagram of host based virtualization structure
based on the virtualization tool VMWare
Figure: Indirect execution of complex instructions via binary translation of guest OS requests
using the VMM plus direct execution of simple instructions on the same host.
Advantages
First, the user can install this VM architecture without modifying the host OS.
The virtualizing software can rely on the host OS to provide device drivers
Disadvantages
Therefore Although the host-based architecture has flexibility, the performance is too
low to be useful in practice.
3. Para Virtualization
• In Previous two methods Performance degradation is a critical issue of a virtualized
system. To Overcome that Para Virtualization is used
ESX is a VMM or a hypervisor for bare-metal x86 symmetric multiprocessing (SMP) servers. It
accesses hardware resources such as I/O directly and has complete resource management
control. An ESX-enabled server consists of four components: a virtualization layer, a resource
manager, hardware interface components, and a service console, as shown in Figure below.
To improve performance, the ESX server employs a para-virtualization architecture in which
the VM kernel interacts directly with the hardware without involving the host OS.
58
Figure: The VMware ESX server architecture using para-virtualization.
59
Virtualization Tools and Mechanisms
Virtualization Tools
1.XEN
2.VMware
3.VirtualBox
4.KVM
5.HyperV
6.OpenVZ
1.XEN
XEN runs on LINUX and UNIX.
XEN is included with most popular Linux Platforms like Fedora, RHEL, CentOS, Ubuntu and
Debian.
Features:
It is Open Source
Supports Paravirtualization and Hardware Assisted Virtualization
Features:
Both Free and Paid
Supports Windows, Linux and MaC OS 60
Easy to use, Quick Installation
Supports Paravirtualization, Full Virtualization and Hardware Assisted Virtualization
3.VirtualBox
VirtualBox is a general-purpose virtualization tool for x86 and x86-64 hardware, targeted at
server, desktop, and embedded use, that allows users and administrators to easily run multiple
guest operating systems on a single host.
Features:
Open Source
Supports Windows, Solaris,Linux and MaC OS
Easy to use,
Supports Paravirtualization and Hardware Assisted Virtualization
4.KVM
KVM hypervisor is the virtualization layer in Kernel-based Virtual Machine (KVM), a free,
open source virtualization architecture for Linux distributions.
Features:
Open Source
Supports Linux
Supports Para Virtualization, Full Virtualization and Hardware Assisted Virtualization
Powerful Command Line Interface
• HyperV isolates the physical machine into child partitions and allocates them to
various guest operating systems.
• HyperV improves server utilization as well as save the money of customer cmp to in-
house physical server.
Disadvantages are –
HyperV only works on Windows,
Its inability to virtualize audio hardware,
It doesn’t support burning to DISC, audio CDs, video CD/DD, etc.
6.OpenVZ
• OpenVZ – OpenVZ does virtualization in operating system level for Linux.
• Node’s kernel is used to split the operating system into containers and then, the
• OpenVZ uses two types of resources – dedicated resources (they are own resources
guaranteeing own VPS) and burst resources (they are the result of spare resources in
the system).
• OpenVZ doesn’t need many resources and since it shares kernel among various VPS
• OpenVZ can save memory and CPU.
Advantage
OpenVZ is low priced ,less complicated to set up and maintain.
User-friendly,lowest management complexity.
Disadvantages
– It only runs on Linux and doesn’t support Windows / BSD.
62
VIRTUALIZATION OF CPU – MEMORY – I/O DEVICES
1. CPU VIRTUALIZATION
2. MEMORY VIRTUALIZATION
3. I/O VIRTUALIZATION
1.CPU VIRTUALIZATION
CPU virtualization involves a single CPU acting as if it were multiple separate CPUs.
CPU Virtualization is a hardware feature found in all current AMD & Intel CPUs that
allows a single processor to act as if it was multiple individual CPUs. This allows an
operating system to more effectively & efficiently utilize the CPU power in the computer
so that it runs faster.
CPU Virtualization goes by different names depending on the CPU manufacturer. For
Intel CPUs, this feature is called Intel Virtualization Technology, or Intel VT, and with
AMD CPUs it is called AMD-V.
CPU virtualization is disabled by default in the BIOS and needs to be enabled in order
for an operating system to take advantage of it.
63
Behavior-sensitive instructions (CPU’s SUPERVISOR MODE)
A CPU architecture is virtualizable if it supports the ability to run the VM’s privileged and
unprivileged instructions in the CPU’s user mode while the VMM runs in CPU’s supervisor
mode.
x86 INTEL processors are not virtualizable primarily, great effort is taken to virtualize them as
follows
hardware-assisted virtualization {or} Para & hardware-assisted virtualization must be
used.
Intel calls the privilege level of x86 processors the VMX Root Mode.
In order to control the start and stop of a VM a set of additional instructions are added
All virtualization vendors(companies offering virtualization technique) like Xen, VMware,
and the Microsoft Virtual PC all implement their hypervisors by using the VT-x
technology.
Intel and AMD add an additional mode called privilege mode level (some people call it
Ring-1)
Operating systems can still run at Ring 0 and the hypervisor can run at Ring -1 to create
and manage virtual machines.
virtual memory virtualization involves sharing the physical system memory in RAM and
dynamically allocating it to the physical memory of the VMs
• Two-stage mapping process should be maintained by the guest OS and the VMM,
respectively:
• The VMM is responsible for mapping the guest physical memory to the actual
machine memory.
65
Figure – Two-Level Memory Management Scheme
Memory Virtualization in INTEL
Intel developed a hardware based EPT(Extended Page Table by Intel for Memory
Virtualization) technique.
When the virtual address of the L4 page table is obtained, the CPU will calculate the virtual
address of the L3 page table so on till L1 to get the virtual address
66
3.I/O VIRTUALIZATION
In I/O virtualization, a virtual device is substituted for its physical equivalent, such as a
network interface card (NIC) or host bus adapter (HBA),I/O Ports and input, output,
memory-storage devices.
Benefits
• Improve performance by using idle slots
• Reduce the cost of data center cooling, heating and power
I/O virtualization involves managing the routing of I/O requests between virtual devices and
the shared physical hardware.
• Disadvantage: =Slow
67
2. PARA VIRTUALIZATION
• It is also known as the split driver model consisting of a frontend driver and a
backend driver.
• The frontend driver manages the I/O requests of the guest OSes
• The backend driver is responsible for managing the real I/O devices.
• Disadvantage: Higher Overhead
The VMware Workstation runs as an application. It leverages the I/O device support in guest
OSes, host OSes,and VMM to implement I/O virtualization. The application portion (VMApp)
uses a driver loaded into the host operating system (VMDriver) to establish the privileged VMM,
which runs directly on the hardware.
Intel hardware support for virtualization of processor, memory, and I/O devices.
Figure 3.10 provides an overview of Intel’s full virtualization techniques. For processor
virtualization, Intel offers the VT-x or VT-i technique. VT-x adds a privileged mode (VMX Root
Mode) and some instructions to processors. For memory virtualization, Intel offers the EPT,
which translates the virtual address to the machine’s physical addresses to improve
performance. For I/O virtualization, Intel implements VT-d and VT-c to support this.
Figure - Intel hardware support for virtualization of processor, memory, and I/O
devices.
68
Disaster Recovery
For virtual disaster recovery, an organization should copy virtual machine (VM)
workloads off-site on a regular basis.
Replication can essentially make a real-time copy of VMs in a separate location, thus
strengthening disaster recovery process.
By having your system completely virtualized each of your server’s files are encapsulated in a
single image file. An image is basically a single file that contains all of server’s files, including
system files, programs, and data; all in one location.
which restarts a virtual machine on a different server when the original hardware fails,
4. Offsite backup
Having an offsite backup is a huge advantage. whether it be a natural disaster, a power
outage, or a water pipe bursting, it is nice to have all your information at an offsite location.
69
Virtual disaster recovery plan and testing plan
Define RTOs (recovery time objectives) and RPOs (recovery point objectives).
Test the plan.
Virtual disaster Recovery test Plan
The organization should review and test its virtual disaster recovery plan on a regular
basis, especially after any changes have been made to the cloud environment.
70
Working of DRaaS
1.Replication – Duplicating data from a live environment and sending it to a third-party
that can host the environment remotely.
2. Failover – The process of moving user data during a catastrophe to the third-party host.
3.Failback – The process of moving data from the third-party host’s environment back to
the end user.
71
Major vendors
There are several data protection vendors that offer comprehensive virtual backup and
disaster recovery. Some key players include:
Veeam Software offers backup and recovery for physical and cloud workloads as well.
VMware, a pioneer in virtualization, provides disaster recovery through products such
as Site Recovery Manager and vSphere Replication.
Zerto's flagship Virtual Replication product features one-to-many replication and
automated recovery.
72
73
Assignments
74
Assignment - II
`
Assume you are creating a start-up software company, Explore the options
available in AWS to create a cloud infrastructure for your start-up and
submit the plan. (CO3, K3)
75
Question Bank
76
Unit II
Part A (CO2, K2)
1. What is SOA?
SOA, or Service-Oriented Architecture, is defined as the design of a software system
that makes use of services of new or legacy applications through their published or
discoverable interfaces.
2. List the characteristics of SOA.
Logical view
Message orientation
Description Orientation
77
REST is not a standard. It is a design and architectural style for large-scale distributed
systems.
78
17. What are the two types of hypervisor
Tpyes of Hypervisor/VMM
Type-1:Bare Metal Hypervisor
Type-2:Hosted Hypervisor
Type 1 hypervisor: hypervisors run directly on the system hardware – A “bare metal”
embedded hypervisor.
Type 2 hypervisor: hypervisors run on a host operating system that provides virtualization
services, such as I/O device support and memory management.
81
Supportive Online
Courses
82
Relevant Online Courses
83
Real-time
Applications
84
Real world Examples of Cloud
Cloud Storage:
Drop Box
Gmail
Facebook
Marketing:
Maropost
Hubspot
Adobe Marketing Cloud
Education:
SlideRocket
Ratatype
Amazon Web Services
Healthcare:
ClearData
Dell’s Secure Healthcare Cloud
IBM Cloud
85
Real Life Analogies
What would you prefer, either buy or rent car?
Buy Your Own Car
Buying a car is a big investment, and there are a lot of important decisions to take
into account. Some people like all the different options, and others don’t want to
bother with thousands of decisions. When buying a car you have full control over
everything, its make and model, cost, interior, etc. Additionally, you’ve got to work
about taxes, insurance, inspections, and all sorts of maintenance, you’ve got the
control, but it comes with a hassle.
Renting a Car
Then how about renting a car? You have fewer and simpler decisions to make.
You just need to select a car from what’s available, and you can switch your car if
something comes up.
Rent when you need; pay when you use. You don’t have to worry about
maintenance costs, tax, and insurance since they are included in your rental fee.
On the other hand, there are obviously some disadvantages. You’re limited by
what’s available from the rental vendor, you may not be allowed to customize the
car, and the car is not dedicated to you all the time.
Translating the Analogy to Cloud Computing
This simple real life analogy is easily translatable to Cloud Computing.
Buying your own car is similar to setting up your own on-premise data center. You
have the flexibility to customize whatever you like, starting from physical
infrastructure, the security system, hardware and software, etc. However, you
also have to invest a lot of money upfront. And also, you will also need to manage
it later when it’s operating.
On the other hand, instead of building your own data center, you can rent
computation power and storage from the cloud provider. You can scale in and out
when necessary. Just pay when you use. No specific commitment takes place. You
can start and stop anytime.
86
Contents Beyond
Syllabus
87
1. Serverless Computing
Serverless architecture (also known as serverless computing or function as a
service, FaaS) is a software design pattern where applications are hosted by a third-
party service, eliminating the need for server software and hardware management
by the developer. Applications are broken up into individual functions that can be
invoked and scaled individually.
88
2. Micro Services
Microservices are an architectural approach to building applications. As an
architectural framework, microservices are distributed and loosely coupled, so one
team’s changes won’t break the entire app. The benefit to using microservices is
that development teams are able to rapidly build new components of apps to
meet changing business needs.
A way to build apps, optimized for DevOps and CI/CD
What sets a microservices architecture apart from more traditional, monolithic
approaches is how it breaks an app down into its core functions. Each function is
called a service, and can be built and deployed independently, meaning individual
services can function (and fail) without negatively affecting the others. This helps
you to embrace the technology side of DevOps and make constant iteration and
delivery (CI/CD) more seamless and achievable.
Think of your last visit to an online retailer. You might have used the site’s search
bar to browse products. That search represents a service. Maybe you also saw
recommendations for related products—recommendations pulled from a database
of shopper preferences. That’s also a service. Did you add an item to an online
cart? You guessed it, another service.
So, a microservice is a core function of an application and it runs independent of
other services, but a microservices architecture is about more than just the loose
coupling of an app’s core functions—it’s about restructuring development
teams and interservice communication in a way that prepares for inevitable
failures, future scalability, and new feature integration.
How is this achieved? By adapting the basics of a service-oriented architecture
(SOA) to deploy microservices.
89
ASSESSMENT SCHEDULE
Tentative schedule for the Assessment During 2022-2023 odd
semester
90
Prescribed Text Books
& References
91
Text Books and References
TEXT BOOKS:
T1: Kai Hwang, Geoffrey C. Fox, Jack G. Dongarra, "Distributed and Cloud
Computing, From Parallel Processing to the Internet of Things", Morgan
Kaufmann Publishers, 2012.
REFERENCES:
92
Mini project
Suggestions
93
Mini Project Ideas
1. Design a dynamic website about yourself, showcasing your talents, skillsets,
interests, your opinion on current affairs and hobbies and host it in using
AWS cloud.
3. Design a model secure health cloud for a hospital near your residence.
8. Can you implement a simple application which integrates Big Data, Machine
Learning concepts and deploy it in cloud platform?
10. Can you think of any solution for COVID-19 (data gathering, data
management) using cloud?
94
Thank you
Disclaimer:
This document is confidential and intended solely for the educational purpose of RMK Group
of Educational Institutions. If you have received this document through email in error,
please notify the system manager. This document contains proprietary information and is
intended only to the respective group / learning community as intended. If you are not the
addressee you should not disseminate, distribute or copy through e-mail. Please notify the
sender immediately by e-mail if you have received this document by mistake and delete this
document from your system. If you are not the intended recipient you are notified that
disclosing, copying, distributing or taking any action in reliance on the contents of this
information is strictly prohibited.
95