0% found this document useful (0 votes)
16 views

IoT Module 4 Cloud Computing

The document provides an overview of cloud computing, including its architecture, virtualization, service models (SaaS, PaaS, IaaS), and deployment models (private, community, public, hybrid). It discusses the advantages of virtualization for both end users and cloud service providers, as well as the importance of service-level agreements (SLAs) in defining service expectations. Additionally, it touches on cloud implementation, including cloud simulators and popular platforms like OpenStack and Amazon Web Services.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

IoT Module 4 Cloud Computing

The document provides an overview of cloud computing, including its architecture, virtualization, service models (SaaS, PaaS, IaaS), and deployment models (private, community, public, hybrid). It discusses the advantages of virtualization for both end users and cloud service providers, as well as the importance of service-level agreements (SLAs) in defining service expectations. Additionally, it touches on cloud implementation, including cloud simulators and popular platforms like OpenStack and Amazon Web Services.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Cloud Computing

ASSOCIATED IOT TECHNOLOGIES


Cloud Computing: Introduction, Virtualization, Cloud Models, Service-Level Agreement in Cloud
Computing, Cloud Implementation, Sensor-Cloud: Sensors-as-a-Service.
Textbook 1: Chapter 10– 10.1 to 10.6
Text book 1: Sudip Misra, Anandarup Mukherjee, Arijit Roy, “Introduction to IoT”, Cambridge
University Press 2021.

Introduction:
• 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 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.
• Gmail, Facebook, and Twitter are examples of cloud computing applications.
• Currently, many companies such as Amazon Web Service and Microsoft Azure provide
cloud services.
Cloud computing comprises a shared pool of computing resources, which are accessible
dynamically, universally, and on-demand basis by the users. This shared pool of resources includes
networks, storage, processor, and servers. These resources are accessible by multiple users through
a regular command-line terminal at the same or different time instants.

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 observes 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.

Advantages of virtualization
Cloud computing plays a vital role by keeping backups through virtualization. Primarily, there are
two entities in a cloud computing architecture: end users and CSP. Both end users and CSP are
benefited in several aspects through the process of virtualization. The major advantages, from the
perspective of the end user and CSP, are as follows:
Advantages for End Users
Variety:
• The process of virtualization in cloud computing enables an end user organization to use
various types of applications based on the requirements.
Availability:
• Virtualization creates a logical separation of the resources of multiple entities without any
intervention of end users.
• Consequently, the concept of virtualization makes available a considerable amount of
resources as per user requirements.
• The end users feel that there are unlimited resources present dedicatedly for him/her.
Portability:
• Portability signifies the availability of cloud computing services from anywhere in the
world, at any instant of time.
• For example, a person flying from the US to the UK still has access to their documents,
although they cannot physically access the devices on which the data is stored. This has
been made possible by platforms such as Google Drive.
Elasticity:
• Through the concept of virtualization, an end user can scale-up or scale-down resource
utilization as per requirements.
• Cloud computing is based on a pay-per-use model. The end user needs to pay the amount
based on their usage.
Advantages for CSP
Resource Utilization:
• Typically, a CSP in a cloud computing architecture acquires resources on their own or get
them from third parties.
• These resources are distributed among different users dynamically as per their
requirements.
• A segment of a particular resource provided to a user at a time instant, can be provided to
another user at a different time instant. Thus, in the cloud computing architecture,
resources can be re-utilized for multiple users.
Effective Revenue Generation:
• A CSP generates revenue from the end users based on resource utilization.
• As an example, today, a user A is utilizing storage facility from a particular CSP. The user
will release the storage after a few days when his/her requirement is complete.
• The CSP earns some revenue from user A for the utilization of the allocated storage facility.
• In the future, the CSP can provide the same storage facility to a different user, B. Again,
the CSP can generate revenue from user B for his/her storage utilization.
Types of virtualization
Based on the requirements of the users, we categorized virtualization as shown in Figure 10.3.
Hardware Virtualization:
• This type of virtualization indicates the sharing of hardware resources among multiple
users.
• For example, a single processor appears as many different processors in a cloud computing
architecture.
• Different operating systems can be installed in these processors and each of them can work
as stand-alone machines.

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.
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.
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.

Cloud Models
As per the National Institute of Standards and Technology (NIST) and Cloud Computing
Standards Roadmap Working Group, the cloud model can be divided into two parts:
(1) Service model and
(2) Deployment model as shown in Figure 10.4.
Further the service model is categorized as:
a. Software-as-a-Service (SaaS),
b. Platform-as-a-Service (PaaS), and
c. Infrastructure-as-a-Service (IaaS).
On the other hand, the deployment model is further categorized as:
a. Private cloud,
b. Community cloud,
c. Public cloud, and
d. Hybrid cloud.

