Cloud Computing-Till Mid Term
Cloud Computing-Till Mid Term
Table of Contents:
Lesson Lesson Title (font size 11; font style Garamond) Pg. No.
No.
1 Course Overview 2
2 Introduction to Cloud Computing 3
3 History and Background of Cloud Computing 5
4 Basics of Computers 9
5 Basics of Data Communication 10
6 Basics of Computer Networking 11
7 Advanced Topics of Computer Networks 22
8 Virtualization 27
9 Essential Characteristics of Cloud Computing 35
10 Benefits of Cloud Computing 40
11 Risks and Challenges of Cloud Computing 41
12 Roles and Boundaries of Cloud Computing 43
13 Cloud Service Models 45
14 Data Storage in Clouds 55
15 Miscellaneous Services of Cloud Computing 58
16 Cloud Deployment Models 61
17 Service Oriented Architecture 64
18 Cloud Security Threats 66
19 Trust Issues in Cloud 71
20 Mechanisms Related to Cloud Infrastructure 72
21 Service Agreements 77
22 Cloud Hosting Data Center Design 79
23 Cloud Architecture 83
24 Specialized Cloud Mechanisms 88
25 Cloud Management 99
26 Fundamental Cloud Architectures 101
27 Advanced Cloud Architectures 104
28 Cloud Federation 122
29 Cloud Delivery/Service Models’ Perspectives 123
30 Inter-Cloud Resource Management 127
31 Cloud Cost Metrics and Pricing Models 128
32 Cloud Service Quality Metrics 133
33 Cloud Simulator 136
34 Computer Security Basics 137
35 Network Security Basics 144
36 Cloud Security Mechanisms 145
37 Privacy Issues of Cloud Computing 148
38 Security Issues of Cloud Computing 151
39 Trust Issues of Cloud Computing 155
40 Open Issues in Cloud 158
41 Disaster Recovery in Cloud Computing 161
42 Migrating to the Cloud 167
43 Cloud Application Scalability and Resource Scheduling 171
44 Mobile Cloud Computing 176
45 Special Topics in Cloud Computing and Conclusion of Course 182
Lesson No. 01
INTRODUCTION TO COURSE
Module No – 001
• This course is designed to cover different dimensions of Cloud Computing.
• The course aims at providing good knowledge regarding the Cloud Computing.
• The course begins with the background knowledge.
• Cloud Computing has over lapping features with various other forms of computing.
• Basically it is the provision of computing (over virtualized resources) as a (charged for)
service over the Internet.
• It is important to build some conceptual foundations.
• Cloud computing has somehow evolved from the fields of Cluster Computing and Grid
Computing.
• The course begins with the overview of these field.
• Since the Cloud Computing aims at providing computations over Internet, this course
builds and revises the basic and advanced networking concepts such as:
• Network structures, designs, protocols etc.
• Switching, routing and network virtualization.
• Data center networking
• Cloud Computing depends upon a technology called Virtualization technology for dynamic
creation and provisioning of computing resources.
• Up-to-date knowledge of virtualization is discussed before proceeding.
• Different features of Cloud Computing with reference to course books and National
Institute of Standards and Technology (NIST) USA will be introduced/explained as and
when an enough background knowledge is gained.
• The course continues with the coverage of Cloud architecture, services, examples and
issues related to security and privacy etc. for Cloud Computing.
• Later on, the in-depth coverage of Cloud mechanisms are covered.
• The delivery models of Cloud Computing and Cloud Services are periodically discussed
with increasing complexity.
• The consumers of Cloud Computing are under a legal cover of Service Level Agreement
(SLA).
• The rights and liabilities of Cloud consumers and Cloud providers are also covered.
• A significant volume of the course covers the security issues related to computers and
Cloud computing.
• We shall also discuss the disaster recovery and decision making for Cloud computing.
• Cloud Computing setup and hosting is a complex task.
• Cloud management and Cloud hosting data center architectures are also covered.
• Cloud Computing is also provisioned through mobile phones.
• As special contribution:
o The course covers the Mobile Cloud Computing field.
o The emerging field of Software Defined Networking (SDN) is introduced.
• Recommended books and publications:
o “Cloud Computing: Concepts, Technology & Architecture” Book by Ricardo
Puttini, Thomas Erl, and Zaigham Mahmood; Prentice Hall/PearsonPTR
o “Cloud Computing” Book by Kris Jamsa; Jones & Bartlett Publishers
o Liu, Fang, et al. "NIST cloud computing reference architecture." NIST special
publication 500.2011 (2011): 292.
• Please follow these important points:
o Cover the course according to modules.
o If a key term is confusing to you, use the recommended course book/s and/or
Google.
o Usually, the detail of the key term is covered in the same module or coming
modules, so be patient.
o Background knowledge is provided to refresh the previous knowledge only. Not
for knowledge building.
o Students are encouraged to study/consult the books related to Networks and
Computer Architecture, Computer Security, Network Security etc. as well.
• Teacher’s email: saimatunio@[Link]
Lesson No. 02
INTRODUCTION TO CLOUD COMPUTING
Module No – 002:
“Cloud computing is a model for enabling ubiquitous, convenient, on-demand
network access to a shared pool of configurable computing resources (e.g.,
networks, servers, storage, applications, and services) that can be rapidly
provisioned and released with minimal management effort or service provider
interaction.”
• Computer Scientist John McCarthy is attributed with delivering the idea that computations
will be provisioned as utilities in future. This idea was presented in 1961.
• In 1960s and 1970s, the mainframes (giant powerful computers) were leased out by the
manufacturers.
• The idea of grid computing emerged in 1990s to use the processing power of networked PCs
for scientific calculations during idle times.
• In 1990s, [Link] started bringing remotely provisioned software services to the
enterprises. Amazon Web Services (AWS) were launched in 2002.
• In 2006, the term “cloud computing” emerged that enabled organizations to “lease” the
computing capacity and processing power from cloud providers.
Cluster Architecture
Module No – 005: Overview of Grid Computing:
• The grid is an integrated computing infrastructure for bringing together computers to create
a large collection of compute, storage, and network resources.
• Grid is used to solve large-scale computation problems or to enable fast information
retrieval by registered users or user groups.
• Computers include PCs, workstations, server clusters, supercomputers, laptops, notebooks,
mobile computers, PDAs, etc.
• Building virtual grid through CPU scavenging: Creating a grid by using unutilized CPU
cycles in a network of computers at night or periods of inactivity.
o This is done on voluntary basis. The grid hosts donate some RAM, disk space
and network bandwidth as well.
o The most famous example is the SETI@Home which applied over 3 million
computers to achieve 23.37 TFlpos as of Sept. 2001.
• Grid Middle ware Layered Architecture (deployed on participant computers):
Lesson No. 04
BASICS OF COMPUTERS
Module No – 008:
• Mainframe:
o A mainframe is a large, expensive, powerful server that can handle hundreds or
thousands of connected users/servers simultaneously. For example a single
mainframe server of IBM’s Z series can provide the equivalent computing
throughput of at least 500 servers.
o In 1960s and 1970s, the mainframes were leased out by the manufacturers rather
than sold because of enormous cost of ownership.
• Mainframe leasing model:
o The customers were charged on monthly basis for the use of hardware such as
CPU, memory and peripheral devices.
o The software (compilers, editors etc.) usage was charged for the time of usage.
o The mainframe leasers used to develop customized software exclusively for a
client organization and charged for it.
o The client was also charged for the maintenance of those customized software.
o This model still exists in the form of cloud computing.
• Server:
o A server is a computer which provides services to other computers and/or
devices connected to it. Services provided by a server include the controlled
access to hardware and software resources and storage.
o A server can support hundreds and thousands of simultaneous users.
o Servers are available in a variety of sizes and types.
o Web server: stores websites and web apps and provides them on your desktops
and mobiles through web browsers.
o Domain Name Server (DNS): Stores domain names and the corresponding IP
addresses.
o Database server: Hosts database and provides access to data and provides data
manipulation functionality.
• Desktop:
o A desktop is a computer which is designed to remain in a stationary position. It is
used as a personal computer.
o Intended to be used by one person at a time.
o Performs the activities such as
▪ Input
▪ Processing
▪ Output
▪ Storage
.
Lesson No. 05
BASICS OF DATA COMMUNICATIONS
Module No – 009:
• Data Communication: Exchange of data over some transmission medium between two
devices.
• The following factors are essential for data communication:
o Data must be delivered to correct destination.
o There must be timely delivery of the data.
o There must not be uneven delay among the packet arrival time during audio or
video transmission.
• Components:
o Message: The data to be sent. Can be text, numbers, pictures, audio and video.
o Sender
o Receiver
o Transmission medium: The physical path through which a message travels from
sender to receiver.
o Protocol: The set of agreed-upon communication-rules between sender and
receiver devices. Two devices can be connected but not communicating without
a protocol.
• Data Representation:
o Text: Represented by bit pattern called code e.g.; Unicode and American
Standard Code for Information Interchange (ASCII).
o Numbers: Directly converted binary of the number. ASCII is not used to
represent numbers.
o Images: Sent as binary patterns. Image is represented by a matrix of pixels. Pixel
is a small dot. Each pixel is assigned a bit pattern on the basis of color.
o Audio: A continuous stream of data. Different from text, numbers and images.
o Video: Can be a continuous stream or a sequence of image combinations.
Module No – 010: Data Flow:
• Data Flow:
o Simplex: Unidirectional communication in which either one of the sender or
receiver device can transmit. For example: key board, monitor etc.
o Half Duplex: Both devices can communicate but one at a time. The entire
capacity of the transmission medium is available to the transmitting device. For
example: walkie-talkies.
o Full Duplex: Both devices can send and receive at the same time. The
transmission medium should provide separate paths (channels) for the
transmission of each device. For example telephone conversation is full duplex.
Lesson No. 06
BASICS OF COMPUTER NETWORKING
Module No – 011:
• Computer networking was conceived in 1960s soon after the invention of computers.
• A network is a collection of computers and devices connected together through
transmission media.
• Devices:
o Hosts: Large computers, desktops, laptops, cellular phone or security system.
o Connecting devices:
▪ Router: A device which connects the network with other networks.
▪ Switch: A device which connects devices within the network.
▪ Modem: A device which changes the form of data (modulates-
demodulates).
▪
• Network Criteria:
o Performance: It is often evaluated by two metrics:
▪ Throughput (bulk of data transmitted in unit of time) and delay.
▪ Performance: It is often evaluated by two metrics:
• Increasing the throughput may increase the congestion and hence
increase the network delay.
• The transit time (message travel time) and response time (time
between inquiry and response) indicate the network performance
also.
▪ Reliability: It is measured in terms of frequency of network failure, time to
recover from a failure and robustness from disasters.
▪ Security: Protecting data from unauthorized access and damage, and
implementation of security policies and procedures for recovery from
breaches and data losses.
• Physical Structures:
o Network Connections: Communication can only take place if the devices are
simultaneously connected to the same communication-path or link or connection.
o Link: A link can be dedicated link (Point to Point) or shared among devices
(multipoint).
• Mesh: Every device has a dedicated point to point link to every other device.
o Advantage: Robustness of network from failure of any link.
o Disadvantage: The bulk of cabling involved.
• Star: All devices are connected to a central device. Unlike mesh, there is no direct traffic
between any two devices but through the central device such as hub.
o Advantage: Requires only one I/O port in each device as compared to mesh.
o Disadvantage: If the central device fails, the whole network fails.
o
• Bus: A multipoint topology in which one long cable is used a network backbone.
o Advantage: Ease of installation. Requires less cabling than mesh and star.
o Disadvantage: Difficult to extend, signal drops along the length of cable results in
limited number of connections, breaking of backbone cable isolates the network
segments and introduces noise.
• Ring: The devices are connected in the form of ring. Each device acts as repeater.
o Advantages: Easy to expand and alter the network.
o Disadvantage: Failure of a single device can disable the entire network, transmitting
device needs to retain the token signal to perform transmission which slows down
the data rate.
• Local Area Network (LAN): It is a privately owned network and has a scope of an office,
building or a campus. A LAN can even extend throughout a company.
o Each host in a LAN has a unique identifier or address.
o The communication packets between any two hosts in a LAN contain the source
and destination hosts’ addresses.
o Key features:
▪ Media type: wired/wireless, twisted pair/cable/fiber, radio, infrared
▪ Topologies: Bus, Star, Mesh, Ring, Tree
▪ Bit rate: from 1Mbps to 1Gbps
▪ Unicast, Broadcast, Multicast
o Typical LANs:
▪ Ethernet (CSMA/CD): Carrier Sense with Multiple Access with Collision
Detection (retransmission after collision detection)
▪ Local Talk (CSMA/CA): CSMA with Collision Avoidance (reserve the
media before transmission)
▪ Wireless LAN: IEEE 802.11, Range: < 100 m, Speed: 2Mbps
▪ Token Ring: A token travels around the ring, it must be retained by the
sender computer to send a single packet, 4,6 or 100 Mbps
▪ FDDI: Token ring with fiber optic cable, 100 Mbps
▪ ATM: Star based, uses switch, multiple devices can communicate
simultaneously, 25, 45, 155, 600+ Mbps
• Wide Area Network (WAN): A network that spans large geographical area such as town,
cities, states or even countries. Usually interconnects multiple LANs.
o Unlike LAN which is owned by the user organization, a WAN is normally created
and run by communication companies. It is leased to the user organizations.
o Types: Point to Point (P2P), Switched
▪ P2P WAN: Connecting two devices through wired or wireless media eg;
connecting two LANs to form a private internet or internetwork of a
company.
▪ Switched WAN: A network with more than two ends. It is a combination
of several P2P WANs connected by switches.
• Metropolitan Area Network (MAN): It is a computer network covering a large
geographical area bigger than LAN and smaller than WAN.
o Diameter: 5 to 50 km, several buildings or a whole city
o MAN is not owned by a single organization generally just like WAN. The MAN
equipment are usually owned by a service provider.
o MAN usually provides high speed connectivity to allow sharing regional resources.
• A WAN is a switched network in which a switch connects two links together to forward
data from one network to the other.
• Two common types of switched networks are:
o Circuit-Switched Network: A dedicated physical connection (circuit) is established,
maintained and terminated through a carrier network for each communication
session.
▪ Used extensively by telephone companies. Only useful when all the circuits
are being utilized simultaneously; otherwise the network is being
underutilized.
o Packet-Switched Network: It is a WAN switching method in which a single link is
shared among multiple network devices.
▪ Statistical multiplexing is used to enable devices to share the packet-
switching circuits.
Module No – 015: The Internet History and Accessing the Internet:
• The identifier used in Network layer of TCP/IP suit is the address of the internet
connection of receiver and sender devices.
• IPv4 is a 32 bit universally unique address while IPv6 is the 128 bit universally unique
address.
o Total IPv4 addresses = 232
o Total IPv6 addresses = 2128
• The address is in fact of the connection and may change when the device is moved to
another network.
• A device can have two IP addresses if it has two connections with the internet.
• IP address is usually represented by dotted decimal numbers. For example: IP v4 address:
[Link]
• The IP addresses are allocated by the Internet Corporation for Assigned Names and
Numbers (ICANN) to ISPs and large organizations.
• Smaller organizations can get IP addresses from ISPs.
• The IP address consists of a prefix part (the Network ID) and postfix part (the Host ID
or the Subnet).
• Classification of IPv4 addresses:
o Class A: 8 bits for Network ID
▪ Total networks 27
▪ Network id starts with ‘0’ binary
▪ First byte: 0 to 127
o Class B: 16 bits for Network ID
▪ Total networks 214
▪ Network id starts with ‘10’ binary
▪ First byte: 128 to 191
o Class C: 24 bits for Network ID
▪ Total networks 221
▪ Network id starts with ‘110’ binary
▪ First byte: 192 to 223
o Class D: Used for multicasting
▪ No prefix or Network ID
▪ First byte: 224 to 239
o Class E: Reserved for future use
▪ First byte: 240 to 255
• Address Masking:
o Classful addressing lead to depletion of IP addresses and/or unused addresses.
o Solution:
▪ Classless addresses with variable sized prefix according to the needs of
organizations
▪ A notation representing the length of prefix is added at the end of a
classless address with a slash ‘/’ to indicate the addresses in a classless
address block.
• Wired LAN:
o Medium: Wires
o Broadcasting and multicasting possible when required
o Physical connection to network
o Hosts are connected through link layer switch
o Connection to other networks through router
• Wireless LAN
o Medium: Air
o All devices are broadcasting
o No physical connection to network
o No link layer switch exists
o Connected to other networks through access point (a device that connects a
wireless and wired network)
• IEEE 802.11
o It is a wireless LAN standard by IEEE that covers physical and data-link layers
o Synonyms: WiFi, Wireless LAN
o Basic architecture consists of an access point (AP) and capable devices connected
to Access Point (AP
o In the absence of AP, the wireless devices connect to form adhoc network
o Multiple overlapping APs are used to cover a larger area
o A device is connected to only one of the nearest APs
o CSMA/CA is used. The sender sends a Request To Send (RTS) packet, the receiver
sends Clear To Send (CTS) packet, the sender sends data after receiving CTS, the
receiver sends acknowledgement, the other senders can send now.
o If no CTS is received, the sender marks it as a collision
o 802.11 a, b, g, n
o 802.11a: 50 feet, 22 Mbps
o 802.11b: 100 feet, 11 Mbps
o 802.11g: 100 feet, 54 Mbps
o 802.11n: 50 feet, 700 Mbps (to be implemented)
• In a physical network, multiple LANs and WANs are joined together by the routers.
• Hence there can be more than one route between two hosts.
• Routing is a service of Network layer to find the best route.
• Routing is performed by applying routing protocols and using the decision tables called
routing tables in each router.
• Forwarding is the action performed by a router on the basis of routing protocol and routing
table according to the destination address of each packet received at any interface.
• At network layer, each message from higher layer is broken down into packets.
• A router performs packet switching.
• Types of routing:
o Unicast routing: A router forwards the packet to only one of the attached networks.
o Multicast routing: A packet is forwarded to multiple attached networks.
• Routing a packet from a source host to destination host can also be defined as routing a
packet from a source router (the default router of the source host) to a destination router
(the router connected to the destination network) through the intermediate routers using
routing algorithms.
• Types of routing:
o Connectionless routing: All packets of the same message are treated independently and
may or may not follow the same route.
o Connection oriented routing: All the packets of same message are labeled and routed
through a virtual circuit or a fixed route.
• An internet can be considered as a graph with each network as an edge and each router as
a node.
• In a weighted graph, each edge has a weight or cost.
• Least cost routing can be performed. Example algorithms: Distance-Vector routing, Link-
State routing
Lesson No. 07
ADVANCED TOPICS OF COMPUTER NETWORKS
Module No – 026: Broadband Networks & Internet:
• All clouds are inherently dependent upon internetworking or Internet for ubiquitously
remote provisioning of IT resources.
• The cloud providers and consumers connect to Internet through ISPs.
• The largest backbone networks of the Internet are strategically interconnected by core
routers.
• The core-routers connect the international networks.
• The Internet has become a dynamic and complex aggregate of ISPs.
• There is a hierarchical topology for worldwide interconnectivity composed of tiers.
• There are three tiers of worldwide connectivity:
o Tier 1 consists of large-scale international connectivity providers.
o Tier 2 consists of large regional ISPs connected to tier 1.
o Tier 3 consists of local ISP providers connected to tier 2.
• The cloud providers and users connect directly to tier 3 providers.
• Scalable computing may refer to the dynamic resizing of the available computing resources
(processing, memory, bandwidth, storage etc.) with demand.
• The growth of users and user demands for scalable computing over internet has been
accompanied with matching growth in network, computing and resource management
technologies.
• The computing platforms have evolved as follows
o Mainframes (1950-70)
o Minicomputers (1960-1980)
o Personal computers (1970-1990)
o Portable computers (1980-2000)
• Since 1990, the High Performance Computing (HPC) and High Throughput Computing
(HTC) have been relying upon clusters, grids and the Internet clouds.
• The speed for HPC systems (supercomputers) has increased from Gflops in early 1990s
to now Pflops in 2010.
• The network bandwidth has been doubling each year in the recent past (Gilder’s law).
• Processor speed has been doubling every 18 months (Moore’s law).
• Means that there has been a steady growth in these technologies.
• Fine grain (instruction level) parallelism and coarse grain (job level) parallelism are
available.
• Ubiquitous computing is what refers to computing at any place and time using pervasive
devices and wired or wireless communications.
• Utility computing works upon a business model in which the customers pay for
computational resources from a provider.
• Cloud computing provides ubiquitous utility computing.
• The processor speed and network bandwidth have shown a remarkable growth in last few
decades.
• The processor clock rate has risen from 10 MHz in 1970s to over 4GHz in 2010s.
• The network band has increased from 10 Mbps to over 100,000 Mbps
• The excessive heat generation from single processor core with high frequency has limited
the maximum speed unless the chip technology matured.
• This has lead to the multi-core architecture of CPUs with dual, quad, six or more cores.
• The graphical processing unit (GPU) development has adopted a many-core architecture
with hundreds to thousands of cores.
• Modern architecture of CPUs and GPUs have enhanced the instruction level parallelism
(ILP) and the volume of millions of instructions per second (MIPS).
• Sun’s Niagara CPU can provide 64 count for ILP.
• Intel’s Core i7 990x can provide 159,000 MIPS execution rate
• The CPUs and GPUs are multithreaded, which means that each core can execute multiple
processes or threads concurrently.
• A GPU unit has far more (but slower) cores than a multi-core CPU
• The DRAM memory chip capacity has increased from 16 KB in 1976 to 64 GB in 2011.
• The hard disk capacity has increased from 260 MB in 1981 to 3TB a few years ago.
• The flash memory and solid-state drives are rapidly evolving.
• Disk arrays are being utilized to enhance the storage.
• Servers can be connected to network storage such as disk arrays through storage area
network (SAN)
• A disk array can be connected to client hosts through network attached storage (NAS)
• The high bandwidth networks in WAN scope can connect the host computers to network
storage.
• A single host can be shared among multiple instances of operating systems through
virtualization technology. More on this latter.
• A VPN extends a private network over public network and enables the users to
communicate as if their devices are directly connected to the private network.
• A VPN creates a secured and encrypted network over a less secured network such as the
Internet.
• Normally a VPN is provided and managed by a service provider.
• VPN allows the corporate employees to securely access the applications hosted over
enterprise LAN.
• VPN is based upon IP tunneling.
• IP tunneling, or port forwarding is the transmission of private network packets over a
public network (Internet) as the payload of public network packets such that the routing
devices do not come to know about this.
• There are many protocols for VPN establishment and encryption: IP Security (IPSec),
Secure Socket Layer(SSL), Point-To-Point Tunneling Protocol (PPTP), Multiprotocol
Label Switching (MPLS) etc.
• VPN although provide secured connectivity to extend a private network but the
implementation may have performance issues.
• VPN is implementable over Layer 1-3.
• Types of VPN:
o Remote-access VPN: A VPN client on user’s device connected to VPN gateway
of the enterprise.
o Site-to-site VPN: Establishes a VPN between two networks over the Internet by
using VPN gateway.
• VPN technology provides access to cloud resources. The VPN gateway exists in the cloud
with a secure link provided by the cloud provider.
Module No – 032: Networking Structure of Cloud Hosting Data center:
• We know that the virtualization layer transforms the physical hardware into virtual hardware.
There are three classes of VM architectures.
o Hypervisor Architecture:
▪ It is the hardware level virtualization. Also called the bare-metal
virtualization
▪ The hypervisor sits between the hardware and the VMs and manages the
VMs.
▪ Example: Xen, VMware
o Full-virtualization Architecture:
▪ The guest operating system (OS) or the VM’s OS does not know that it is
installed on a VM.
▪ The Virtualization layer manages the hardware acceleration. For example
VMware
▪ The virtualization layer can be installed on hardware or on host’s OS.
▪ Some of the instructions of a gust VM are directly run on hardware to
enhance the performance.
o Para-virtualization Architecture:
▪ The guest OS is modified to comply with virtualization layer. All calls for
hardware acceleration are handled by virtualization layer.
▪ For example: KVM
o Generic:
o Monolithic:
o Microkernel:
o Full Virtualization:
o Para Virtualization:
• To support virtualization, processors such as x86 architecture use a special mode and
instructions known as hardware-assisted virtualization.
• In this way, the hypervisor is able to trap the sensitive instructions of the guest OS and its
applications.
• The modern processors allow multiple processes to run simultaneously. Any process can
execute a critical instruction to crash the whole system.
• Therefore, the critical instructions are executed in privileged or supervisor mode of the
processor. The OS controls this mode on behalf of the processes being executed.
• The second type of instructions are non-privileged or non-critical instructions which are
run in user-mode of the processor.
• CPU Virtualization: A CPU is virtualizable if it is able to run the privileged and un-
privileged instructions of a VM in user mode and the hypervisor running in supervisor
mode.
• Memory Virtualization: Traditionally, the OS performs the mapping of virtual memory to
machine memory by using page tables.
• The modern x86 CPUs include the memory management unit (MMU) and translation lookaside
buffer (TLB) to optimize virtual memory performance.
• However, in virtualization environment, the memory virtualization involves the sharing
and dynamic allocation of physical memory of the system to the physical memory of the
VMs.
• The guest OS performs the virtual to physical memory mapping of the VM, while the
hypervisor performs mapping of physical memory to machine memory.
• I/O Virtualization:
o It is done in either of the three ways:
▪ Full device emulation: The device is emulated in software located in
hypervisor. The hypervisor interacts with the real device. The VM interacts
with the virtual device.
▪ Para-virtualization based I/O: The guest OS interacts with the device
through its frontend driver. The frontend driver interacts with a backend
driver of the device. The backend driver interacts with the device.
▪ Direct I/O virtualization: This type of I/O virtualization allows the VMs
to directly access the device.
Module No – 036: Virtual Clusters:
• A data center is a facility with networked computers and is used by businesses and other
organizations to process, store and share large amounts of data.
• Companies like Google, Yahoo, Amazon, Microsoft, IBM, HP, Apple etc. have invested
billions of dollars for constructing the data centers.
• Data center automation refers to the dynamic provisioning of hardware and software
resources to millions of users simultaneously.
• Data centers can host Clouds.
• Data center automation is triggered by the growth of virtualization products.
• The data center owner has three major considerations:
o Assuring Performance and QoS
o Increase resource utilization
o Saving costs
• Enhanced resource allocation (to jobs and/or VMs) may be performed in data centers to
assure performance and QoS.
• The over allocation of computing resources may result in decrease in average utilization of
these resources.
• This also leads to increased costs due to power consumption.
• Example: A VM hosted on a server with 1.5 GHz *4 cores and 16 GB of RAM is allocated
1.5GHz * 2 vCPUS, 4 GB vRAM (half of the processing and 1/4th RAM).
• Suppose if there are two such VMs. But the overall average workload of the hosted VMs
keeps the physical utilization to less than 50%. This is a resource wastage as 50% of the
resources remain idle.
• Server consolidation is a technique by which more VMs are aggregated on a single server (by
migrating jobs/VMs to it) while assuring performance and QoS.
o This increases the resource utilization across data center.
o More servers are available to take more workload. . Otherwise, the idle servers can
be shut down to save power.
• Virtualization technology also helps in setting of virtual storage (over VMs) to offer virtual
disks to other VMs.
• Virtualization can synchronize with cloud management systems to dynamically provision
cloud services and billing systems.
• Hence, virtualization is essential for Cloud computing.
• Multiple virtual Network Interface Cards (vNIC) are linked to physical NIC or pNIC
through a virtual Switch (vSwitch) inside a hypervisor.
VM 1 VM 2 VM 3
vSwitch
pNIC
Network Virtualization
Lesson No. 09
ESSENTIAL CHARATERISTICS OF CLOUD COMPUTING
Module No – 041:
• On-demand self-service: The user can automatically be allocated the computing resources
without any manual operations (except the initial signing up process). The cloud
management software handles the resource management and provisioning.
• Broad Network Access: The cloud resources can be accessed through network through
broad range of wired and wireless devices. Various connectivity technologies are available.
• Resource pooling: Resources (Computing, memory, storage, network) are available in
volumes and therefore can be pooled. The resources can be physical or virtual. Multiple
users can simultaneously share these resources through dynamic allocation and
reallocation.
• Rapid elasticity: The cloud resources are virtually unlimited. So much so, the provisioning
of these resources can shrink and expand elastically according to demand.
• Measured Service: The resource usage is charged by the provider from users, according to
usage.
Module No – 042: Revisiting NIST Definition of Cloud Computing
• Some key terms and concepts essential for understanding Cloud Computing course:
o IT Resources
o On-premises
o Cloud Consumers
o Cloud Providers
• Cloud IT Resources: Can be physical or virtual resources (virtual resources are
implemented in software):
o Physical/Virtual machines/servers
o Physical/virtual storage
• On-premises: An IT resource which is hosted/located at the enterprise's premises.
o It is different from a Cloud resource since a Cloud resource is hosted on Cloud.
o An on-premises IT resource can be connected to a Cloud resource and/or can be
moved to a Cloud.
o However the distinction is difficult for private clouds.
• Cloud Providers: The party providing the cloud-based IT resources.
• Cloud Consumer: The user of cloud-based IT resources is called cloud consumer.