M4 - Cloud Computing
M4 - Cloud Computing
Chapter 10
Cloud Computing
Learning Outcomes
After reading this chapter, the reader will be able to:
• Understand the concept of cloud computing and its features
• Understand virtualization, different cloud models, and service-level agreements
(SLAs)
• Identify the salient features of various cloud computing models
• Understand the concept of sensor-clouds
10.1 Introduction
Sensor nodes are the key components of Internet of Things (IoT). These nodes are
resource-constrained in terms of storage, processing, and energy. Moreover, in IoT,
the devices are connected and communicate with one another by sharing the sensed
and processed data. Handling the enormous data generated by this large number of
heterogeneous devices is a non-trivial task. Consequently, cloud computing becomes
an essential building block of the IoT architecture. This chapter aims at providing
an extensive overview of cloud computing. Additionally, Check yourself will help the
learner to learn different concepts are related to cloud computing.
Cloud computing is more than traditional network computing. Unlike network
computing, cloud computing comprises a pool of multiple resources such as servers,
storage, and network from single/multiple organizations. These resources are allocated
to the end users as per requirement, on a payment basis. In cloud computing
architecture, an end user can request for customized resources such as storage space,
RAM, operating systems, and other software to a cloud service provider (CSP) as shown
i i
i i
i i
in Figure 10.1. For example, a user can request for a Linux operating system for
running an application from a CSP; another end user can request for Windows 10
operating system from the same CSP for executing some application. The cloud
services are accessible from anywhere and at any time by an authorized user through
Internet connectivity.
User
Resource
pool User A
User B
User C
(b) Cloud computing
Points to ponder
• Currently, many companies such as Amazon Web Service and Microsoft Azure
provide cloud services.
i i
i i
i i
10.2 Virtualization
The key concept of cloud computing is virtualization. The technique of sharing a
single resource among multiple end user organizations or end users is known as
virtualization. In the virtualization process, a physical resource is logically distributed
among multiple users. However, a user perceives that the resource is unlimited and
is dedicatedly provided to him/her. Figure 10.2(a) represents a traditional desktop,
where an application (App) is running on top of an OS, and resources are utilized
only for that particular application. On the other hand, multiple resources can be used
by different end users through virtualization software, as shown in Figure 10.2(b).
Virtualization software separates the resources logically so that there is no conflict
among the users during resource utilization.
Resource Resource
i i
i i
i i
i i
i i
i i
(d) Elasticity: Through the concept of virtualization, an end user can scale-up
or scale-down resource utilization as per requirements. We have already
explained that cloud computing is based on a pay-per-use model. The end
user needs to pay the amount based on their usage. For example, Jack
rents two VMs in a cloud computing infrastructure from a CSP. VM1 has
the Ubuntu operating system (OS), on which Jack is simulating a network
scenario using Network Simulator-2 (NS2). VM2 has Windows 10 OS, on
which he is running a MATLAB simulation. However, after a few days,
Jack feels that his VM2 has served its purpose and is no longer required.
Consequently, he releases VM2 and, after that, he is only billed for VM1.
Thus, Jack can scale-up or scale-down his resources in cloud computing,
which employs the concept of virtualization.
Check yourself
i i
i i
i i
Virtualization
Different operating systems can be installed in these processors and each of them
can work as stand-alone machines.
(ii) Storage Virtualization: In storage virtualization, the storage space from different
entities are accumulated virtually, and seem like a single storage location.
Through storage virtualization, a user’s documents or files exist in different
locations in a distributed fashion. However, the users are under the impression
that they have a single dedicated storage space provided to them.
(iii) Application Virtualization: A single application is stored at the cloud end.
However, as per requirement, a user can use the application in his/her local
computer without ever actually installing the application. Similar to storage
virtualization, in application virtualization, the users get the impression that
applications are stored and executed in their local computer.
(iv) Desktop Virtualization: This type of virtualization allows a user to access and
utilize the services of a desktop that resides at the cloud. The users can use the
desktop from their local desktop.
Check yourself
i i
i i
i i
Software-as-a-service
Infrastructure-as-a-service
Private cloud
Community cloud
Deployment model
Public cloud
Hybrid cloud
i i
i i
i i
User 2 User 2
App 2
App 1 App 3
User 1 User 3 User 3
User 1
Software B
Software A
Software D
Software C Platform
User 2
User 1 User 3
Database Networks
(c) IaaS
(a) Private Cloud: This type of cloud is owned explicitly by an end user
organization. The internal resources of the organization maintain the
private cloud.
(b) Community Cloud: This cloud forms with the collaboration of a set of
organizations for a specific community. For a community cloud, each
organization has some shared interests.
(c) Public Cloud: The public cloud is owned by a third party organization,
which provides services to the common public. The service of this cloud is
available for any user, on a payment basis.
(d) Hybrid Cloud: This type of cloud comprises two or more clouds (private,
public, or community).
i i
i i
i i
• Customer Point of View: Each CSP has its SLA, which contains a detailed
description of the services. If a customer wants to use a cloud service, he/she can
compare the SLAs of different organizations. Therefore, a customer can choose a
preferred CSP based on the SLAs.
• CSP Point of View: In many cases, certain performance issues may occur for a
particular service, because of which a CSP may not be able to provide the services
efficiently. Thus, in such a situation, a CSP can explicitly mention in the SLA that
they are not responsible for inefficient service.
(i) Availability: This metric signifies the amount of time the service will be
accessible for the customer.
(ii) Response Time: The maximum time that will be taken for responding to a
customer request is measured by response time.
(iii) Portability: This metric indicates the flexibility of transferring the data to another
service.
(iv) Problem Reporting: How to report a problem, whom and how to be contacted,
is explained in this metric.
(v) Penalty: The penalty for not meeting the promises mentioned in the SLA.
i i
i i
i i
Currently, different types of cloud simulators are available. A few cloud simulators
are listed here:
(i) CloudSim
(a) Description: CloudSim [3] is a popular cloud simulator that was developed
at the University of Melbourne. This simulator is written in a Java-based
environment. In CloudSim, a user is allowed to add or remove resources
dynamically during the simulation and evaluate the performance of the
scenario.
(b) Features: CloudSim has different features, which are listed as follows:
(1) The CloudSim simulator provides various cloud computing data
centers along with different data center network topologies in a
simulation environment.
(2) Using CloudSim, virtualization of server hosts can be done in a
simulation.
(3) A user is able to allocate virtual machines (VMs) dynamically.
(4) It allows users to define their own policies for the allocation of host
resources to VMs.
(5) It provides flexibility to add or remove simulation components
dynamically.
(6) A user can stop and resume the simulation at any instant of time.
i i
i i
i i
(ii) CloudAnalyst
(iii) GreenCloud
i i
i i
i i
Component Function
Nova Compute
Neutron Networking
Cinder Block storage
Keystone Identity
Glance Image
Swift Object storage
Horizon Dashboard
Trove Database
Sahara Elasticmap reduce
Manila Shared file system
Designate DNS
Searchlight Search
Barbican Key manager
Features of AWS
i i
i i
i i
Check yourself
i i
i i
i i
Check yourself
i i
i i
i i
Used by
multiple users
Single user
application
Aggregated data
Deployed WSN
by single user
Used by
multiple users
Multiple user
applications
Sensor
virtualization
Aggregated data
Deployed sensor
nodes by different
scnsor-owners
i i
i i
i i
Cloud
Web interface
SCSP
Sensor
owners
End-users
i i
i i
i i
cloud architecture are owned and deployed by the sensor owners, as depicted
in Figure 10.7. A particular sensor owner can own multiple homogeneous or
heterogeneous sensor nodes. Based on the requirements of the users, these
sensor nodes are virtualized and assigned to serving multiple applications at
the same time. On the other hand, a sensor owner receives rent depending upon
the duration and usage of his/her sensor node(s).
(iii) Sensor-Cloud Service Provider (SCSP): An SCSP is responsible for managing
the entire sensor-cloud infrastructure (including management of sensor owners
and end users handling, resource handling, database management, cloud
handling etc.), centrally. The SCSP receives rent from end users with the help of
a pre-defined pricing model. The pricing scheme may include the infrastructure
cost, sensor owners’ rent, and the revenue of the SCSP. Typically, different
algorithms are used for managing the entire infrastructure. The SCSP receives
the rent from the end users and shares a partial amount with the sensor owners.
The remaining amount is used for maintaining the infrastructure. In the process,
the SCSP earns a certain amount of revenue from the payment of the end users.
Check yourself
Pricing scheme for sensor-cloud [6, 9], Caching in sensor-cloud [11], data center
scheduling for sensor-cloud, Big sensor-cloud [8], Mobile sensor-cloud [7]
i i
i i
i i
Sensor allocation
Virtualization
Registration Data center
Login management
Template selection Data extraction
Service Maintenance
Data caching
....
Summary
This chapter covered different aspects of cloud computing which would help the
reader to visualize its requirement in IoT. Additionally, we discussed commercial
cloud platforms along with simulation tools. We explored the different aspects of
the OpenStack cloud platform, which would help a learner to implement and use it.
Finally, we concluded the chapter with a newly explored concept known as sensor-
cloud, which deals with sensors-as-a-service.
Exercises
(i) What are the advantages of cloud computing?
(ii) With an example, explain how software-as-a-service is different from platform-as-
a-service?
(iii) What is an SLA? Why it is important in cloud computing?
(iv) Differentiate between scalability and elasticity.
(v) What is an Amazon Machine Image?
(vi) What are the differences between modular and containerized data centers?
(vii) What is the relationship between IoT and cloud computing?
(viii) What is a sensor-cloud? Why do we use sensor-cloud?
(ix) Differentiate among different cloud deployment models.
i i
i i