Service Model
The service model is depicted in Figure 10.5.
a. Software-as-a-Service (SaaS):
This service provides access to different software applications to an end user through Internet
connectivity. For accessing the service, a user does not need to purchase and install the software
applications on his/her local desktop. The software is located in a cloud server, from where the
services are provided to multiple end users. SaaS offers scalability, by which users have the
provision to use multiple software applications as per their requirements. Additionally, a user does
not need to worry about the update of the software applications. These software are accessible
from any location.
One example of SaaS is Microsoft Office 365.

b. Platform-as-a-Service (PaaS):
PaaS provides a computing platform, by which a user can develop and run different applications.
The cloud user need not go through the burden of installing and managing the infrastructure such
as operating system, storage, and networks. However, the users can develop and manage the
applications that are running on top of it.
An example of PaaS is Google App Engine.
c. Infrastructure-as-a-Service (IaaS):
IaaS provides infrastructure such as storage, networks, and computing resources. A user uses the
infrastructure without purchasing the software and other network components. In the infrastructure
provided by a CSP, a user can use any composition of the operating system and software.
An example of IaaS is Google Compute Engine.

Deployment Model:
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).

Service-Level Agreement in Cloud Computing


• Cloud computing architecture aims to provide optimal and efficient services to the end
users and generate revenue from them as per their usage.
• Therefore, for a clear understanding between CSP and the customer about the services, an
agreement is required to be made, which is known as service-level agreement (SLA).
• An SLA provides a detailed description of the services that will be received by the
customer. Based on the SLA, a customer can be aware of each and every term and condition
of the services before availing them.
• An SLA may include multiple organizations for making the legal contract with the
customers.
Importance of SLA
An SLA is essential in cloud computing architecture for both CSP and customers. It is important
because of the following reasons:
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.
Metrics for SLA
Depending on the type of services, an SLA is constructed with different metrics. A few common
metrics that are required to be included for constructing an SLA are as follows:
1. Availability: This metric signifies the amount of time the service will be accessible for the
customer.
2. Response Time: The maximum time that will be taken for responding to a customer
request is measured by response time.
3. Portability: This metric indicates the flexibility of transferring the data to another service.
4. Problem Reporting: How to report a problem, whom and how to be contacted, is
explained in this metric.
5. Penalty: The penalty for not meeting the promises mentioned in the SLA.

Cloud Implementation
Cloud simulation:
There is a requirement for simulating the system through a cloud simulator before real
implementation. There are many cloud simulators that provide pre-deployment test services for
repeatable performance evaluation of a system. Typically, a cloud simulator provides the following
advantages to a customer
• Pre-deployment test before real implementation
• System testing at no cost
• Repeatable evaluation of the system
• Pre-detection of issues that may affect the system performance
• Flexibility to control the environment
Currently, different types of cloud simulators are available. A few cloud simulators are listed
here:
I.CloudSim
a) Description: CloudSim 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.
II. CloudAnalyst
a) Description: CloudAnalyst is based on CloudSim. This simulator provides a graphical
user interface (GUI) for simulating a cloud environment, easily. The CloudAnalyst is
used for simulating large-scale cloud applications.
b) Features:
1 The CloudAnalyst simulator is easy to use due to the presence of the GUI.
2 It allows a user to add components and provides a flexible and high level of
configuration.
3 A user can perform repeated experiments, considering different parameter values.
4 It can provide a graphical output, including a chart and table.

III. GreenCloud
a. Description: GreenCloud [2] is developed as an extension of a packetlevel network
simulator, NS2. This simulator can monitor the energy consumption of different
network components such as servers and switches.
b. Features:
1 GreenCloud is an open-source simulator with user-friendly GUI.
2 It provides the facility for monitoring the energy consumption of the network
and its various components.
3 It supports the simulations of cloud network components.
4 It enables improved power management schemes.
5 It allows a user to manage and configure devices, dynamically, in simulation.

An open-source cloud: OpenStack


• For the real implementation of cloud, there are various open-source cloud platforms
available such as OpenStack, CloudStack, and Eucalyptus.
• Here, we will discuss the OpenStack platform briefly. The OpenStack is free software,
which provides a cloud IaaS to users.
• A user can easily use this cloud with the help of a GUI-based web interface or through
the command line.
• OpenStack supports a vastly scalable cloud system, in which different pre-configured
software suites are available.
Table 10.1 Components in OpenStack

(i) OpenStack allows a user to create and deploy virtual machines.


(ii) It provides the flexibility of setting up a cloud management environment.
(iii) OpenStack supports an easy horizontal scaling: dynamic addition or removal of
instances for providing services to multiple numbers of users.
(iv) This cloud platform allows the users to access the source code and share their code
to the community.

A commercial cloud: Amazon web services (AWS)


• The popular commercial cloud infrastructures are Amazon Web Services (AWS),
Microsoft Azure, and Google App Engine.
• A user can launch and manage server instances in AWS. Typically, a web interface is used
to handle the instances.
• Additionally, AWS provides different APIs (application programming interfaces), tools,
and utilities for users.
• Like other commercial clouds, Amazon AWS follows the pay-per-use model. This cloud
infrastructure provides a virtual computing environment, where different configurations,
such as CPU, memory, storage, and networking capacity are available.
Features of AWS:
(i) It provides flexibility to scale and manage the server capacity.
(ii) AWS provides control to OS and deployment software.
(iii) It follows the pay-per-use model.
(iv) The cloud allows a user to establish connectivity between the physical network
and private virtual network
(v) The developer tools in this cloud infrastructure help a user for fast development
and deployment of the software.
(vi) AWS provides excellent management tools, which help a user to monitor and
automate different components of the cloud.
(vii) The cloud provides machine learning facilities, which are very useful for data scientists
and developers.
(viii) For extracting meaning from data, analytics play an important role. AWS also
Provides a data analytics platform.

Sensor-Cloud: Sensors-as-a-Service
• In a sensor-cloud, virtualization of sensors plays an essential role in providing services to
multiple users.
• The main aim of sensor-cloud infrastructure is to provide an opportunity for the common
mass to use Wireless Sensor Networks (WSNs) on a payment basis. Similar to cloud
computing, sensor-cloud architecture also follows the pay-per-use model.
Importance of sensor-cloud:
• The sensor-cloud infrastructure is based on the concept of cloud computing, in which a
user application is served by a set of homogeneous or heterogeneous sensor nodes.
• These sensor nodes are selected from a common pool of sensor nodes, as per the
requirement of user applications.
• Using the sensor-cloud infrastructure, a user receives data for an application from multiple
sensor nodes without owning them.
• Unlike sensor-cloud, if a user wants to use traditional WSN for a certain application, he/she
has to go through different pre-deployment and post-deployment hurdles. Figures 10.6
depicts the usage of sensor nodes using traditional WSN and sensor cloud infrastructure
Figure 10.6 Traditional WSN versus sensor-cloud

Figure 10.6 Traditional WSN versus sensor-cloud

Architecture of a sensor-cloud platform


In sensor-cloud architecture, the sensor owners play an important role along with the service
provider and end users. However, a service provider in sensor-cloud architecture is known as a
sensor-cloud service provider (SCSP). The detailed architecture of a sensor-cloud is shown in
Figure 10.7.

Actors in sensor-cloud architecture:


Typically, in a sensor-cloud architecture, three actors are present. We briefly describe the role of
each actor.
(i) End User:
This actor is also known as a customer of the sensor-cloud services. An end user registers
him/herself with the infrastructure through a Web portal and chooses the template of the
services that are available in the sensor-cloud architecture. Finally, through the Web portal,
the end user receives the services as shown in Figure 10.7. Based on the type and usage
duration of service, the end user pays the charges to the SCSP.
(ii) Sensor Owner:
The deployment of the sensors is essential in order to provide services to the end users. These
sensors in a sensor cloud architecture are owned and deployed by the sensor owners, as
shown 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.
(iii) Sensor-Cloud Service Provider (SCSP):
An SCSP is responsible for managing the entire sensor-cloud. 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. 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.

Sensor-Cloud Architecture from Different Viewpoints:


We explore the sensor-cloud architecture from two viewpoints:
(i) User organizational view and
(ii) Real architectural view.
Different views of sensor-cloud architecture are shown in Figure 10.8.
(i) User Organizational View:
This view of sensor-cloud architecture is simple. In a sensor-cloud, end users interact with
a Web interface for selecting templates of the services. Thereafter, the services are received
by the end users through the Web interface. In this architecture, an end user is unaware of
the complex processes that are running at the back end.
(ii) Real Architectural View:
The complex processing of sensor-cloud architecture is visualized through this view. The
processes include sensor allocation, data extraction from the sensors, virtualization of
sensor nodes, maintenance of the infrastructure, data center management, data caching,
and others. For each process, there is a specific algorithm or scheme.

You might also like